College Capstone Dev Diary: COVID Concessions, Finished Arsenal, & Gun Sling

College Capstone Dev Diary: COVID Concessions, Finished Arsenal, & Gun Sling

A Change In Circumstance

It’s been a long, LONG month…

In my last post, I talked about how the Coronavirus outbreak affected our team due to the cancellation of our appearance at PAX East. Well, back then, no one in the United States was taking it seriously….and now we’re in the midst of an unprecedented global pandemic, as I’m sure you’re well aware.

Despite the global state of affairs, the development of Cash Force is continuing as myself and my teammates work to finish out our final semester of college. Everything we’ve known about college, and honestly life in general, has changed drastically this past month: all of our classes have moved to remote instruction for the remainder of the semester and many members of the team were forced to move out of their on campus housing back home. It’s a rather shocking and frankly upsetting situation, one that we can’t really do much about, other than continue working on our game to make it as good as we possibly can with the time we have.

The Cash Force team has fully transitioned to remote work since the pandemic was declared in the middle of March. I have a lot of thoughts about this transition and what it has meant for the development of the game as well as my personal life, so the majority of this post will be dedicated to discussing how myself and the team has been adapting to this situation followed by an update on my development of the game in the past month.

Class and Work in the Same Space

In all honesty, in terms of my work setup and preferences, the remote transition has not felt much different from normal. Pre-pandemic and throughout pretty much the entirety of my college career, I did all of my school and game work from home on my personal desktop setup instead of working in the on-campus labs. What has changed for me though is that class is now done in this same space. It’s quite strange to be able to literally roll out of bed and go to class, but it’s honestly been rather nice instead of rushing out the door every morning. While I am pretty much tired of the student life style at this point, I do find myself missing going to campus and seeing people in person for class, something that this pandemic has made me realize I took for granted. 

What has been great for me about remote classes however is that going to class puts me into a working mode right away. Since I am literally in my work space during class now, once my classes are over, I get right to work on the game. Which brings me to the next challenge…

All Work and (Some?) Play

If you couldn’t tell from the depth of my other posts as well as the amount of content on this website in general, I REALLY love to work on video games, so much so that sometimes developing games is more fun for me than actually playing them. Going to class and being out and about was a way for me to get away from my work and relax a bit more, but now that the outside world is essentially closed off, prying myself away from my work has been extremely difficult for me. While I am an incredibly organized person and like to follow development plans, creating and following set daily schedules and routines DOES NOT work for me; I tend to usually do whatever I feel like at a given time sorted by priority and get incredibly absorbed in my work while doing it. This has lead to me deciding I want to work at a given time when I feel up to it and getting a lot done, then not stepping away after several hours to relax at all. Not good.

As of last week, I decided to rectify this problem with a simple rule; anytime before 10pm is fair game for doing work, but after that, I cut off from work and relax with games or anything else. Its been a simple yet effective way for me to disconnect from working and blow off some steam without having a strict daily schedule.

Remote Development Changes

With my personal changes out of the way, let’s get into how the development of Cash Force has changed during this remote development period. Once the pandemic was declared, myself and the other leads met to discuss contingencies for if school became remote (spoiler, it did). Unfortunately, this started with a list of features we’d cut (and now have cut) due to the way scope and work output would be affected. We chose the items on this list based on one primary concern: while the systems themselves were not a concern to implement, there were no concrete plans for effectively communicating their value and existence to players. For example, for weapon attachments, we could easily make the attachment system itself work, but the challenging task of presenting the player with information about how they work and why they’re important as well as all of the assets, UI, and scripting that comes along with it (especially difficult in a VR context) was not properly planned out at that point. We instead opted to focus on a smaller amount of fully fleshed out and effectively communicated features to give the game a greater sense of completeness and cohesiveness. Here is a list of the main features that we decided to cut or change:

  1. Procedural city generation is now relegated to a tool used to create three scripted maps
  2. There will be a maximum of three maps, one for each of the game’s mission types
  3. Weapon attachments have been cut entirely
  4. Upgrades have been cut entirely
  5. Route planning has been cut entirely

This is very unfortunate because a lot of these features were the new things we wanted to add to the game this semester, but this has allowed us to dive really deep into the new systems we were already working on and flesh them out more, mainly the new enemies, armor system, guns, and missions.

In terms of remote development, we created a new rigid daily scrum structure every weekday night where we all come together as a team, splitting into our sub teams to discuss what we did on a daily basis. We’ve also scheduled three work sessions every week that last for 2 hours where team members pop into Discord to discuss work, as for help, collaborate, and share what they’re working on. In a way, the remote transition has actually been far more productive and efficient with task completion than some weeks of in person work. We’re all holding each other accountable for our work and collaborating more tightly together even more than we already were!

A Month of Development Changes

Now into the actual development updates from over the past month. Right after my last post was spring break, during which I decided to take a break from development to relax as well as complete some design tests for post grad jobs. When the pandemic was declared, our spring break was extended another week, during which I continued to take a break; this would’ve been GDC week anyway so it wasn’t much of a divergence from schedule. The last two weeks since the end of spring break saw the completion of all of the guns in our arsenal as well as the functional side of our gun sling and ammo rig features!

First are the guns. The only gun that had yet to be implemented was the LMG, but the Revolver and Shotgun were still in a prototype state. I created all three guns over the course of the first week back to development and fixed some bugs with the recoil system to polish it up a bit. This process was really streamlined thanks to the development of a Gun Data Manager CSV file by our tools programmer Michael. Balancing and tuning our weapons is as easy as entering values into a table now! Below is a gallery of all of the guns in the arsenal in action in their functionally completed state. A lot of testing needs to be done to balance them out yet, but implementation wise, they are finished!

Next is the functional implementation of the gun sling and ammunition storage system, which exist to streamline how players use different weapons and continue to reload with a supply of ammo. Originally, this was done by buying new guns and ammo off of a board inside the van, which caused players to have to take their eyes off the action to look at the board while prone to enemy fire. We solved this issue with design by creating sling sockets on the player, 4 in total, where players can store their weapons after buying them before going into one of the three missions. There are two sockets on the player’s back for long weapons and two on each hip for sidearms to allow for up to four guns in a loadout. To add a gun to their sling loadout, players simply sling the gun over their back or into their hip and let go of it; the gun will then attach to the slot. To grab the gun out of the sling, players reach to the respective slot and grab, which automatically grabs the gun like normal!

Another issue that the sling solves was that players frequently dropped their guns in the van and couldn’t grab them again (usually due to physics jank). Now when players left go of a gun, it returns to its sling slot. This allows players to switch weapons quickly and have easy access to all of their guns at one time, effectively solving all of the old design problems.

Finally is the ammunition rig, which is where new magazines for ammo are now stored. On the players chest area are two slots for ammunition, one on the left and on on the right. Whenever the player grabs a gun, the magazine in the corresponding hand slot changes to match the held gun; e.g, if the player grabs a battle rifle in their right hand and a pistol in their left, the right chest slot will have battle rifle mags and the left chest slot will have pistol mags. When players grab ammo off of the rig, it is immediately replaced with another ammo item. This ensures that players can always easily reload whatever gun they’re using by simply reaching to their chest and grabbing new ammo!

Chest rig in action with handguns
Showing off ease of reloading when dual wielding thanks to the chest rig

Moving Forward

From here on out, we will continue to implement all the features we think are feasible to develop. Now that the guns are done, I’ll be helping out with the tech design of various gameplay features, such as the gun buying catalog and other UI elements that need techincal implementation. Additionally, I’ll be doing a lot of bug fixing, testing, and polish implementation for the VR side of things, mainly the hand implementation and audio stuff!

See you next time,

-Karl

Leave a Reply