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

Concurrent AI Actions #30

Open
4 of 10 tasks
jackpoz opened this issue Jan 14, 2016 · 3 comments
Open
4 of 10 tasks

Concurrent AI Actions #30

jackpoz opened this issue Jan 14, 2016 · 3 comments

Comments

@jackpoz
Copy link
Owner

jackpoz commented Jan 14, 2016

  • AIs should have pieces activated/deactivated depending on other AI decisions, maybe with a stack of states with a pop based on flags (es explore > combat > autorez > explore, popping autorez and combat at once), or the popped AI should pop itself if there's nothing to do (chain popping).
  • Pushing an AI on the stack enables/disables scheduled actions by flag currently executing and to be scheduled.
  • Each AI could choose to allow/disallow to be pushed/popped.
  • Scheduled tasks should be cancellable and pausable&resumeable.
    • Maybe passing the scheduled action as parameter to cancel action
    • Scheduled tasks might be handled like AIs with their own state
  • The base AI in the stack is empty/idle or with a passive react state.
  • Each unit test could be a particular AI. The AI could have an Update() method or use only scheduled actions with greater intervals.
  • ScheduleAction() should return an int as action id to be used to cancel the action.
  • Most of BotGame methods should also be moved down to AutomatedGame.
  • The documentation should be updated about this too.
  • Maybe instead of a simple stack of AIs it could be better a priority based LinkedList that allows to insert AIs in the middle, for example a bot exploring areas (ExplorerAI) which is fighting an enemy (CombatAI) and that gets invited to a party (FollowPartyLeaderAI) should finish the fight then follow the leader till it is in a party, then go on exploring/fighting as soon as it leaves party and follow again the leader if it gets invited again.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@jackpoz
Copy link
Owner Author

jackpoz commented May 3, 2016

There could be different AI buckets all updated, like WhatToDoAIs and HowToDoAIs and TopPriorityAIs (i.e. combat, staying alive), with callbacks and status updates

@jackpoz
Copy link
Owner Author

jackpoz commented May 14, 2016

CombatAI and MovementAI could be properties of AutomatedGame that always exist and called by other AIs (go there, stop, passive combat, aggressive combat)

@jackpoz
Copy link
Owner Author

jackpoz commented Jun 25, 2016

WIP 9c4aeb9

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

No branches or pull requests

1 participant