b11a686c5405adebed49bf2c3e2957a15553f353
[progcomp10.git] / src / USINGPYTHON.txt
1 USINGPYTHON.txt: A 10 step guide to writing an agent in Python.
2
3 1. Pick a name for your agent. Make sure the name is a valid python identifier. Be original. 
4
5 2. Open SampleAgents.py.  Pick a sample agent to copy-paste (so you don't have to type out the function definitions).
6
7 3. Copy the sample agent code into a new file in the "agents" directory. Make sure the file has the same name as the agent.
8
9 4. Modify the code to do your bidding.
10
11 4a. If you wish to implement your own leaning agent based on BaseAgent, rather than use the limited functionality of LearningAgent, insert the following code snippet inside your class:
12
13         def Results (self, foeName, wasAttacker, winner, attItem, defItem, bluffItem, pointDelta):
14                 BaseAgent.Results (self, foeName, wasAttacker, winner, attItem, defItem, bluffItem, pointDelta)
15                 # your own code goes here
16
17
18 5. Create an arena in which your agent can battle:
19
20    5.1. open arenas/MyArena.py
21
22    5.2. add "from agents.<youragentname> import <youragentname>"
23
24    5.3. modify the "Agents =" line to include your agent, and take out any agents you don't want to battle.
25
26 6. Watch your agent in action: ./simulate -v -a MyArena
27
28 7. Oh no, my agent dies very quickly: what's going on?
29
30    7.1 insert print statements in your python module. (Hint: prefix them with self.id so you can identify different agents)
31
32    7.2 Run "./simulate -v -n 1 -a MyArena" to start with only 1 of each agent.
33
34    7.3 Change the agents against which you're battling in MyArena.py so that you have a predictable opponent.
35
36    7.1 Edit conf.py, and set DEBUG=True. Don't forget to reset it when you're done.
37
38 8. Once your agent works to your satisfaction, try it both on short and long durations (100 and 1000 rounds: see MAX_ITERATIONS in conf.py)
39
40 9. If the rolling scoreboard has been opened on progcomp.ucc.asn.au/, submit it there! Otherwise, sit tight.
41
42 10. Watch its progress on the scoreboard and adjust your strategy accordingly.

UCC git Repository :: git.ucc.asn.au