Writing the AI for single-player Faerie Cloud Racers was a lot more fraught than I thought it would be. I've "finished" the single-player version of the game for right now but I suspect I'll be coming back to it.
I keep revisiting this blog post, being tempted to spend a lot of time making a strong AI. Right now, my opponent AI will essentially make random turns. It will try to snake around (go for a long distance, make a turn, go for a short distance, make a turn, go for a long distance in the opposite direction). It will also always avoid obstacles, but it will often get confused and box itself in, allowing the human player to just survive by doing itself own thing rather than using any kind of aggressive maneuvering.
This especially makes the early levels trivially easy. The difficulty comes in the later levels when the speed bumps up and obstacles are more frequent.
I could probably finish another game in the time it would take me to implement a more sophisticated game AI so I think I'll just accept the current state of the game until some later date. Making a heuristic-based AI agent would be a sick project but I've got to remind myself that the AI in the original wasn't so smart, anyways.
I'm also putting a pin in online play. While I'm set up to develop it, I don't want to get entirely burnt out on Faerie Cloud Racers. Something about the droning sameness of its soundtrack....
That raises the question of what I'm moving on to. I'm thinking Destruct-O-Match II?
Oh, I also made a Jira scrum board for this project. It's a step up from a text file containing a list of todo items. Here's my progress:
Recent work:
Meepit Juice Break
Identified a race condition causing the game to freeze on level change
Faerie Cloud Racers
Finished single player mode
Address early bugs
Current to-do list:
Faerie Cloud Racers
Address feedback and bugs
Tune game parameters
Clean game sprites (many are fuzzy / crunchy)
Improve AI
Destruct-O-Match II
Get started!