Winding Down Remotely
The end is nigh…
It’s been about 3 weeks of pure remote work since the start of the COVID-19 Lockdown, and the team is now facing the final 3 weeks of development for Cash Force. Its a little surreal to think that the journey on this game is about to come to an end, but before I get all sentimental, there’s still a ton of work to do!
Our Senior Show, where we gather (virtually now) to show off all our hard work on the game as well as our personal reel highlights to game industry recruiters, alumni, family, and friends alike, is on May 8th. This leaves us 3 weeks of time to implement the finishing touches and bug fix/polish our systems and art to get our game playing, looking, and feeling as good as possible.
Over the past few weeks, we’ve been showing of our work and progress to our professors and peers in virtual class to receive feedback and critique on our work from each sprint. It’s been surprisingly easier to do this remotely than it was during class periods, and the feedback we’ve received has helped guide us towards the highest priorities for getting the game finished in the time we have left.
Now to get into my work since my last post. Like throughout most of my work on the project, I’ve been doing a ton of programming the past few weeks to get the last of our core UI systems implemented and fix any bugs that I find along the way. Let’s get into it!
Gun Catalog
I implemented our new buying system at long last! Now instead of the old confusing way of buying guns (grabbing them off a wall), we now have a fully featured UI catalog for purchasing weapons. Our UI designer Lauren setup the layout for each of the catalog’s pages, which include all the gun’s core stats like damage and recoil, while one of our programmers Kelly hooked these widget values up to our data manager. This allows us to tweak and balance gun variables and prices in the data manager files without having to manually update the widgets; its been super handy!
We wanted the buying system to be easily readable and usable so players could know the differences between each weapons at a glance. I designed the system to use two “buttons” on either side of the catalog, which the player presses by simply placing their hand onto it; pressing a button moves to the next or previous page of the catalog and displays the guns and their stats. I also added a rotating preview mini-mesh of each gun to show players what guns would look like.
For actually purchasing guns, we went through several iterations. The purchase interaction remained the same; players push the purchase button with their hand on the catalog page. What happens after that was where the iteration took place. Originally, I just spawned a gun at on the table and took money from the player there using the purchase component. However, this was kinda lame thematically; who wants a gun to just appear from the mist in a 70’s game!? Not me and not lead programmer Josh, thats for damn sure. Since Josh and I are Escape from Tarkov fiends, we thought it would be cool to have the guns appear in weapons cases on the table and have the player buy them out of the cases. We summoned our lead artist Adam to create some cases for us, and he had them done within the hour. After some quick code tweaking to get the case spawning logic working for all conditions (e.g bought a case, buy a new one to swap out old one, etc), we had our finished buying system!
Hand Animations & Poses
I got to use my favorite Unreal feature alot these past few sprints: Animation Blueprints! With the gun systems finished programming wise, it was time for me to implement a small but incredibly important feature; VR hand presence. Our animator Jonah created a few hand poses for holding guns and pulling the triggers. I made these into procedural animations using Blend Spaces and the Animation Blueprint. Based on the axis input for the grab and trigger buttons, the hand poses will smoothly interpolate depending on how much input is recieved; now when the player pulls the trigger on a gun, they can actually see the trigger being depressed and see the gun go off once its fully pulled! Its a simple touch that adds a lot to the immersion of the gameplay.
I also updated the grabbing system to have a pose asset per socket. This allowed me to set specific poses for each type of grab point depending on the weapon in the Animation Blueprint. I made secondary grip and action grip poses that are specific to each gun and implemented them using the Animation Blueprint. These poses also are a small touch but they make grabbing and holding guns feel substantially better!
What Remains
Going into the final weeks, I’ll be continuing to polish up all of our game systems, bug fix, and add finishing audio touches to all aspects of the game. My main priority is getting our enemy animations setup and working, which is what I’m currently working on.
See you next time,
– Karl