Tools focused framework
While working at VFS as a teaching assistant I was tasked with overhauling the racetrack design assignment template in Unreal Engine 4.
Goals and resources
The focus of the project was to create a template project that was as fast and easy to learn as possible, enabling students to rapidly iterate on their projects in the relatively short assignment deadline. Some resources were given to start with including basic meshes, the Math B physics vehicle, the Firebuilder and Explosionbuilder asset kits, and the Blue Man AI plugin. The project had a very short development time and is currently in use by students in the Level Design class. Keep an eye out for their portfolios!
Racetrack Construction Tool
The core of the template is the track construction tool. It is built entirely using Blueprints to allow students to easily modify the tool. Based off of Zak Parrish's spline mesh tutorial the generator places spline meshes for a track and guard rail based, with swappable road mesh and toggleable guard rails. Some optimization options such as disabling collisions, all guard rails, and all meshes are included for working on larger tracks that previously caused harsh performance drops in the editor. The track generator also hooks into the AI system, automatically placing waypoints for the AI to follow so designers never even have to manually mess with AI for simpler tracks.
A number of changes to Math B's physics vehicle were made to fit gameplay targets. The traction control systems are now enabled by default and have been tuned to allow some loss of grip on tight corners but will almost never cause a player to completely lose control. Post processing based on vehicle speed was introduced. Field of view, saturation, vignette, and colour grading are all used to emphasize speed. The player vehicle will be randomly assigned paint colours each time the game is launched for some extra variation.
The Blue Man AI plugin is used to control AI racers. The AI is tuned to be a challenge for newer players but quickly passed by more advanced players so they can focus on mastering the track. The AI will automatically follow waypoints placed as part of the track generator to reduce the work needed to create and iterate on a track, with manual overrides for waypoints also available. AI cars are assigned humorous screen names and will explode if they are hit or crash with enough force, creating a serious spectacle.
The player's time is tracked as they race. A target number of laps and target time can be entered so players are given an explicit challenge. Upon finishing the track players are given their time, a list of AI that were destroyed, and a list of AI that finished before the player.