Look out! Zombies on the hill at 50 yards!
February and March have seen steady progress on Here Come The Dead. There is now an assault rifle option in-game that the player will have to unlock. When fired with one hand it jumps around a lot, requiring frequent aiming adjustments with your actual hand (1:1 hand controls with the Razer Hydra, don’t forget!). Holding on with your second hand steadies the rifle, making your shots more consistent. And as you can see in the above image, there is also a working scope for the rifle — again, something that will likely need to be unlocked. Being VR, you need to actually hold the scope up to your eye in order to use it.
I’ve also been mocking-up a firing range where the player may test out each of their weapons. Normally this area would be undead-free so the player can focus on weapon handling rather than staying alive. That’s what the rest of the game is for! This level will likely be completely revamped for the game itself, and includes a few surprises. I would also imagine playing it co-op could be a lot of fun, just hanging out with your buddy and trying out various things, talking over positional voice chat…
Along with these changes is a move over to a full data model for the game. This means that weapon, enemy, and even player attributes are determined based on lists of data rather than hard-coded into the game itself. This makes it much easier to tweak values, especially while trying to balance the game.
When I started the migration from Torque 3D to UE4 in the summer of 2014 it was in anticipation of Oculus Connect 1, and running on the DK2. There wasn’t a lot of time to both learn a new game engine, and port HCTD over. UE4′s Blueprint system really helped out with the transition by holding my hand and providing me guidance on what I could and couldn’t do with the various components. I still had to implement my custom Razer Hydra and player code, as well as my custom IK solution for the player’s arms and spine in C++, but there wasn’t much else I couldn’t do with Blueprints for what I needed at the time. I also relied on UE4′s Blueprints to update the game demo for the TAVES 2014 showing in November.
In December 2014 I took time to review where HCTD was heading, and started to plot its course towards a 2015 release. Based on what I had learned in building the OC1 and TAVES demos of HCTD, I decided that I needed to move away from a Blueprint heavy structure and into a C++ one. Here were some of my reasons why:
- The HCTD demos were not architectured with multiplayer in mind. I wanted HCTD to support co-op play, so all of the player, player controller, and weapons’ Blueprints I had assembled needed to be redone.
- Blueprints are saved in binary files that are opaque to source control. It is not easy to track changes, nor know what would be impacted with a roll-back.
- I’m a core programmer that has been using C++ throughout my game industry career, and it feels comfortable to get in to extend, and modify, the engine code to the needs of the game.
Throughout December 2014 and January 2015 I have been working to rebuild the game with multiplayer in mind using a C++ base. I still use Blueprints as they are still awesome, but now in a more “glue code” capacity, similar to how I would use an engine’s scripting language. Along the way I’ve improved how the player starts the level by touching their wristwatch (some demo players had trouble), added in weapon recoil, and further optimized the game’s performance under UE4 4.6. All-in-all a good base for a new year.