Welcome to a arena battle game fueled by panic and humor! Fight daunting robot bosses on your couch or online with up to 4 players. Program your hero with action cards, and play nice with your friends! With 30 seconds on the clock each round, you need to be fast and tactical! Fastical!
Hey Robot Lovers,
This is a retrospective dev log, the actual feature was implemented back in May.
I'm reworking the enemy AI system from the ground up. The previous AI system was very basic and very predictable, the new system will be more flexible, provide more gameplay variation and be more fun to play against.
Designing a system that would allow AI characters to use cards of very different types (attack cards, buff cards, movement cards, etc.), all in one system, took a lot of planning. I basically designed the whole system and outlined all interactions with existing code on paper first, before writing any code. This really paid off in the end, since I could solve problems and identify complications in short iterations, requiring much fewer changes and rewrites later on during coding.
A challenge when creating the AI system in any game is always to make it smart enough to be a challenge for the player, but dumb enough to be beatable and to not feel unfair. Limiting the information that the AI bases its decisions on, and adding an adjustable way for the AI to make mistakes and inaccurate judgments are a good start to make the AI smart but fair.
This new system will allow the AI to use a greater variety of cards, but also to use those cards in a more varied order. The AI will also use its cards in more specific situations, such as only using a healing card when a nearby ally has taken damage. Lastly, the AI will have adjustable intelligence levels, allowing level designers better control over the difficulty of each level.
The new AI will provide a bigger challenge to players, will keep players on their feet throughout repeated gameplay, and will allow game and level designers to design a more creative and more enjoyable gameplay experience.
/Jakob - Lead Programmer