Army of the Undead Postmortem
How did you hear about the competition?
I originally read it in the lounge but some things with work were in play that wouldn't allow me to participate so I forgot about it. I lurk the journals every morning as part of my startup routine and that is when I saw a bunch of entries about the theme.
What made you want to participate after the theme of “Death is Useful” was announced?
After reading the journals I was flooded with ideas and after messaging a few friends, one (MusiboxDancer) talked me into participating and said she'll learn and do the art. After that I was sold as my biggest demotivation with my games is the art. They are always fun, but the art is horrible.
Tell us about your team?
My team consisted of me, who hadn't game programmed in over 3 years and Susan who has never created a game before. I took care of the programming end of things primarily and the sound effects, Susan handled the art and I helped where I can. Susan also made sure I still ate throughout the competition, she is a great friend.
What is “Army of the Undead” about?
Army of the Undead is basically a story about a a crazy war-bent general who has died and wants to continue his reign by taking over the underworld by amassing an undead army. Unfortunately the actual story boards never made it into the game.
What are the core mechanics of the game?
Under the hood there are several core mechanics at work (or attempting to work in the case of FOV - more later on that). The most useful for the player is the disappearing. This mode allows you to travel around the world undetected and allows you to initially attack. Furthermore, the ghost can use his fading abilities to pull enemies apart. This mechanic was working well but we broke it when we hacked the FOV fix. Other than that, the player needs to plan the levels moves, plan what each ghost is going to do, which ghosts he wants to take to the next level with him
What went well during development?
- Having to not worry about the art because Susan was learning and handling it was phenomenal, it did great things for my spirit.
- Programming wise, it was nice when I started using my XNA game engine again, that I hadn't touched in 3 years and the fact that it was still so easy to get things running was great.
- I completely redesigned the way we manage the state in the game via a state machine, and it worked increadibly well and was a lot cleaner than my previous games.
- Other than the time constraint of the competition the most difficult thing for me was all of the Artificial Intelligence work. I have A* built into my engine which is great but this game required more. Specifically, we needed Field of View. On top of that we had a lot of weird bugs with the AI. We literally would go hours with it working properly and than boom it would all be wrong....very wrong again and we hadn't changed that logic.
- For Susan I would say her computer issue's were the most difficult thing for her. Not only was she learning how to create computer graphics, she at one point completely locked up Inkskape and lost our whole tile set, and later on (in the last day) another lock up while trying to save our Tutorial pop ups made her loose most of them as well.
- My emotions haha, it was a completely roller coaster ride. I would be riding high, happy with what we had and than boom the AI was shattered, as were my dreams. This went on for days until I basically put a hack in so that we could at least have something playable.
- Missing transitions. This is usually such a small, simple task that really gives the game a finished appeal. Unfortunately, how we manage the game state in Army of the Undead is a completely new design than I am used to and it worked fabulously until I went to throw the transitions in at the very end – which broke everything so we took them out.
- Field of View. This was something completely new for me to develop and something we fought with for days, the end game has a hack in place to prevent wall tunneling but it unfortunately also destroyed field of view. There are plenty of areas where the mob can clearly see you, but does not attack.
- Visual studio screwed up and built a release version without taking the #IF DEBUG directives into account, so the version in the competition actually has some things available to the end user that it shouldn't; such as level restarting (so much for permadeath as intended). Button mash, you'll find them. Furthermore, poorly on my part, I had a list of things to test before submitting and those things were specifically on my list, but due to the panic in the last few hours I completely forgot to test for debug code, we just tested raw functionality.
I have mixed feelings about the game. In one hand, it is easily one of the nicest looking games I've ever built thanks to Susan. In the other hand, I am disappointed because I got stuck for 4 days on the path finding logic – which still doesn't work properly. In my mind, the game is no where close to what it was going to be, had we only gotten stuck for half that time even, it would be completely different. But hey, that's what happens in competitions.
That being said, writing this game reminded me of how much I love creating games. There will always be things that come up but you have to roll with the punches and deal with them.
The project was extremely ambitious and we knew this going in. We had 2 ideas, the first one was too boring and the story didn't make sense in my mind. The second idea was what we created but we knew it was full of things that I had no idea how to create, but we took it on.
Things that didn't make the cut
In case you are interested, here are some things that didn't make the cut into the final game.
- Skill visual effects (variation of skill effects)
- Map screen
- Map progression
- Option screen
- Progression profiles
- Minigame ghost collection at the end
- Enemy directed FOV
- High score
- Player stances
- 2 wall passes, one for bottom and right sides being on a higher layer, left and top sides being on a lower layer...gives a true illusion of passing through the wall
- AI Bounding box checks between player and ghost work....but in open spaces they do not as the boxes are axis aligned and not rotatable. Need pixel collision.
- Full sprites (only death sprites made it in)
- Hover text on mobs indicating stats and skills such as the corpse explosion
- Unit squadron's
**EDIT** Preview mode keeps removing my underlines.