Slash Racer (“One Game a Month”)

Slash Racer logo

Slash Racer is a vertical scrolling driving game. Players maneuver a vehicle on a track while avoiding an ever-increasing number of obstacles.

This “One Game a Month” project features relatively simple gameplay. However, it is still significant due to being my first-ever Unity game. Additionally, this project has a bit of nostalgia for me, because a similar game was one of the first programs I ever wrote when I was first learning to code. The name is an homage to that version, which featured a track made up of slash characters.

Gameplay

Screenshot showings the Slash Racer game screen
Slash Racer screenshot

The core concept of Slash Racer is simple: go fast and avoid obstacles! The player controls a vehicle moving at high speeds along a vertical track. The vehicle cannot be slowed or stopped, but the player is able to increase speed and move left or right to avoid obstacles. Like many arcade games, the goal is simply to achieve the highest score possible before running out of lives.

Influences

This project is simple enough to be derived without a lot of external inspiration. Still, in designing this project the following games were used as a source of ideas:

Flappy Bird. Love it or hate it, the fact is this game was wildly successful. It features a constantly scrolling playfield and a similar mechanic of dodging obstacles. I hope to replicate the “simple-but-difficult” nature of Flappy Bird’s controls to create addicting gameplay for a variety of platforms.

Flappy bird screenshot
Flappy Bird screenshot

Spy Hunter. This is a much more complex example of what this project could become. It features the vertical driving gameplay, but moves beyond simply avoiding crashes. Specific enhancements in Spy Hunter include the presence of other vehicles and weapons used to engage in combat.

Spy Hunter screenshot

Mechanics

This section describes the mechanics of Slash Racer. Items that have a strikethrough represent ideas that changed during development or were removed.

  • Automatic Scrolling: During the game, the player is constantly moving forward. The player can adjust their speed within limits, but the vehicle’s movement cannot be stopped entirely.
  • Controls: The player is able to control their vehicle in four ways: speed up, slow down, veer left, and veer right. I will select a precise control scheme during prototype.
  • Collisions: The player’s goal is to avoid any collisions while racing. Collisions can occur with the left and right edges of the track, or with obstacles that periodically appear on the road. A collision will result in the game ending. loss of a life. If the player has additional lives remaining, their vehicle will respawn in the center of the track at the same point the crash occurred.
  • Scoring: Players receive points for collecting stars that appear in the road. As the player moves along the track, their score increases. If the player is moving faster, they will get more points for the same distance covered. This means the highest scores are achieved by moving as fast as possible while avoiding any collisions.

Development of Slash Racer

Slash Racer was developed fully during the month of December 2021. Time was limited on this project, due to the holiday season and a lot of new baby-related chaos. Nevertheless, I set out with the following goals:

  • Complete the core mechanics described above
  • Add a webpage to the Thrashplay site describing the project. (The one you are reading now…)
  • Publish three blog articles (tutorials and/or development logs) during development of the project
  • Discover how to build and package Unity projects in an automated fashion. Create appropriate workflows to automatically publish builds as GitHub releases
  • Automate code signing of the release packages in a secure manner

The project review explores how successful I was at achieving each of these goals.

Very early prototype screenshot

Source code for this project is available on GitHub. As always, development logs will be posted here as they are created.

Credits

Slash Racer features public domain artwork found on OpenGameArt.org. Additionally, the following artwork is used under license.

Ship recoloring 001 for GM game
By Rusty.
Recolored and submitted by Archanix.
Licensed under CC BY 3.0.
Texture: WATER
By Jattenalle (www.GodsAndIdols.com).
Licensed under CC BY 3.0.
Bomb Launcher
By devnewton.
Cropped and recolored by Sean Kleinjung.
Licensed under CC BY-SA 3.0.
..