top of page
Aaron Petrek
Game Developer

Project Specifications

  • Game DevGame.tv 2022 Jam (10 days)

  • Developed in UE4 4.25 (Blueprints)

  • Endless Runner

Project Goals

  • Practice rapid prototyping gameplay mechanics

  • Collaborate with another developer

Team project submission for the GameDev.tv 2022 Game Jam. The theme for the game jam was “Death is Only the Beginning”. I served as a developer for this project.

My contributions included:
  • Programming arcade-like vehicle player controls

  • Programming endless runner spawn system

Summary

Obstacle Vehicles

As players drive down the street they must weave through traffic that moves at a slower speed. The street is divided into three lanes. At any given point there will be 0, 1 or 2 obstacle vehicles the player must avoid. The obstacle vehicles will not change lanes.

Difficulty

Player vehicle speed increases as game time progresses. As the speed increases, navigating through the obstacle vehicles becomes harder. This also increases the difficulty of getting the player's vehicle to the delivery points. 

Delivery Points

Zombies stand on the left and right sides of the street. The player will throw a brain on the side of the road he is closest to. If a zombie is nearby, it will catch the brain, increasing the player's score.

Game Summary

After the town of Pleasant View suffers a zombie outbreak, there is only one survivor — Dan the Delivery Man.

 

He arranges a meeting with the zombie mayor and they reach an agreement where Dan won't get eaten as long as he keeps delivering fresh brains to the undead residents.

Guide Dan down the roads of Pleasant View and deliver the brains to the residents' doorsteps. Watch out for other drivers — zombies are notoriously bad at driving.

Good luck!

Game

Undead Delivery is an endless runner with mechanics similar to Paper Boy. The player must drive down a street while throwing brains at zombies standing on the sidewalk in front of their house. This must be done while weaving through other traffic on the road.

For this game jam there were a total of 933 entries. Undead Delivery scored in the top 100 for every grading criteria category. Having been the main developer for the gameplay mechanics I was satisfied to have placed 37th out of the 933 submissions for the fun category.

Reception

Project Reflection

Undead Delivery was a great way to practice fast prototyping new ideas using Blueprints in Unreal. The issues that arrived late in the game jam time frame also provided me an experience to quickly examine a problem and come up with a solution to meet our original game design concepts. The collaboration with another developer under this short time frame was also a good lesson in managing version control. I learned that collaborating with Blueprints provided an extra challenge compared to C++. This became apparent when merging branches together. There was no way for us to see the changes between branches as the Blueprint is just seen as a binary file. I realized an approach for this is to derive another Blueprint class to handle the designer configurable variables, and then move these default values back into the base Blueprint class upon release.

Having to solve this issue late in the game jam time frame was a good learning experience and provided an opportunity to practice solving an unanticipated challenge under the pressure of the game jam deadline.

Pass - Vehicle behind last spawned road section is farther than distance for next vehicle. Vehicles have spawned (Orange and Blue)

Fail - Vehicle behind last spawned road section is closer than distance for next vehicle. No vehicles spawned

The second check is to make sure there is enough distance between the previous set of spawned vehicles and the current set trying to spawn. The check ensures the obstacles do not bunch up in a way that prevents an impassable path for the player to navigate through.

Pass - No vehicles in front of last spawned road segment

Fail - Vehicles in front of last spawned road segment

Endless Runner Spawn System

The endless running spawn system uses a configurable data set to spawn the environment and obstacles as the player progresses down the endless runner track. The spawn system spawns the road meshes, vehicle obstacles and zombies that serve as the player’s target delivery points. The player is able to control the speed of the vehicle by applying brakes, temporarily slowing down the vehicle. Also as game time progresses, the player’s speed increases, increasing the difficulty of the game. Because of the variable player speed at run time, this resulted in a problem where the player would slow down too much and cause the spawning of vehicles to bunch up and not stay true to their spawn separation distance set in the spawn system's configurable data set.

To fix this problem I did two checks for vehicle separation using box traces. As the player’s vehicle crosses over a road segment, a new road segment is spawned at the end of the track in the direction the player is heading. After this road segment spawns, checks are made to determine if the next set of obstacle vehicles should also be spawned. The first check is to make sure there are no vehicles in front of the last spawned road segment. This ensures the obstacle vehicle spawn order stays true to the configuration data set and limits the number of obstacles spawned at any one time.

Player Vehicle

The player-controlled vehicle has an arcade-like feel with very deliberate steering and braking controls resulting in fast response times. To create this vehicle, I started by deriving from the pawn class as opposed to the UE4 vehicle class. This allowed me to easily create a vehicle with a responsive arcade-like feel. I was also able to add my own visual control input response to the vehicle that was not tied to the physics system. This allowed me to make the vehicle bank left and right while turning, and pitch up and down while accelerating and braking to complement the cartoony visuals and arcade-like feel of the game.

Development

Undead Delivery was developed using Unreal Engine Blueprints. The development of this project was great practice for rapid prototyping game play mechanics that were not my own idea.

 

For this project my main contributions were the arcade-like vehicle controls and the endless runner spawn system.

bottom of page