-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the ualbertabot wiki!
Differences from UAlberta bot is that no explicit rules would be hardcoded for Squad management. Instead of plain decision in the code, I want to split logic to very simple functions which could be rearranged based on priority.
Example: Medics strategy
- Step 1. Find units to heal
- Step 2. Create plan for healing
- Step 3. Execute healing plan
Example: Observer productions
- Step 1. Establish goal for observer production
- Step 2. Produce observer
Example: Hidden unit detection
- Step 1. Find observers
- Step 2. Scout hidden units
- Step 3. Protect army groups.
Example: Army building
- Step 1. Find unallocated army.
- Step 2. Find rally points for potential armies
- Step 3. Generate army units and remove battle units from the management.
The idea is that on some occasions there possibility for having step 1a which will modify priority for units healings. Or maybe exclude some units from healing.
Next step for this would be collect all such strategies and execute them based on priorities. Then implement "mood" of the bot by changing priorities. This part requires to be carefully tuned, and maybe left to learning techniques.
Such approach could enable small adjustments to strategy based on learned during the game opponents tactics. For example if we find out that opponent has invisible units, then micro-task which want to produce observer units would move up on the priority ladder. Giving that production will generate more observer army should be able detect more hidden units, and as such lose less units due to attack of hidden units.
Using such micro-task does not require to be evaluated each frame. Each micro-task could be evaluated with some periodic, thus limiting APM hopefully does not leading to significant problems.
To make micro-task work, they have to share results with other micro-tasks. Right now I think there should be some global state which represent bot world representation which could be modified by the micro-tasks. Possible that existing managers could be such global state holders of logically grouped data.