Junkyard Bash

Role: Technical Game Designer
Development Time: 2 Weeks (2018)
Tools: Unreal Engine 4
Team: 9
Contributions:
-
Game Play Programming
-
Multiplayer Back-End Systems
-
Game Design
Music and SFX by Joakim Johansson
Trailer
About
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.




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

The Black Material represents Tar with alot of friction which gives the vehicle lesser acceleration



The Black Material represents Tar with alot of friction which gives the vehicle lesser acceleration
(Hover Over for More)
Boost, Jump, Bash and Drift




(Hover Over for More)
Surface Friction
Abilities
Camera
Camera Tilt and Height Adjustment




(Hover Over for More)
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
States
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.