

Magna
Sed nisl arcu euismod sit amet nisi lorem etiam dolor veroeros et feugiat.
A tactical strategy game - Ludum Dare #56
Project Type:
Game
Platform:
PC/WebGL
Team Size:
Solo
Role:
Solo Developer
Engine/Software:
Unity
Project URL:
MiniMayhem is a tactical strategy battle game, where the player faces off a computer enemy in a duel. With their very own selected roster of soldiers, they will summon these creatures from under their bed to go raid the enemy's toy chest under theirs. Overwhelming their enemy and countering their armies is key to survive this tiny battlefield with the help of your tiny soldiers.
Created for the Ludum Dare #56 game jam, and submitted as a "Jam" entry (72 hours, relaxed ratings, more competition) with the theme "Tiny Creatures", MiniMayhem was my second submission the the Ludum Dare event but the first "serious" one where I participated correctly with results I could be proud of. It was inspired by classics like Age of Wars and Clash Royale from my childhood, simplified to be possible to assemble in the time constraints of the event and to fit my style.
Hero Roster: MiniMayhem has a total of 10 different heroes to pick from, all different and useful in their own way;
Automated Enemy: without a network component to the game, the player fights against a robot summoning and defending on its own;
Deck of Soldiers: for each game, the player can chose 5 of the available heroes to assemble the team they want to come up with unique strategies;
Bases: represented by beds and toy chests, the player bases are the targets of the heroes. Once one base has been destroyed, that team loses;
Bases of both teams
ATK: 50
HP: 50
SPD: 3
RANGE: 2
ATK DELAY: 3
TARGET: Weakest enemy in range
ATK: 100
HP: 50
SPD: 3
RANGE: 1
ATK DELAY: 5
TARGET: Rush (enemy base only)
ATK: 50
HP: 100
SPD: 1
RANGE: 3
ATK DELAY: 2
TARGET: Weakest enemy in range
ATK: 25
HP: 100
SPD: 1
RANGE: 3
ATK DELAY: 1
TARGET: Closest enemy
ATK: 75
HP: 50
SPD: 0.5
RANGE: 8
ATK DELAY: 5
TARGET: Closest enemy
ATK: 5
HP: 25
SPD: 2
RANGE: 2
ATK DELAY: 0.5
TARGET: Closest enemy
ATK: 50
HP: 5
SPD: 1
RANGE: 5
ATK DELAY: 0.5
TARGET: Random enemy in range
ATK: 150
HP: 50
SPD: 3
RANGE: 2
ATK DELAY: 5
TARGET: Rush (enemy base only)
ATK: 75
HP: 20
SPD: 1
RANGE: 5
ATK DELAY: 2
TARGET: Closest enemy
ATK: 10
HP: 250
SPD: 0.5
RANGE: 2
ATK DELAY: 4
TARGET: Closest enemy
In order to begin a game of MiniMayhem, the playe must first necessarily pick out exactly 5 heroes from the list (as seen above) into their deck. They will only be able to use these 5 heroes during the game, and can only change their selection from the main menu.
Deck UI in the selection menu and during the game
Once they have a full deck, the player can enter a game. They will then need to wait until their energy bar is ful enough to spawn the unit they want, filling over time to a maximum of 10. From there, the player has to decide their strategy with which units to send, if they want a big army at once or smaller groups to exhaust the enemy, spawn specific units to counter those coming for them, or even if its worth it to spawn costly units in favor of more smaller ones.
As the game progresses, one team or the other will inevitably begin to faulter and get overwhelmed. As such, their enemy's troups will reach the toy chest at their base and start damaging it. Once the chest's life, materialized by the vertical healthbar on the side, is depleted, that team loses the game.
As the game jam format did not allow me time to implement networking, or even same-screen multiplayer, I had to develop a system to simulate an enemy player to fight. This enemy had to appear somewhat intelligen, not make predictable decisions, and feel like it could be a real player facing you.
To do so, the enemy team's "brain" operated along a few specific guidelines I implemented :
Set "reaction" delays between each action to mimic thinking and reaction times
Actions to choose from, either Spawning a random unit, marking a pause delay, or regenerating a moveset
Plan action in lists of 1 to 7 actions
Do each action in the list in order, waiting until it is possible if there isn't enough energy yet for the unit
Once the list is completed, generate a new list
Thanks to this ruleset, the enemy's moves appear randomised enough to be unpredictable, but are also dictated by the same rules as the player in terms of delays and needing energy. While this means the enemy isn't "intelligent" and doesn't in fact react to the game at all, this maintains enough of an illusion to feel plausible.
In a possible further improvement of MiniMayhem, the enemy brain could be given difficulty levels, adjusting either their energy rate, reducing delays, and, of course, adding features to let it better react to the actions of the players and the units in play.