top of page
Tunnel2.png

ABYSSAL DESCENT

If you would like to read more about the game design process, please scroll down to the "design concepts" section (or use the navigation in the bottom left)

Role

Designer/Engineer

About

After completing my first game, Thunderbound, I was excited to put my new skills to the test in my first game jame. Scream jam was a 1-week game jam where my team looked to create a horror game. My goals for this jam included applying my ability to work on a team, making design and engineering choices under the pressure of an external deadline, and creating a robust scope to ensure this game could be finished on time.
 

In contrast to my last project, where I focused primarily on the feel of the player and enemy interactions, this time, I was making a horror game where I found myself looking to create a compelling atmosphere. In addition to designing enemy AI and player movement, my responsibilities also included creating an environment that could convince the player they were underwater and that danger might be right out of sight. To bring this vision to life, I introduced water-based camera effects, dynamic lighting, fog, and particle systems to convey a sense of underwater danger and unease.
 

Through this experience, I learned so much about how mood shapes player experience, and I’m excited to bring this deeper understanding into future projects

Personal Responsibilities

Scripting

Enemy AI

Player Movement/Interactions
Lighting
Particle Systems/Environmental Fog

Shaders

Puzzle Design

Team Members

@Bunglar - 3D Modeling

@Azina - Music/SFX

@xalonelyperonsx - Cavern Layout/Level Design

Timeline

Oct 16, 2024 - Oct 23, 2024

1 week

Tools

Godot

Miro

OBS

Tunnel2.png
Design Concepts

Design Concepts

Here I will talk about the various design decisions that were made through the lens of three categories: Environmental Atmosphere, Player Atmosphere, and Enemy Mechanics

Environment Atmosphere

Environmental Fog/Lighting
  • Fog and lighting were tied to the player’s vertical position to create depth.

    • Higher altitudes increased visibility and brightness.

    • Lower depths had denser fog and dimmer lighting.
       

  • Denser fog enhanced light bounce, making lit objectives stand out against the darker background.

Tunnel2.png
DivingLightFog.gif

Depth dependent fog and environment lighting

Tunnel2.png
LightProgression.gif

Omni-Lights were used as a method of highlighting completed objectives

DistanceLight.gif

Lighting allowed for highlighting points-of-interest through dense fog.

OuterWilds.gif

Lighting was largely inspired by the lighting in Outer Wilds' Dark Bramble.

Omni-Lighting
  • Omni-lights highlighted key points (enemies, objectives) through dense fog, inspired by Outer Wilds (video by Nickolas_TheGNAR).
     

  • Lighting tracked player progression, showing completed and remaining objectives.

Technical Details:

  • To get a convincing omni-light in fog a few tricks had to be used to create a consistently visible light.
    • Due to the fact that the in game camera is a plane, when an object is at the edge of a camera's vision it is physically closer to the edge of the camera than that object would be when it is in the center of the camera.​

    • To counteract this, light size was adjusted, larger/brighter at the center, smaller/dimmer at the edges.

    • Lights needed to be visible from a distance but not blinding up close, so their size and brightness scaled with player distance.

    • These adjustments ensured consistent lighting that remained effective in fog while avoiding visual imbalance.

Enemy Design

Player Atmosphere

Camera Movement
  • In order to allow movement through water, an omni-directional movement controller was created along all three dimensional axes.
  • To further sell the feeling of being under water random movement was added to the player camera when the player isn't moving in order to create a feeling of being pushed by an underwater current.
Tunnel2.png
HeadBob.gif

Subtle random motion in a stationary state sells the idea of being under water.

Tunnel2.png
Breathing.gif

Bubble shader, parrticle emissions, and scuba-regulator inhalation emphasizes player breathing 

Player Breathing
  • In order to further convey the feeling of being alone deep under water the player breathing was implemented.
  • Player breathing was conveyed through two parts:
    • A particle emission of a bubble shader was used on player exhale.
    • SFX were triggered said bubbles as well as of a scuba-regulator on the inhale.

Enemy Mechanics

Game Mechanics
Flower Fish
  • The flower fish would chase any player that was not holding a flower within the fish's detection range.
  • In order to convey the necessity of the flower for getting past the flower fish, the flower fish's cave is the only area on the map where these flowers can be found and collected.

Technical Details:

  • This fish became a victim of the time given for this project. The original idea was to have a small animation when entering the cavern where the player could see the fish sniff the flower and subsequently run away to give a hint that the flower was a mode to get past this fish.
  • Given the time limitations the solution of surrounding only this fish's cavern in flowers and highlighting the flowers as collectibles was used to point the player in the correct direction.
Tunnel2.png
FlowerFishPrototype.gif

Flower fish prototype chases player without flower

FlowerFish.gif

Flower fish final version

Tunnel2.png
StaringFishPrototype.gif

Staring fish prototype will chase the player whenever the player faces away from the fish.

StaringFish.gif

Staring fish final version

Staring Fish
  • This fish will only move if the player was facing away from said fish and was largely inspired by Boo from the Mario Franchise.

Technical Details:

  • In order to make sure the player truly understood this fish's mechanics, the player was locked in place while completing objectives requiring the player to have both the objective and the fish in line-of-sight in order to complete the objective. 
  • This made it such that the player would be unable to run past  the fish, clear the objective, and leave without understanding how the fish worked (this solution of locking player movement during completing objectives was also used for the flower fish).
Tunnel2.png

What I Learned

What I learned

After completing my first game jam I came away with a better idea of how to work under tight deadlines and what that does to the game development process. Here are a few of my takeaways!

  1. Simple mechanics can still achieve a desired gameplay fantasy with the correct atmosphere (juice!)​
    Though the mechanics for this game were quite simple, the feeling of being alone in the depth of the ocean was still able to be conveyed through atmosphere (juice!). The subtle camera movements, the haunting music, the inability to see, the creature sounds, the slow sound of your own breath, subtle enemy animations etc. created a constant feeling of unease that created an enjoyable gameplay experience with very few moving parts. Given the timeline of this project I am proud of the fact that we were able to create this feeling with the small time we had.
     

  2. Removing iteration makes it extremely difficult to know if something is good.
    The hardest part of this jam was that to take most ideas from ideation to implementation took most of the time we were allotted. This meant that iterating over ideas to make sure they were fun was extremely limited. To address this, mechanics tended to be simple, allowing us to paper prototype ideas and determine potential pitfalls before work began on code, models, and SFX. This created a much smaller design space than what I was used to on my previous project, but I do think learning to work within constraints was an extremely valuable experience that pushed me to make the most of the little that was given.
     

  3. When under a tight time constraint prioritization becomes paramount.
    There were an infinite number of additional mechanics, music, visuals, etc that we wanted to include in this project that could have pushed this piece even further. However, it became key to this games completion to consistently stop and ask "does the game absolutely need this in order for this game to be complete?" If not the idea would be added to an ever growing list of things that could be done when the game was fully functional. Unfortunately, very few of the items on that list were touched, but the game was completed, bugs were fixed, and time was left over for playtesting and tuning existing mechanics because we decided to prioritize the crucial aspects of this game.

TOP

bottom of page