Progress Review: 3D Zombie Shooter

The Not-So-Gory Details

I’ve wrapped up the major technical features of my 3D Zombie shooter prototype. Let’s review what’s been laid down, and talk about next steps.

3D Over the Shoulder Controller

I started by creating a simple over-the-shoulder controller, with aim controlled by the mouse and walking controlled by WASD. I also scripted in the ability to “shoot” things using Unity’s Physics.Raycast.

Enemy AI

I created an Enemy AI Finite State Machine which included the ability to seamlessly blend from Idle while searching for opponents, to Chase opponents when found, and to Attack nearby opponents and back again.

Player Inverse Kinematics

I rigged a pair of Two-Bone Constraints to the Player’s arms in order to finely control how the player holds their weapon.

I also used this rig to animate reloading the weapon when empty.

Blood Spatter Effects

I created an Object Pool system to instantiate and recycle blood splatter effects.

I’ll spare you the images of blood. Here’s a pool full of it, instead.

The spatter objects are rotated to face away from the hit collider’s normal, so that the enemy can be struck from any direction and the blood spatter effect will match the surface of the object.

Next Steps

To wrap this project up, I’ll be loading all my systems into a simple sample scene with two weapon types, some ammo pickups, and an endless Zombie spawner. It won’t make for an engaging play experience, but it should serve as a tech demo for my code.

That’s pretty much it for this project. We’re cranking these things out about once every week or so at this rate. Not bad!

The next few projects will be more UI driven apps for enterprise solutions. Not exactly game development, I know, but there are some useful features of Unity that we’ll be looking at along the way, so stay tuned.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store