top of page

NIGHTMARE FUEL

UI Designer | Gameplay Programmer
Tools

Godot 4.2.2

Github Desktop
Github

​

Period

July 2024 - August 2024

About

A 3D first person horror game created for the Pirate Software game jam. It was developed by 4 programmers, and 1 artist. I was responsible for creating the inventory system and interactable/throwable potions.

What is Nightmare Fuel

Created for the Pirate Software game jam, Nightmare Fuel is a 3D first person horror game I helped develop with my friends. The theme of this game jam was Shadows and Alchemy. The team wanted to create a unique twist on the theme by making a horror game where a monster hunts the player in the shadows, and you need to brew a potion with various ingredients and elements of alchemy to defeat the monster.

My Role

UI Designer

  • Created the ingredient inventory system for crafting the cure ingredients

  • Designed the potion inventory UI, mouse, and keyboard focus handling

Gameplay Programmer

  • Created cure ingredient and potion base classes

  • Programmed the potion throwing and effects on the enemy and environment

Development

When we began development, we wanted to get the main gameplay loop finished first. One of the key components in the main loop was collecting ingredients to craft a cure for the monster. We also wanted a way for the player to tamper with the monster’s behavior, bettering their chance at survival with the monster, which were collectable potions. I was responsible for creating both the ingredients and the potions.

Ingredients and Potions

Inheriting from a class made by Tyler Cobb, another gameplay programmer on the team, I made two scenes: an ingredient and potion scene.

​

Designed for reusability, these scenes function as every possible type of each collectable. I did this by creating an enum in the object’s script; an enum that contained every possible collectable for each item type.

​

When the item is placed in the scene, the user can select any item from a dropdown, and a match statement will change the item's color and name accordingly.

Potion Throwing and Effects

Players can throw collected potions at the monster or environment. Each potion has a different effect:

  • Slowness decreases the monsters speed temporarily.

  • Blindness decreases the monsters sight temporarily.

  • Noise makes a sound for the monster to investigate.

​

Upon inputting the throw action, the potions position is thrown the direction the player is looking. The thrown potion then emits a signal when it collides with a body.

​

If the body is the monster, a function in the monster's script will check if the potion is a slowness or a blindness potion, and apply the temporary effects.

​

If the body is not the monster, the signal checks if the potion is a noise potion. If it is, another signal is emitted, which causes the monster to check the potion's position before the potion is shattered.

Designing the Inventory Systems
  • LinkedIn
  • GitHub
bottom of page