1
Feedback and Suggestions / Re: Controlling A.I
« on: February 04, 2017, 09:31:10 am »
How about programmable AI using YAML (https://en.wikipedia.org/wiki/YAML), or some sort of GUI to customize the AI behavior? Here's an example of a possible schema for programming the AI for the Hades-Artemis Mobula in YAML:
---
ai-1:
class: gunner
ammo:
- lesmok
- greased
- lochnagar
engineer-tools:
- wrench
pilot-tools:
- spyglass
shoot:
- weapon: 3
ammo:
- lesmok
- greased
repair:
- part: weapon-3
- part: middle-engine
damage: 50%
when: not-in-combat
rebuild:
- part: weapon-3
- part: middle-engine
when: not-in-combat
ai-2:
class: engineer
ammo:
- burst
engineer-tools:
- spanner
- mallet
- extinguisher
pilot-tools:
- spyglass
shoot:
- weapon: 2
ammo:
- burst
repair:
- part: weapon-2
- part: hull
damage: 50%
- part: left-engine
damage: 50%
rebuild:
- part: weapon-2
priority: 3
- part: hull
priority: 1
- part: left-engine
priority: 2
extinguish:
- part: weapon-2
- part: hull
- part: left-engine
- part: middle-engine
when: not-in-combat
ai-3:
class: engineer
ammo:
- burst
engineer-tools:
- spanner
- mallet
- extinguisher
pilot-tools:
- spyglass
shoot:
- weapon: 1
ammo:
- burst
repair:
- part: weapon-1
- part: balloon
damage: 50%
- part: right-engine
damage: 50%
rebuild:
- part: weapon-1
priority: 3
- part: balloon
priority: 1
- part: right-engine
priority: 2
extinguish:
- part: weapon-1
- part: balloon
- part: right-engine
- part: middle-engine
when: not-in-combat
Maybe have multiple AI plans bound to F5-F8: standard positions, full repairs, short-range combat, etc. And all of a sudden, AI works on the Mobula.
I'm aware that this has problems like when someone joins in the middle of the match and replaces an AI but I'm sure it can be refined. Surely this idea will never be fully implemented but it's still fun to think about how much humans or rather, newbies are worth if AI are a little smarter. At the very least, the ability to lock the AI to certain parts of the ship would be nice.
---
ai-1:
class: gunner
ammo:
- lesmok
- greased
- lochnagar
engineer-tools:
- wrench
pilot-tools:
- spyglass
shoot:
- weapon: 3
ammo:
- lesmok
- greased
repair:
- part: weapon-3
- part: middle-engine
damage: 50%
when: not-in-combat
rebuild:
- part: weapon-3
- part: middle-engine
when: not-in-combat
ai-2:
class: engineer
ammo:
- burst
engineer-tools:
- spanner
- mallet
- extinguisher
pilot-tools:
- spyglass
shoot:
- weapon: 2
ammo:
- burst
repair:
- part: weapon-2
- part: hull
damage: 50%
- part: left-engine
damage: 50%
rebuild:
- part: weapon-2
priority: 3
- part: hull
priority: 1
- part: left-engine
priority: 2
extinguish:
- part: weapon-2
- part: hull
- part: left-engine
- part: middle-engine
when: not-in-combat
ai-3:
class: engineer
ammo:
- burst
engineer-tools:
- spanner
- mallet
- extinguisher
pilot-tools:
- spyglass
shoot:
- weapon: 1
ammo:
- burst
repair:
- part: weapon-1
- part: balloon
damage: 50%
- part: right-engine
damage: 50%
rebuild:
- part: weapon-1
priority: 3
- part: balloon
priority: 1
- part: right-engine
priority: 2
extinguish:
- part: weapon-1
- part: balloon
- part: right-engine
- part: middle-engine
when: not-in-combat
Maybe have multiple AI plans bound to F5-F8: standard positions, full repairs, short-range combat, etc. And all of a sudden, AI works on the Mobula.
I'm aware that this has problems like when someone joins in the middle of the match and replaces an AI but I'm sure it can be refined. Surely this idea will never be fully implemented but it's still fun to think about how much humans or rather, newbies are worth if AI are a little smarter. At the very least, the ability to lock the AI to certain parts of the ship would be nice.