Summit


Summit

Summit is a single player exploration game, where the player explores a beautiful forest while scavenging any resources they can find to reach the summit.

Details

Time:             Sept 2020 - Apr 2021
Team Size:   5
Tools:            Unity, FMOD
Role:              Technical Designer, Programmer, Sound Designer

Summit is a single player exploration game, where the player explores a beautiful forest while scavenging any resources they can find to reach the summit.

Details

Time:             Sept 2020 - Apr 2021
Team Size:   5
Tools:            Unity, FMOD
Role:              Technical Designer,                          Programmer &                          Sound Designer






Contributions


  • Core Game Systems
  • Inventory Systems
  • Audio Design and Systems
  • UI Designs
  • Shaders in HLSL

During the development of Summit, I worked alongside a second programmer, as well as the artist in charge of items and ui art, and the level designer. 

My main role was to implement game systems, such as the inventory systems, day/night system, and sound systems. To make these systems work within the game world, I worked alongside the game designer to implement and tweak these systems.

I also took on secondary roles as a sound designer, UI designer, and VFX programmer.
As the sound designer, I fetched, retrieved, and mixed all of the sounds in the game, many of which are foley recordings, with little post-recording effects added on.
As the UI designer I created and implemented all the ui and their systems in the game, including the inventory menu, pause menu, and game world ui.
As the VFX programmer I worked alongside a second VFX programmer to produce shaders using HLSL.



Designing Systems


Designing


Systems


Many of the systems were designed to be modular and easily tweakable, so the main designer could adapt the systems to their liking. In the event that a system was not easily changable through the Unity Inspector, I created tools to help the designer with these systems. By allowing this degree of freedom, the designer was able to easily use my systems and quickly make adjustments.

The major system that I created was the inventory system, which is designed to play somewhat like tetris. The idea was to let players layout their backpack in anyway that they like, and to simulate how it would really feel to pack a bag

My solution to this was a simple grid-based system, where each grid cell recalls the data and icon of the item to occupies. When an item is then picked up, the system checks to see which cells are free, if there is enough room in it's adjacent cells to fit the item, and returns a boolean based on the result.

Additionally, each item had a specific use, and as a result, inheritor scripts were created to maintain the same purpose, while keeping their specialized use.


One use of items was to use them for crafting equipment via the crafting table. The crafting system is a simple system that uses scriptable objects to function. Essentially, each scriptable object acts as a recipe, keeping the data for the crafted item, and what items are needed to craft it. Then, once the items are placed on the table, the system searches all of it's recipes, seeing which recipe matches the best, and returns that recipe for the player to craft.

There are many more systems that I worked on during this game, and if you would like to talk about them, feel free to contact me!

Many of the systems were designed to be modular and easily tweakable, so the main designer could adapt the systems to their liking. In the event that a system was not easily changable through the Unity Inspector, I created tools to help the designer with these systems. By allowing this degree of freedom, the designer was able to easily use my systems and quickly make adjustments.

A tetris-like system is used to move items around

The major system that I created was the inventory system, which is designed to play somewhat like tetris. The idea was to let players layout their backpack in anyway that they like, and to simulate how it would really feel to pack a bag

My solution to this was a simple grid-based system, where each grid cell recalls the data and icon of the item to occupies. When an item is then picked up, the system checks to see which cells are free, if there is enough room in it's adjacent cells to fit the item, and returns a boolean based on the result.

Additionally, each item had a specific use, and as a result, inheritor scripts were created to maintain the same purpose, while keeping their specialized use.


Crafting items example

One use of items was to use them for crafting equipment via the crafting table. The crafting system is a simple system that uses scriptable objects to function. Essentially, each scriptable object acts as a recipe, keeping the data for the crafted item, and what items are needed to craft it. Then, once the items are placed on the table, the system searches all of it's recipes, seeing which recipe matches the best, and returns that recipe for the player to craft.

There are many more systems that I worked on during this game, and if you would like to talk about them, feel free to contact me!






Sound Design


During this project, I wanted to explore another aspect of development, to better understand how it functions. As the team required a sound designer, I took on that role.

Since the game takes place in a more modern type setting, many of the sounds were easy to retrieve and implement without much editing afterwards. However, there were some sounds that would be difficult to aqcuire with our limited resources, such as the tree impact sound, and any that I found didn't match what I was aiming for.

As a result, some mixing would need to be involved. In the case of the tree impact, I recorded a small christmas tree being thrown, and mixed it with a wood impact sound, to give a deeper impact sound, and also added in a clip of leaves being rustled, to add more secondary layers.

Sound Reel of Summit (Youtube)