Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steps towards a proper Dynamic Engine? #63

Open
thebgpikester opened this issue Jan 2, 2017 · 0 comments
Open

Steps towards a proper Dynamic Engine? #63

thebgpikester opened this issue Jan 2, 2017 · 0 comments

Comments

@thebgpikester
Copy link

Currently we set Task Forces, with Goals, either static goals or potentially multiple goals that AI can be routed in between depending on the situation. The question is, should we, or could we create a layer of intelligence that looks at the current goals, looks at the current available forces for tasking and intelligently tasks them outside of the hard coded system?

To work, all the system needs are Objectives and units to task. Potentially we throw away the ability to tell the units where to go, but instead allow it to make its own mind up how to approach the problem.

Typical processes:
The system knows there are 15 objectives, 3 of which are Primary objectives and 12 are secondary or intermediate. It has three groups available with more on the way. It will randomly assign one to each objective, using the distance to objective, routing through the Intermediate objectives. If it succeeds in occupation, it then begins to populate the intermediate objectives. If it loses groups/units it may choose to reinforce intelligently according to a ruleset. There may be cases where withdraw is a viable action.

PROBLEMS
We lose control of how the AI works but offset that against a cheaper and easier example.lua.
We would likely see a lot of weird behaviour and annoying behaviour.
if there are more objectives than available units and equal distances, the script may come up with a different solution each time and be inconsistent in it's tasking. Examples are: Going all the way towards an objective and then suddenly changing its mind and changing direction after a restart.

BENEFITS
For thiose that don't care they may enjoy the randomness. You could apply the script with absolutely no instructions and make no objectives. the units can still react. With one objective, its an all or nothing "pile in" scenario.
It would make for the ability to not put much in the example.lua at all or keep it simple at the cost of direct control.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant