Long time no see! Although it’s only been around a week since my last blog post, it feels like it’s been months considering everything that’s been going on in both the world as well as the project. In case you haven’t noticed by the title, this is the 10th blog post for this project I have written! I think that’s a pretty cool accomplishment and just wanted to say thanks for reading all of these so far. Anyways, I’ve decided that even though I made a blog post last week I wanted to update you all with the awesome work the team has been cranking out! Well, I also want to do that to keep myself busy, it’s the only think keeping me sane right now!
Despite my developing case of Cabin Fever, there was a ton of work that was completed on the project over the past sprint, which is equal parts awesome and impressive considering it was just last week that the team was transitioning to working from home. Given the logistical challenges of that and the hit that the team’ morale took given the circumstances, I can say I’m really impressed by their work ethic and attitudes given how crazy things have been lately, so props to the Cash Force team – you all kick ass!
As you all probably know by now, Cash Force is a really systems heavy game. Outside of Virtual Reality being a systems heavy platform to develop for, the game that we designed had a lot of technical systems that we wanted to develop. For example, you want to be able to pick up a gun and shoot bad guys, right? Okay, sounds good! Let’s make it so you can grab the gun using the controller, make it so you can shoot when you pull the trigger, and make the ammo run out after a specific amount of trigger pulls. Now we need to make it so you can reload the weapon(s), add two handed grabbing and develop recoil patterns unique to each weapon so they feel distinct, and so on. There’s a lot of hard work going into every system since there’s so many elements to each one, and below I’m going to outline the work done on each system as well as other major deliverables.
This sprint had a lot of stuff going on! Between all of the systems development and integration work that the Design and Programming teams worked on and all of the social media and milestone planning that I was busy with, this week felt really, really long. It was all worth it though, since we made an exceptional amount of progress and I’m excited to get into the next sprint! Before we can do that, I have to break this down for you, so let’s jump into it!
Sprint 22 Changelog
Now that things are starting to get back to ‘normal’ with our schedules somewhat formalized, and things settling down after the disaster that was Spring Break and the logistics behind that, the team is now being asked to provide a weekly changelog to the faculty to help show off the progress we have made each week. Pair this with the weekly builds (not this week since we only found out about this on Tuesday), and we’re looking to find ourselves back into the swing of things! Here’s the changelog that the team has identified for this sprint
- Gameplay Systems Integration
- Map Tiles and Procedural Generation Tool
- Driver Character
- Environment Asset Implementation
- Enemy Animation Pass
- Weapon Sling
- UI Asset Creation
- Easier AI Spawning
- Social Media
Like I said earlier, this sprint was no slouch, and the team took the tasks they had before them in stride! We’ll start from the top and work our way down the list until we’re done, I’ll sum it up and we’ll call it good!
Gameplay Systems Integration
Like any video game, there are a ton of systems in Cash Force. Some of the most important systems in the game are the missions, where players engage a lot of enemies and rack up a body count higher than John Wick. This sprint, Harry (our Experience and Systems Designer) worked closely with much of the team to create mission blueprints in Unreal that we can build off of, To non-programmers, the visual scripting in Unreal probably looks like a lot of spaghetti was thrown onto the screen, but I can assure you that this is far from spaghetti code!
As you can see above, we have 3 separate mission types that players can play through. These blueprints easy for other designers to go in and add new conditions, variables and content on the fly if we need it. Each mission is unique as well:
- Survival: The Van needs repairs; prevent the Van from taking too much damage by fending off enemies until escape.
- Fundraising: Earn a specific amount of cash before the level ends by killing enemies and performing special combos.
- Assassination: Kill a specific target. Players battle waves of enemies until a “boss” character in a special vehicle appears. After the boss is defeated, the mission objective is completed successfully.
Map Tiles & Procedural Generation Tool
Now that the Procedural Generation tool is underway, there’s some work that needs to be done to the road tiles. Here (above) you can see what the old tiles were looking like. The roads were 4 lanes, as we initially conceited that there would be incoming traffic and more movement from both the player and enemy vehicles. As the scope of the project decreased over the course of the last semester, that concept was shelved and the roads stayed the same. Now, we need modular tiles to work with the new procedural generation, these tiles need to be square so they can be tiled correctly.
Above you can see the new square tiles! As you can see, they’re square! This is a needed change as the Procedural Generation won’t work properly with map tiles that aren’t square, you’ll be able to see this later in this section, where I break down how the Procedural Generation works and some evidence of the (in progress) system in action. Emmett and Josh (the madlads working on this crazy system) also added some cute little light posts to the tile to spice up the environment a bit. I dig it!
Now that we’ve talked about the tiles, let’s take a look at how the new system works! It’s undergone some awesome changes and progress since the last time you saw it!
Here what you probably remeber the procedural generation looking like, a flat plance with colored squares. The lines are the roads, and those colored squares are where the buildings can be spawned in, with a color corresponding to a building type so we can make the scenery more diverse.
Here is the new (work in progress) Procedural Generation! There’s still some things to work out with how the map tiles are being placed (see the intersections and some straightaways) but regardless, this is exceptional progress! Each mission type will have its own specific map for a total of 3 maps that players get to cause chaos in!
Ever since last semester, the driver character in the player van has been the player character model from the game Jonah worked on before he joined our team, Astral Boxing. You played as a paranormal investigator who punched ghosts in the face, which is a pretty rad concept. Jonah ended up sending us that character model that we added into the van as our driver as a reference to that game (there are plenty of references to other capstone projects in the van). Now that we have a dedicated character artist in the talents of Kaylee, we wanted to update that character to be more in like with the rest of the game’s visual style.
Rocking a classic greaser look, this handsome lad is your personal chauffeur and getaway driver! He’ll be leaning against the van looking cooler than I ever could when you’re in the safehouse getting ready for your mission. Once you’re in the van and blasting dudes, he’s the one giving you callouts for incoming enemies and the direction you’ll be turning so you don’t get disoriented from the back of the van. Make sure to listen to what he tells you since he’ll help you out a lot!
Kaylee also mentioned to me after I began the draft of this post that the colors on this handsome lad aren’t actually final since he’s using the palate of the enemies meaning that this look isn’t final. No matter what she decides to come up with, I know he’ll be looking more stylish than I ever will!
Environment Asset Implementation
I do believe I’ve mentioned this before, but the Cash Force team has been lucky enough to leverage the talents of many people here at the Champlain Game Studio. Many of the people we are working with are seniors who plan to graduate in May, but we do have an artist, (Brynn) who is quite literally the farthest thing from a senior – since he’s a first year game artist! Don’t be fooled, just because he’s in his first year here doesn’t mean he produces amateur work, his assets have been exactly what we needed them to be and were delivered on time and with a really high quality. Brynn has been working with us for around two months, and in his free time has made extra enviornments for the game world of Cash Force, let’s take a look!
The original buildings that we had were perfectly good, but were made to act as a placeholder until we had the ability to create more art. Once the second semester was completed and we made it through the team cuts, we wanted to focus more on the environment art which is why Brynn joined the team!
A lot of the feedback we got on our original buildings was related to how *orange the buildings were*, as well as the fact that was no real texture to them, meaning that everything on the building was flat, such as the windows, doors and roof were just a flat texture. These choices were made due to the time constant from the first semester, but with that gone and a larger team, Brynn was able to give the new apartment buildings some pizzazz and texture!
Next up we have two non-residential environment buildings. The first (on the left) is a parking garage that we initially planned on being used as the end of a mission, as the player’s safe house was conceptualized as being an undeground bunker below one of them. That’s changed, but the asset was still really cool and we wanted to use it! The gas station looks really groovy too, but you won’t have time to stop. I’m sure the gas is cheaper than it is now…
Enemy Animation Pass
Jonah has been hard at work building up his island in Animal Crossing: New Horizons, as well creating some awesome enemy attack animations! The enemies have been static for far too long, so we made the decision to spice them up using the rig that our other freelancer Nic made for us. Jonah worked his animation magic and now they’re looking like formidable trigger-men you can gun down! Something to note is that while it may look like all of these gunners are driving their respective vehicles with their feet, they’re actually able to sit on either side of the car. That means we can have a driver doing his thing while our gunner tries to take you out, just remember to aim for the head and to take out the driver! .
Every good mercenary has a weapon sling to hold their weapons while they’re on the run, right? (Right?!) Based on some QA Feedback before the switch to online work, the team has been prototyping and working on creating a sling that holds a players weapons when they aren’t in use. Many VR Shooter games include this feature, as it allows for the players to keep their hands free while not having to drop their weapon.
In earlier versions of Cash Force, the player’s van had a table with their magazines on it. This was also intended to be used as a place where players could put their weapon down if they wanted to swap, reload or dual wield weapons. Because of how the old grabbing system worked, as well as how the van’s physics interacted with the weapons, this caused a lot of problems! Often times, a player would place their weapon on the table, reach for another one and by the time they looked back the gun had flown out of the back of the van (or worse yet, attached to their hand and became impossible to remove!)
To remedy those issues, a lot of work was put into making sure this sling system worked with the new grabbing system. I bet you’re wondering, how does the new sling system work? Well, outside of being alien technology it’s all thanks to the hard work of Kelly and Karl, who worked really hard to get this into a working state! Let’s take a peek at what it looks like in action!
The new sling system allows for players to grab a new magazine off of their chest in the heat of battle so they can seamlessly reload and continue to battle enemies. As you can see from the GIF to the left, our player empties a magazine and reloads by pulling a magazine off of their sling!
UI Asset Creation
Now that the buying system is underway, the weapon catalog that players will be able to use to buy their weapons needs UI elements to help convey which weapons they’ll be purchasing. There’s also the mission selection, which needs UI elements as well to help differentiate them to players. Let’s take a look at the UI assets Adam made!
First up we have the set of UI Icons for all the guns that the player can purchase at the shop. Starting from the top left and moving to the right, we have the Shotgun, Battle Rifle, Pistol, Assault Rifle, Revolver, SMG and the all powerful LMG. All of these guns can be used by the player, and will be purchased one time for a lump sum of cash! Each gun is more expensive than the last, so saving the money earned in mission will be important to unlock the next weapon (that’s the plan, anyways).
Next we have the UI Icons for all three mission types. Assassination Missions have players taking out a strong enemy boss with lots of goons before the mission ends, Fundraising Missions have players taking out enemies for cash, and the Survival Missions have the player surviving waves of enemies before the mission ends! Make sure to lock, load and fling hot lead until you’ve made your escape!
The last batch of UI assets that were made this week were the player information assets. These include the assets for an Armor Hit and Armor Broken for when they break the enemy armor, as well as a Helmet Hit and a Helmet Broken element that will inform the player of each action. These icons are planned to appear with a corresponding hit marker / broken sound to give more information to the player regarding these actions. We also have elements for an Assassination Target (Boss), Enemy Vehicles (Car / Motorcycle), Points of Interest and the Player Van.
Looking groovy thanks to Adam’s hard work!
Easier AI Spawning
Spawning the AI in the game scene is now easier than ever, with designers now being able to just place the blueprint in the game scene, select the type of car and then add the enemies! This will allow the designers to create and change scenarios that we intend to create for the player really quickly and easily! This is a really complicated subject, so rather than me try and explain it we can get the information straight from the source, Cam! Cam’s our AI Programmer who worked on this system over the last sprint, he said:
“The primary goal for this week was to make it so we can make assets quicker. Before, it took a long time since the designer had to place spawn points for the enemies, assign spawn points to the trigger box, go back into the spawn points and tell them which node was the starting node for the AI to follow. This had to be done this way in order for the designer to know which path on the path list
to follow, and have the enemy vehicles find the closest node.
Now, we canned the trigger box so it now shows the area that the car will be taking up. (See 2nd image) The spawn point now has the option to choose the node or it will calculate the closest node itself. Designers can now also choose what time of enemies will be in each seat of the car. All they have to do is place the car in the map and face it towards the path, and it takes care of the rest!”
Thanks for the insight Cam!
On top of the AI Director that Cam was working on, Michael was working on an update to our Combat Director, which ties into the AI Director pretty closely. Here’s what Michael had to say about it!
“The Combat Director uses a token pool system that indicated when an AI wants to attack, it will request a token to attack the player with. This limits how often the AI can attack to make it so difficulty can be scaled by increasing or decreasing how often a token is requested”.
I think that this is pretty cool stuff, and believe that it deserves to be shown off! On top of that, it helps to make the enemies that you’re fighting more realistic and believable. To the right, you can check out some of the Unreal Blueprints Michael made to make this system work, I think it’s super cool to see these behind the scenes systems and how they affect gameplay!
Due to the current COVID-19 situation, the team has made the decision to invest more time and energy posting content to social media in order to gain a following for a potential release! Since in-person expo events such as PAX East, GDC, the Rochester-Polytech Institute GamesFest and Champlain GamesFest have all been cancelled or postponed, online outreach is now our #1 way of getting our game into the minds of consumers. However, Twitter presented the production team with an impediment as they have locked our account for the time being!
When prompted to enter the date the company was founded, I entered the incorperation date of Fellow Humans, LLC (the LLC I helped found with several other colleagues, many of who are on the Cash Force team) and the account was locked as Twitter’s terms of service state that:
“Our Terms of Service require everyone who uses Twitter to be 13 or older, and we have determined that you did not meet the minimum age requirement at the time this account was created.”
The issue with this is that I am 21, which to my recollection and extensive knowledge of basic arithmetic is higher than 13. Now that our Twitter Account is locked for the time being, we have transitioned to posting on our two other social media platforms, Facebook and Linkedin. If you feel so inclined, feel free to reach out and connect with the team on any of these platforms! before the Twitter fiasco, that was the platform that we were the most active on, but with the current situation we’re now using Facebook as our primary platform until Twitter unlocks our account. Check out our pages on the LinkedIn and Facebook!
Overall, I would have to say that the team has really adapted quickly to our current situation and has been extremely resilient. I want to take this part of the post to sincerely thank all members of the team for their continued perseverance! To that end, I’m also extremely impressed that they have continued to work as hard as they have given the amount of stress we are all under, and the anxiety we feel as we are about to enter the job market. I can proudly say that the reaction to such adverse and challenging circumstances the team has shown proves to me their value as colleagues, team members and friends.
The team has worked hard on everything they accomplished this week, but I know the weeks ahead are going to be even busier! While that may be because I pre-planned the next few sprints with the Leads, I still know we have a lot of work to do, and a lot of awesome content to show off! I’ll try and be updating you all on the project in a more frequent basis depending on my class schedule and workload. I’m really excited to show off what’s to come!
Talk to you next time!