Wednesday, November 26, 2003

Game Development Status

I've put in 28 hours of effort so far this month. I should top 40 by Sunday.

The high level AI is working now: it generates, evaluates, and ranks plans.

My next task is to stabilize the AI...the AI tends to lock the game after a turn transition. Once I work the kinks out of the turn transitions, I need to verify that new plan workups are done by the AI each turn, and that reinforcements are synced to the AI.

Once I complete those stabilization tasks, I'm back to tuning the AI and integrating the high level AI with Chris' low level AI. I still want to implement a computer assist that runs the AI code in a hotseat game -- this would be a great tool for tuning the AI.

We are still on track for a January release to the Beta group.

Friday, November 14, 2003

All work and no play makes Jack a dull boy.
All work and no play makes Jack a dull boy.
All work and no play makes Jack a dull boy.
All work and no play makes Jack a dull boy.
All work and no play makes Jack a dull boy.
All work and no play makes Jack a dull boy.
All work and no play makes Jack a dull boy.
All work and no play makes Jack a dull boy.
All work and no play makes Jack a dull boy.
hastur, hastur, hastur...
I'm awake!

Thursday, November 13, 2003

Dating stuff

Ok, I had a first date last week. Just a dinner/getting-to-know-you sort of thing with a cute girl I met online. Enjoyable. As I said, she's cute, and she's intelligent, too. I'm looking forward to see whether this leads anywhere.

Game Development Status

I'm up to 11 hours 21 minutes for the month as of tonight. I'm a little bit behind the curve, effort-wise, but it seemed a good idea for me to take a couple of nights off and get some sleep. This seems to have paid coworker/friend/officemate is out for the second day now with the flu; I have a mild cold.

I have completed the first cut on the evaluation functions at the assignment and plan levels. Tonight I implemented the code for determining which limited intel commands were in contact with one another. [Limited intel commands are objects that I use to facilitate AI processing. They correspond to actual commands (military organizations) in the game, but replace the game exec data and functions with stuff of use to the AI, such as odds ratio data, contact information, and so on.]

My next steps are

  • Write the first cut post-rank function.
  • Complete the serialization support.
  • Run some smoke tests, to include testing of the serialization code.
  • Add some debug code to show me the progress and results of the AI.

    At that point I will evaluate the processing of the high level AI for the Opening Moves scenario, and tune the AI if necessary. I think I may have to add some debug code to the main thread to mimic the AI processing in a hotseat game for tuning purposes...use the hotseat format of the game to set up a situation, then run the debug code in the main thread to see what the AI makes of it. I may propose this as a game feature: a "computer assist."

    In any event, after the evaluation and tuning I will work with Chris to interface the high level AI with the low level AI. Upon completion of that task, I will write the FEBA determination code and the map encoding and evaluate and tune the high level AI for the other scenarios.

    Bottom Line: At this time, we are still a go for release of the beta by the end of January.
  • Wednesday, November 12, 2003

    I made it out to the Texas Renaissance Festival Sunday. I visited a friend who was working there, and did a lot of Christmas shopping. Picked up some shoes to get a start on a costume for next Halloween and next year's faire. I also bought a Go board and some soup mugs for myself. Finally, I found a horse statuette as a gift for a friend:

    Horse Statuette from faire 2003

    Monday, November 03, 2003

    Game Development Status

    Completed the plan generator last week. 1024 Plans for the Opening Moves scenario. I moved away from the graph representation of the map. I will probably still use a graph of nodes and arcs as a means of finding the FEBA set of victory locations.

    I did some additional design work and came up with the following:

  • Generate Plans
  • Prune the plans and pre-rank them
  • Evaluate the plans in pre-rank order (probably in groups of X plans at a time depending on how long it takes, so that the AI thread can be interrupted by the main thread)
  • Rank the plans that were evaluated
  • Choose the highest ranking plan
  • Implement that plan

    There will be a bias against changing plans too often. Given development time, I will also add in an option to force the AI to use the historical plan for the first turn.

    I did a quick count of hours spent on the game in the last few months:

    June45 hours 1 minutes
    July27 hours 26 minutes
    August4 hours 42 minutes
    September10 hours 12 minutes
    October32 hours 1 minutes

    I should top 60 hours in November with another 20-30 hours in December. We'll see whether that is enough.

    Coming Up

    Write the pre-rank and pruning functions.
    Write the evaluation function.
    Write the post-rank function.
    Write the selection and persistence code.
    Encode the map as a graph with victory location nodes and arcs linking the nodes geographically.
    Write FEBA determination code.