Post Mortem: Serial Killer
Genre, Objective, and theme
For “Cereal Killer”, we chose a cereal themed tower defense game, where you aim to drown the bowls of cereal with milk before they can reach the target square at the opposite corner of the board. We were inspired by the picture of the spoon sent along with the tweet of this year’s objective, and decided a concept with cereal and milk could work quite well.
Initial Goals
At the start of Ludum Dare, we set out to implement a 2D tower defense game on a rectangular board of cells. One cell would designate the start, and one the end. Bowls of cereal would move through the course (hopefully with some sort of intelligence), and the player can place towers on cells to partially block the pack to the end, causing the bowls to change course. Turrets will be able to fire upon the bowls, killing them if they push their counter over a scaling health number.
Idealy, most of these actions would be animated, using as few freeze frame actions as possible, but this was lower priority than most of the items listed above. We would also like turrets to be upgradeable or include multiple types of turrets if possible.
Goals Met
In the end, we had a mostly functional tower defense game based on the premise of milk and cereal! Bowls of cereal spawned in waves on a timer, journeying from one side of the board to the other using A*. We were able to prevent the player from completely blocking the board using this as well, preventing the game from becoming trivially easy. We were unable to make some of our goals in the second paragraph of the initial goals section, such as animating the bowls of cereal from cell to cell, or creating meaningful upgrades to the turrets, but we were able to create a reasonable construction animation for the turrets, as well as introduce a placeholder particle effect for milk.
Asset tools
To create the assets for our game, we used primarily Photoshop CS6. To create our audio clips for the game, we used BFXR.
What took more time than expected
An item that comes to mind which contributed to some loose ends in the project was the pathing for the bowls of cereal. Because we wanted the choices of direction to revolve around north, south, east, and west cell traversals, we could not use Unity’s navigation mesh libraries, so we implemented A* on our grid of cells to determine each bowl’s next move.
Last minute breaks
Most of our game held together all the way through deployment to the web, but we did have last minute efforts to rid the code of bugs, which we were somewhat successful in doing. We didn’t quite have time to fix all of the issues with towers, and consequently the user could place as many towers as desired. This was in part due to the follow up issue, that without proper playtime testing, it’s likely putting a restriction on this arbitrarily would have almost certainly made our game unwinnable.
Improvements
We have several aspects of the game we would like to improve upon in our future work, but there are four main goals: add more towers, adjust tower lifecycle, add enemy scaling, and random map generation. As the game is, there is only a tower that shoots milk at opponents. While this presents the basics of a tower defense game, we would like to add a few more towers including concepts like area of effect towers, and movement speed adjusting towers. This will give the game more interesting solutions, and allow the player to change up their strategy to better fit the opponents. In addition to adding more, we would like to change how the tower life cycle occurs. We have not yet nailed down how we are going to improve this aspect, but these changes would require the user to replace or replenish ammunition of the towers after some period of time.
All enemies spawn at the same location, with the same health. This means that the only way we could make levels more difficult is to spawn additional enemies. This is not an ideal solution, and so we are going to work to add additional cereals with varying levels of stamina to improve the challenge of the game. In addition to making enemies stronger, we would like to change the way maps are generated. Using a randomly generated map would add an additional requirement for the user to plan their strategy against the bowls of cereal. All of these changes will come together to help make CerealKiller the game we would like it to be!
-Connor, JD, John