So begins my first full game project. ‘Red of Paw’ I aim to be a ‘hybrid’ Tower Defence, with the usual TD tropes, ‘towers’ apparently being a major one – but also with a small, crack team of Red Pandas who you can directly control. You select the Panda to move, click where you want it to go and then once there they then act like regular ‘towers’, automatically opening fire at passing enemies.
The ability to move your Panda allows for interesting game-play options. Enemies can drop resources that you have to collect manually . Power-ups will be dropped in the same way. In one way this adds a potential ‘chore’ to the typical TD play, however it also opens up new tactics, allowing you to re-position key assets for better defensive options. If your Panda is caught by the enemy ‘out in the open’ they will also damage it.
You will begin with your team, and then with collected resources can choose to either upgrade the Pandas or invest in actual towers. Do you go for a crack super-team of Commando Pandas, or more static defences?
Upgrades. Rather than simple increases to fire-rate/damage, they will be a bit more fun. What’s more fun than a Red Panda with a machine gun? One with a machine gun that ignites the enemy on fire. Perhaps you desire to lob suicidal, rabid squirrels like grenades? You know what that panda needs? A mech suit. It’s all possible. I just have to make it. That’s easy, right? Simple. No? Fuck. I better get on with it.
Modelling and rigging for animation.
First up I wanted a working, rigged character ready to use. This will allow me to test my game with the correct animation and AI workflow, rather than getting the game logic up and running and realising I have set it up the wrong way, or at least an ineffective way. I also wanted to improve my modelling skills, so just got stuck into it.
The base-mesh was made in 3DStudio Max in a T-Pose and with no texture. I then rigged it for animation using the CAT system in 3DS. My modelling for this was leaps and bounds beyond where it sat for previous projects, and I followed a bunch of tutorials to ensure my mesh was suitable for games. Below you can see the CAT rig, with some additions for the model, of the left. CAT is a great system, readily customisable, and nicely integrated to Unity. It’s quite possible to get a ‘humanoid’ ready rig for Unity’s built in Humanoid system, however my changes to this rig appear to have messed that up. However it was no issue and Unity played nicely with it.
ZBrush for modelling and texture
I continue to enjoy ZBrush and find it’s painting tools to be great. I subdivided and painted in some detail, before polypainting my texture. It was during this process I discovered that I was missing out the best UV method, however my previous flawed workflow I used with Project 2 worked fine with this and so I stuck with it. UV Master once more worked wonders for the unwrap. For the next models I intend to follow a more industry-standard workflow. Currently I am missing out on some good options for texture work and I have identified good methods for higher quality work by unwrapping in other software, using Ambient Occlusion, specular maps, dirt maps, snow maps – and tools such as Xnormal and Photoshop. However, the Red Panda worked out so well that I am happy to continue to use him. Unwrapped texture is visible below – note the nice symmetrical layout – and also the interior mouth texture to the left:
Finally I modelled a simple gun, based on an old ‘Lewis Gun’ from WW1. I liked this so much that I decided the game itself could use a WW1 era, ‘steam-punky’ style for the machinery at least. However the ZBrush process I had used was poor and I had to spend a lot of time ‘fixing’ it all after. At this stage I realised I needed to change my approach for whatever I made next.
Import to Unity3D and Mecanim
I decided early to use Mecanim for the animation. It has great motion blending and lots of flexibility – I also like it’s workflow and the way it integrates into the rest of Unity. This was actually pretty simple to use, and following a couple of tutorials I had a simple walk-cycle, idle and shooting animation setup. See below:
We start with the default Idle. When ‘Speed’ goes above ‘0.1’ then it blends to the walk animation. When the ‘Shoot’ variable returns true it then blends into the shoot animation. This is split, so the transition (Where the panda shifts weight to shoot) comes first, and then it will stay looping the shooting part until ‘Shoot’ returns false, which is called from a script.
Visible above is also the ‘highlight’ selector I added for when you ‘select’ which panda you want, which I will go into in Part 2, which will also cover Panda control, basic AI and enemy behaviour.