top of page

Working Through Quarantine

Well it happened. We got an extra week of spring vacation at Champlain College and it expanded to a full quarantine. I must admit things did need getting used to but I feel like I have triumphed over this challenge. I came back to my hometown and invested in a brand new computer to keep up with my classes, I cleaned out my room of all distractions, and I got back to work on Cash Force. Due to the effects of the virus, we decided to scale back Cash Force. With that in mind these past few days' tasks have changed for me. Since the flocking method for the enemy mafia car are coming to their finalization, I have been tasked with making it super easy for the designers to place new assets into the game, find the correct settings for the motorcycle's flocking, connecting a new director for the mafia humans, and work with a designer on creating a boss for one of the game modes. The first task I'd like to talk about is the iteration process of creating an easy spawning method for the designers. My first iteration involved a trigger box and a spawn location. The trigger box would contain an array of spawn locations and would call an event in the locations blueprint. This event would take the enemy vehicle type and then spawn the correct car.

The problem with this process was it took a long period for the designer, the designer could accidentally put the wrong spawn point into trigger box's process, and the designer needed to find which part of the target spline points was the correct node to start on for the AI. To make this process even more efficient I communicated with the designers what they wanted exactly for their placements. They want a simple placement of points, for the points to have a car type option, and for it to either automatically find which node to find OR for them to say exactly which one.

I got right to their request. I got rid of the trigger and replaced it with a distance check. This distance check took the node that the AI would be their first target and get the distance to the van. When the van was within the distance check it spawned the car. There is only one main problem. The car won't work without humans inside them. Our solution to this problem was by making presets for the cars and have the same spawning method but with presets. I went to create presets with humans inside the cars but then I found that I could not put another blueprint item in the viewport of another blueprint. They would come up as child components. So to solve this issue I went through the cars (not the presets) and I placed scene components where the placements of the enemies would be. I then created another event for spawning enemies in those places. I added in a parameter for the amount of people that we would spawn and hooked it up to the spawn point. This allowed for everything to be accessible in one place. The last thing I added to the spawn point is the array for the enemy spawn types. The number of enemies in the list served as the amount of enemies to spawn, and the enum passed through to the spawn event so we spawned that enemy type in the spot. The next task I had wasn't nearly as innovative. The motorcycle was simply placing the asset and changing the values. The motorcycle is going to be more aggressive and react less to the cars around them. This is so they will approach the player faster and appear more aggressive. The last task I had was connecting the combat director with the human enemies. We are not using a ticket method for our AI. This is so the player won't be overrun by lots of enemies shooting at the same time.

The ticket system works like this: the enemy requests a token, if there is a token then it can attack, and if there is no tokens left then it can't attack the player. It's pretty simple but it allows for us to gauge how well the player is doing and adjust the AI accordingly.


bottom of page