
Long time coming, but here’s Part II of my long winded post-mortem of The Last Stand: Union City.
Characters
I’ve made characters the same way since The Last Stand. To put it simply, they’re 2D puppets made of MovieClips for each part. When I was first confronted with making a bunch of zombies, it seemed like the most obvious choice. I should note thought that I’m a bit of a hack and there’s probably other more experienced devs out there screaming at their monitors right now.
It worked for me, remembering that this was an AS2 project and I didn’t have the bones system or IK at my disposal.

The benefit of building characters this way is that you can animate the “dummy” once and then have all your clothing pieces as frames within the individual piece movieclips. It also has the huge plus of being super simple to animate, provided you’re ok with a bit of frame by frame action.
Let the Combat Begin!
For the combat in The Last Stand: Union City I wanted to retain the feel and satisfaction from the previous games. The biggest difference between the previous games and this incarnation was immediately obvious, without the barrier between the zombies and the player, the player is always at risk. Even though the barrier was gone, things stayed much the same. The zombies now attacked the player directly rather than bashing at the wall, in effect the player became the new barrier. Same thing, different bucket in the end.
The combat only became a real issue when it came to blending it with the character levelling / progression. The formulas started getting a bit crazy in places as all of the following needed to be taken into account in some cases.
- Recoil (size of cursor)
- Weapon accuracy
- Precision attribute
- Luck attribute
- Weapon skill
- Stance
- Move state
- Jump state
All of those factors came into the equation of just the direction of the bullet. Past that it would calculate the damage and chance of missing with similarly complicated information. In the end I think I struck a decent balance between player skill and the numbers. My biggest fear was that I’d end up with something like Deus Ex (the original) where I felt like I was at the mercy of the numbers.
Building Union City
Grand plans. This best describes what I’d intended for the “world” of Union City. Early on I toyed with the idea of creating rooms dynamically and randomly through code, a lot of technical issues and the difficulty in making things look “right” put a stop to that. I also considered building an external editor to create the scenes with, that too ended up being more effort than it would have been worth.
In the end, I decided to create all of my environments internally within Flash. With the rooms /environments contained within MovieClips, I could quickly place and arrange scenes from a handful of props. It also allowed me to re-use props in different ways by scaling and tinting them to look like other objects.

Rooms were created from wall and floor pieces, with props such as windows, doors, containers placed over the top. That whole container was then converted to bitmap at runtime to make everything run smoother. For all of the searchable areas, doors, lights etc, I just used named movieclips. When creating the world, the engine just goes over everything in the scene, figures out what each object is and treats it accordingly.
Until next time where I’ll cover the loot side of things. Let me know in the comments if there’s anything else you guys want to hear about.