Exploring raycasters and possibly make a little "doom like" game based on it.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
raycaster/assets/ai.json

102 lines
2.0 KiB

{
"profile": {
"enemy_found": 0,
"enemy_dead": 1,
"health_good": 2,
"no_more_items": 3,
"no_more_enemies": 4,
"in_combat": 5,
"have_item": 6,
"have_healing": 7
},
"actions": [
{
"name": "find_enemy",
"cost": 5,
"needs": {
"in_combat": false,
"no_more_enemies": false,
"enemy_found": false
},
"effects": {
"enemy_found": true
}
},
{
"name": "kill_enemy",
"cost": 5,
"needs": {
"no_more_enemies": false,
"enemy_found": true,
"enemy_dead": false
},
"effects": {
"enemy_dead": true
}
},
{
"name": "collect_items",
"cost": 5,
"needs": {
"no_more_enemies": true,
"no_more_items": false
},
"effects": {
"no_more_items": true
}
},
{
"name": "use_healing",
"cost": 0,
"needs": {
"have_item": true,
"have_healing": true,
"health_good": false
},
"effects": {
"health_good": true
}
}
],
"states": {
"Walker::initial_state": {
"enemy_found": false,
"enemy_dead": false,
"health_good": true,
"no_more_items": false,
"no_more_enemies": false,
"in_combat": false,
"have_item": false,
"have_healing": false
},
"Walker::final_state": {
"enemy_found": true,
"enemy_dead": true,
"health_good": true,
"no_more_items": true,
"in_combat": false,
"no_more_enemies": true
},
"Enemy::initial_state": {
"enemy_found": false,
"enemy_dead": false,
"health_good": true,
"in_combat": false
},
"Enemy::final_state": {
"enemy_found": true,
"enemy_dead": true,
"health_good": true
}
},
"scripts": {
"Walker::actions":
["find_enemy",
"kill_enemy",
"collect_items",
"use_healing"],
"Enemy::actions":
["find_enemy", "kill_enemy"]
}
}