-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME.txt
83 lines (72 loc) · 3.53 KB
/
README.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
=== MyBot4.py ===
Current strategy - "Kill Game":
1. Calculate available ships (based on upcoming enemy
fleets and closest enemy planets)
2. Group attack if my next-targets in any message from team-mate
3. Analyze enemy planets
3. Hit 'em from most closest and powerfull planets
5. Send next 3 targets in message
Messaging algo:
1. Send planet-ID on first turn
2. Send 3 next-targets
Other:
- EndTurn message changed from default 'go' to '.'
- Task bot - MyBot4.py in root dir
- How to run:
1. Runner. Cmd: 'bash runner.sh' - there few examples (last paragrapth
section should work)
2. war2. Cmd: 'python ./war2 <map number> <bot1> <bot2> [bot3, ...] [--gui]'
* Run a game using a modified version of the official game engine.
* The timeout is preset to 1000 milliseconds and the turn limit is 200.
* These can be changed in the script itself.
*
* As in war, each bot is a filename, either a jar or an executable.
* You don't need to include the "java -jar" or the "./" as the script
* will add those for you.
*
* You can include any number of bots this way. However, the map must
* have more planets than bots. Each bot numbered n will start with
* Planet ID n (so players 1, 2, 3 get planets 1, 2, 3).
*
* The map number is just a number.
*
* Add the flag --gui to record the playback from the game to playback.log
* and feed that to the Java visualizer included in your starter package.
3. Note: current turns count limit up 70 due to slow proccessing.
U can change it in was2.py on 34-th line.
Future Improvements:
General Strategy:
1. Don't lose planets
2. Make ships faster than the enemy
3. Minimize enemy's ships growth rate
4. Minimize distance when ships are sent
Messaging:
1. Add game styles (kill/spread/growth-mode like DualBot, but on group-level)
2. Smart planets obtaining:
a) Landing player1 army (or several armies if it's neutral) to
kill all ships on planet
b) Landing player2 army to occupy and protect planet from initial invasion
3. Note: we don't need voting feature (for leader) coz every bot
can analyze each other situation
IceBox:
1. Simulate next enemy turns
-----------------------------------------------------------------------------
The files in this package are part of a starter package from the Google AI
Challenge. The Google AI Challenge is an Artificial Intelligence programming
contest. You can get more information by visiting www.ai-contest.com.
The entire contents of this starter package are released under the Apache
license as is all code related to the Google AI Challenge. See
code.google.com/p/ai-contest/ for more details.
There are a bunch of tutorials on the ai-contest.com website that tell you
what to do with the contents of this starter package. For the impatient, here
is a brief summary.
* In the root directory, there are a bunch of code files. These are a simple
working contest entry that employs a basic strategy. These are meant to be
used as a starting point for you to start writing your own entry.
Alternatively, you can just package up the starter package as-is and submit
it on the website.
* The tools directory contains a game engine and visualizer. This is meant
to be used to test your bot. See the relevant tutorials on the website for
information about how to use the tools.
* The example_bots directory contains some sample bots for you to test your
own bot against.