Monday, May 31, 2010

Weekly report - coding 1

This week 2 days were invested in trying to find a cause for issue 97 but with little success. The rest of the time was spend working on RushAI (one of the stupid AIs), which is now more advanced than planed but had very little testing due to some blocking bugs (issue 97 and 108). When finished RushAI could be modified in a short time to become CommandoAI, GreedyAI and BunkerAI (these are the rest of stupid AIs).

This week
  • unsuccessful bug fixing
  • RushAI is now more advanced
    • but mostly untested
  • a lot of helper functions were written
    • mostly for getting information about design properties and resources
Next week
  • finish RushAI
  • test RushAI
  • reuse RushAI code to make CommandoAI, GreedyAI and BunkerAI
  • first AI battles

Monday, May 24, 2010

"Weekly" report - pre coding 2

The official coding period is starting and my reposts will be posted ever week from now on. I've also scheduled weekly meetings with my mentor.

I know my way around the client code pretty well by now. I've ran into some bugs on the server side and I hope they will get fixed soon enough. I'm currently using an older version of the server (MTSec branch) to avoid some of the bugs.

Python support was planned for next week but is already finished. The python code generator wasn't even planned but it's finished and it works better than expected. I hope other people will find it useful. I've already started programming stupid AIs so I'm at least a week ahead of schedule (hope it stays that way).

This "week":
  • generated and tested code for MTSec
    • and fixed minor errors
  • learned how to manipulate designs in code
  • added design adding functionality to helper functions
  • started work on stupid AIs
    • currently only rush AI and waiting AI
Next week:
  • finish 4 (out of 7) stupid AIs
  • study MTSec rules more closely

Thursday, May 6, 2010

"Weekly" report - pre coding 1

Since this is the first report I will list things that were done until now. Some were done before the accepted proposals were listed and some even before the proposal was written so everything is not listed in the proposal.

Since the coding period hasn't officially started I won't write reports every week but on a weekly-ish basis.

Before writing the proposal I started work on MiniSec AI code. Using TP04 libraries in daneel-ai was not a part of the proposal but I thought it would be a good thing to do to prepare daneel-ai for future rulesets and server versions.

Until now:

What was done:
  • better error handling on connection errors
  • using TP04 libraries instead of TP03 libraries
    • this will insure better compatibility with future rulesets and server versions
  • found a way to add AI code written in python
    • in a way CHR code can be used for preprocessing and support for AI code already written is not broken
  • added files for MiniSec
    • uses python for AI
    • bot behaviour is scripted (just some simple actions)
    • uses generated order code
  • helper functions for writing AI in python
    • can be used for many rulesets
  • order code generator
    • gets order information from server and generates all code needed to start writing AI code in python
    • tested on MiniSec
I also ran into a blocker bug. The client (python client and daneel-ai) freezes after you colonise a planet in MiniSec, so no AI code can be written until this is solved.

Next "week":
  • get rid of the blocker bug
  • generate code for MTSec and test it
  • use tpsai AI logic in daneel-ai for MiniSec
  • try to make AI code that beats tpsai in MiniSec