top of page

Junkyard Bash


Role: Technical Game Designer

Development Time: 2 Weeks (2018)

Tools: Unreal Engine 4

Team: 9


  • Game Play Programming

  • Multiplayer Back-End Systems

  • Game Design

Music and SFX by Joakim Johansson



Junkyard Bash is a physics based racing game for 1-4 people where players race through a scrappy junkyard full of traps and junk. 

This was the first project we did at Futuregames in two weeks where our theme was Physics and Goofiness. So we made a racing game with goofy characters and where the vehicles were all driven by physics. 

Gameplay Programmin

Game Play Scripting

I made all the Game Play Scripting such as Input Handling, the Camera and the different Physics-Based Vehicles that are made completely from Scratch. 

Junkyard Bash Play through

Physics Based Vehicles

Getting Custom Forward of Spinning Vehicle

(Hover Over for More)

Custom Forward Vector

Acceleration & Engine Braking

Acceleration & Engine Brake

(Hover Over for More)

Slope Tilting & Pitching

Slope Tilt & Pitch

(Hover Over for More)

Ground Friction

(Hover Over for More)

Boost, Jump, Bash and Drift

(Hover Over for More)

Surface Friction



Camera Tilt and Height Adjustment

(Hover Over for More)

Back-End Programming

Back-End Scripting

PlayerController, GameMode & GameInstance

I made all the Back-End Scripting such as Character Select Screen, Checkpoints, State Machine and the different Multiplayer Setup with Spawning, setting the cameras, clearing up Player Controllers etc. 

You can play the game with 1-4 players but I made it comfortable to pickup and play so for example controller 1 and controller 4 could join a game and it would be a 2 player game with the split screen adjusted for the amount of players joined.

(Hover Over for More)

Character Select Screen

Character Selection
Character Selection

Spawning Players

Spawning Players
Spawning Players


I make good use of States to determine where in the game the player is, for example At Menu, At Sub Menu or At Race, depending on which the Input could execute different things. There is so much more I could write about the Back-End but for readabilities sake I'm gonna present the most notable below. 

Input & Use of States

Level Streaming

The game's level is split up into several sub levels so each designer and artist could work on different one without conflicts. The Main menu uses the same level to make the transition from Character Selection Screen to Race quick. 

After the Levels have been loaded it checks what State the Game is in, for example if it was AtIntroLogos it means the game has been just Booted, If it was Debugging then it will call Debugging and spawn the characters that's been chosen to debug with right away. 


Level Streaming
bottom of page