I feel like I have been making some good progress on No Future and my underlying VR ARPG sandbox lately and want to share details. One of my various efforts towards a vertical slice is building some zombies and I am at a new milestone with them. Check out this video which I captured on the Quest 2.
These are the zombies from the Synty Studios Simple Apocalypse pack that I am currently working with. They don’t interact and just wander about but it’s a start. They utilize the behavior tree and pathfinding systems I have integrated and I will reveal more about those in the near future. The simple behavior tree driving them just randomly picks points and they move to them at random speeds. The pathfinding makes them walk around obstacles. I haven’t dived into local avoidance yet so they will just move through each other for now.
Building a custom animation controller
I built a custom animation controller and script which integrates with these systems using OnAnimatorMove and events. There are three layers and a variety of parameters to control speed, modes, head position and so on. The zombies have footstep sounds driven from events and do various moans and growls depending on state. They also have some different modes like sleeping and creeping etc. They will eventually snap their heads to stare at you when they detect you and are chasing.
I have a general plan in my mind for the behavior tree. Usually they will be either idle or stumbling and sometimes eating if they find a dead survivor. If they see you via direct line of sight within a cone they will begin chasing. If they reach you they will perform attacks. They can also hear you depending on distance and what you are doing.
I plan to have the zombies sleep during the day and they will begin waking up at dusk. Of course if you disturb them that will trigger them and they will wake up during the day. If there is enough together and close enough it will cause more to wakeup. You could pretty quickly have a hoard after you in the middle of the day if you are not careful.
Working with the humanoid animation system
Since I am working by myself and have no art skills it was tricky working with the character rigs and animations on hand. The humanoid animation system (Mecanim for you older Unity folks) is really good at allowing the mixing of animations that were setup for one rig to be mapped onto another.
I ended up using the art from the Synty Studios Simple Apocalypse pack but the animations from another pack. One of the biggest issues with the animations however was lack of root motion in some of them. Another reason to work on building my art skills or maybe find a talented artist to work with me. I ended up faking the motion in the control script but it isn’t something that should be done as the movement can look out of sync with the animation and this is even easier to spot in VR.
The long term plan is to develop a custom and modular set of zombie models and animations. The current models are interesting and work well as placeholder ones but I really want something that is a little more of a Walking Dead hoard like in ZOMBOX and a fair bit scarier while still fitting the low poly cube art style.
Creating effects and next steps
So this is just a starting point with the whole zombie system. There is so much more work involved in developing them. A major component is all the visual and sound effects tied to the basic movement and combat.
Beyond the footsteps and growls I did a simple visual effect to make the eyes glow by adding an emissive texture. I also really want to try and add mouth/teeth appendages to the head that moves with the growl sounds however that would probably only come when I eventually do my own models. Having movement tied with sound queues is so important in VR.
One of my coming efforts towards a vertical slice is an initial pass at building weapons and implementing basic combat. For the zombies I plan to have physics based impacts that will do knockbacks and transition them into ragdolls. There will also be a system of effects for impact damage and probably impact/explosive based dismemberment effects. That is what will ultimately make the combat fun and interesting!
I plan to delve into the behavior tree system next so stay tuned for some more updates on the zombies!