OVERVIEW
Context
Contact Park was created as a challenge for myself to create a full game from scratch, and cover every aspect of game creation. I wanted a project for my portfolio that could showcase the ability to manage time on my own, and achieve goals even without the structure of a job or university.
VIEW PAGE ON ITCH.IOMost Valuable Skill Learned
The most valuable skill I learned while undertaking this project was how to carry onwards in the face of an enourmous amount of remaining work. I had to learn how to stay disciplined and motivated without external pressure. I created a Notion project to manage my tasks, their importance and the Minimum Viable Product. I even updated the game after releasing to improve the experience.
Gameplay
Contact Park is a game about taking pictures of anomalies in an abandoned caravan park. The park is infested with aliens, but the catch is that you can only see them through the lens of your camera. The game is short, but atmospheric.
BREAKDOWN
Programming Systems & Mechanics
Creating this game was an excersise in learning Unity to its fullest extent. I had used Unity many times prior, but never created a fully fleshed-out game like this before. By the end of the project I had encountered a lot of challenges I did not expect.
- I had to create a system that would serialise all of the players data every time they saved the game, and loaded it again.
- I had to create custom code to optimise the game, for example, only processing objects around the player.
- I had to learn how to create AI systems, and handle their interactions with the world & the player.
- I had to create a dialogue system, settings menus, saving/loading menus & handle all the edge cases.
- I had to leverage Unity's unique abilities in my game. For example, I used the RenderLayer system to allow only the camera to see aliens.
- I had to frequently work with shaders to achieve certain effects.
In many respects, I was not just focusing on the programming, but how the programming interacted with every other aspect of the project.
Using raycasting to determine when an Anomaly is visible. (Note the alien in the window)
Using notion to keep track of bugs, tasks & features.
Any object that can change state requires an ID for saving.
3D & 2D Artwork
I am talented across multiple disciplines, so I wanted to use all of my skills for this project. I created all the 3D models used in the project. The textures were either created by me or sourced and modified from Textures.com. Because this game is about exploration of a large space, I needed to ensure that my models were well optimised. For complex models I created multiple LOD's (Level of details) so that they would be simplified in the distance.
This is not my primary field, but I have included it to show that I have a deep knowledge of disclipines adjacent to programming, and therefore would work well with people from other fields.
The shed that the player spawns in is decorated with props.
This house is created with modular components, all of which have LOD's. It is a performant system.
A scene that contains all of the props and objects I made for the game.
Sound Design
Before starting this project, I did not have much skill in sound design, so I wanted to push myself hard. I created 79 different sound effects for this game. My process was either to make the sounds from scratch, using a tool like LMMS for music and abstract sounds, or to modify CC0 sounds from freesound.org. I Believe these sound effects play an integral part in making the game feel so atmospheric.