So, I have some ideas for a learning AI that I'd like to mess around with. And it occurred to me that a basic strategy game would be a perfect test of planning skills for an AI, both short and long term.
So I've decided to make one and then work on getting an AI that can learn to play it with a minimum of hardcoded knowledge. Ideally, nothing beyond the basic 'senses' to allow it to interact with the game. But we'll see how that goes.
In any case, I'm also using this as an opportunity to learn C#. I'm familiar with C++, C, and Perl and I did some visual basic back in the day, so I figure it'll be reasonably quick to pick up.
The main reason for this thread is to give me a place to chronicle my work and hopefully give me impetus to keep plugging away at it. I'll also happily take programming suggestions and help.
First steps are to get a basic UI in place. I'll need to have a scrollable map area as well as a way to show your units and interact with them.
For ease of programming and game design I'm going to go with a basic grid. Hex would be more flexible, but I'm going to start small.
Checklist:
- Basic interface layout
- Scrollable map
- map interaction
- Unit list
- Unit placement
- Unit movement
- Unit combat
- AI memory
- AI planning capacity
- AI game interface
- AI tests and training
More items will be added as I run across them and as I feel I need to break up existing items. But that's a start.
Units will be very simple for now. Each unit will have 100 men in it, with reduced unit counts also reducing the strength of the unit.
3 unit types: Swordsmen, Pikemen, Archers. Basically RPS, with Swordmen beating Archers but losing to Pikemen, Pikemen beating Swordsmen but losing to Archers, and so on.
Units will have 2 movement per round. Attacking takes 1 movement, so units can either attack twice, move and attack, attack and move, or move twice.
Archers will have a range of 6 spaces.
Archers will lose to pretty much anyone in hand-hand combat.
I'll update this post as things progress.