-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO.txt
29 lines (18 loc) · 3.35 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1 (HIGH PRIORITY). Update broadcasting system. Currently keeps track of last seen enemy location (at 500) and last seen enemy type (at 501).
Short term (LOW EFFORT): alter to keep track of the last seen location of each specific type (i.e. keep track of last seen archon/scout/soldier/...).
Long term (HIGH EFFORT): alter to do more complex things like build a map. Possible example: split the map into 10 x 10 squares, within each square keep track of what's in it, use this to improve the getBestLocation function. See http://imgur.com/QE04nKO for example from another team.
---Done: ish? Added tracking of each different type, mostly in helper method updateEnemiesandBroadcast, and changing getPriority a bit
----Still have not done the 10x10 thing
2 (MEDIUM PRIORITY) (HIGH EFFORT). Update bullet dodging system. Currently calculates a normal vector to each bullet and tries to move towards their sum. Has some issues with two bullets coming like below:
O
| |
According to google (since this is a common game problem) the "Boids algorithms" are useful for this. I haven't looked at what they are however, so they might be too expensive.
3 (LOW PRIORITY) (HIGH EFFORT). Update getBestShootingLocation to be more efficient; currently sometimes uses too many bytecodes when there's a lot of bullets (as it checks locations x bullets which can be fairly large), so cuts off when it hits 8000 to leave room for actually moving. Any other algorithm suggestions would be appreciated as I have very few good ideas.
4 (MEDIUM PRIORITY) (LOW-MEDIUM EFFORT). Update initial secondary targets more intelligently -- currently seeds initial secondary target with starting location of enemy archon. Change to something more intelligent; e.g. simple improvement would be to use closest starting location of enemy archon rather than just the first.
5 (MEDIUM-HIGH PRIORITY) (LOW-MEDIUM EFFORT). Update robot counts to consist of *alive* robots rather than *created* robots. Current version stores number of *created* units of a given type in 901-906; causes issues when gardener dies as these values are checked to determine if army needs a gardener etc. Idea: at end of turn (just before yield), each robot broadcasts its ID, and archons use their turn collating the information (as # of archons isn't used for anything and archons have double computation space).
---Done: Send death signal for gardeners/combat units when health < 8
----Could theoretically be more complicated, but seems to help as it is now
6 (MEDIUM-HIGH PRIORITY) (HIGH EFFORT). Our code for dealing with lumberjacks sucks.
7 (HIGH PRIORITY) (LOW EFFORT). Have scouts target other scouts. Currently V4 vs. V5 ends up with a bunch of scouts flying around and not shooting each other, and the game goes to tiebreaker.
8 (LOW PRIORITY) (HIGH EFFORT). Create heuristic for unit movement relative to enemy movement. Right now we have a movement protocol that goes in the order 1. dodge bullets 2. target units 3. move randomly -- we should also implement movement in response to general enemy movement.
9 (MEDIUM PRIORITY) (LOW EFFORT). Implement lumberjacks. We lose whenever there are lots of neutral trees around, so if we detect we're on one of those types of maps we should build a lumberjack relatively early on in the game and have it chop down lots of neutral trees near the archon and possibly around the rest of the board.