Project Type | Personal Project |
Duriation | 1 Month |
Unity
Trello
GitKraken
Visual Studio
Jett is a high-octane, anti-gravity racer inspired by games reminiscent of Wipeout, F-Zero, Pacer and BallisticNG. Jett is a personal project developed during the summer break whilst attending university, used as a platform to learn and experiment with systems and features normally found within racing games. The project concluded in a playable graybox prototype that included an array of core features. With a potential to restart the project again from scratch in the future, equipped with a better understanding of developing a project like this would allow for higher quality and efficient implementations.
The tracking system utilizes a spline following along the course of a track, enabling positional tracking of racers along the track – an essential component for many other features needed in this project. These features include:
This would only require mapping a spline along a track and defining checkpoints along it, ensuring straightforward implementation will allow for efficient horizontal development.
The ship leveller is responsible for smoothly aligning the racer with the surface angle of the track, ensuring seamless transitions between different surface rotations. This is achieved by utilizing an array of raycasts that returns the surface rotation value and create an average value used for setting the ship's rotation. The density of the array, it's size and offset can be easily adjusted to fit the footprint of a ship.
After a scene has finished loading, a camera cinematic will play on loop until the player proceeds. This is achieved by utilizing Unity's keyframe animation and animation tree systems. Taking advantage of these built-in systems allow for simple implementation and flexible revision of each animation, as well as being able to attach functions in the animation timeline for effects and flexibility of each animation's order.
A main menu wasn't essential for the playable prototype, but it was an element I wanted to include to experiment and learn from, with the goal to create a simple menu system and design that accommodates with both controller and mouse/keyboard inputs.
I wanted to integrate some 3D modelling work into the project, as I enjoy the process of 3D art, and integrating it into an active project seemed fitting. While the model remains incomplete, I am satisfied with how it is taking shape, and should I return to this project later and opt to recreate from the project from the ground-up, this model will likely carry over to a future iteration.
The basic greyboxing for the test level was also done within blender, as it was easier to create a smooth yet irregular set of surfaces to test as a track environment.