This post is a status update, which is how I track progress specific to my game. Check out my timeline to see what I've recently accomplished.
I’m a little over a month into my game now and I feel like I finally have something that resembles what will one day be a playable game. When I left off last time, I was hoping to add some AI to the game, and I’m happy to report that the AI system wasn’t as hard as I had originally feared. In the last two weeks, I was able to add archer and mage characters to the game and also give the enemy characters some intelligence.
To see where I’m out, check out the following video.
Here you can see that the player is able to control both melee and ranged classes and the computer can also play both ranged and melee classes. I was lucky to find an article over at Gamasutra on how to design AI for turn based games, and it was exactly what I needed.
If you’re curious about how the AI system works, here is a screenshot to illustrate what happens when it is an enemy player’s turn.
Here you can see that there are numbers above each of the good guy’s heads. What happens is that at the beginning of an NPC’s turn, a calculation runs and generate scores for each opposing character. The NPC will perform the action associated with the highest score returned. In the screenshot above, the mage ran scores against the three PC characters and attacked the archer, who had the highest score.
The scoring system is pretty rudimentary right now, only caring about things like character type, distance, and weakness to attack type. The system is pretty flexible, though, and I look forward to making the NPC’s smarter as my game matures. The core mechanics of my combat system depend on the scoring framework that I developed, so it’s a big win to get this done.
Next 2 weeks
The first thing I need to focus on is polishing some of the little things that I’ve skipped over. Things like adding obstacles to the game, cleaning up code (again), fixing animations, and other housekeeping items.
After that, I need to start designing the game that I ultimately want to produce. 6 characters fighting on a battlefield is a great start, but it’s not a game anybody wants to play. I feel I have a good grasp on Corona and LUA, and I’m comfortable with the mechanics of game development, so now it’s time for me to work on a game worth playing.