Into the Inferno
Into the Inferno
A story-based platformer game that incorporates non-linear narrative elements with gameplay mechanics that cohesively and effectively tell a story
Description
Into the Inferno is a story-driven platformer that weaves non-linear narrative decisions directly into gameplay mechanics. Player choices influence both the story progression and character interactions, resulting in different dialogue paths and moral outcomes. Gameplay challenges are interspersed with branching conversations and enemy encounters, delivering a reactive and immersive experience.
Engine: Godot
Language: GDScript
Project Type: Team (4 members), Academic (IAT 312: Foundations of Game Design)
Duration: 4 Weeks
Genre: 2D Narrative Platformer
Focus: Branching Dialogue, Morality-Based Outcomes
Enemy attacking the player
Player damaging the enemy by shooting a projectile at them and the healthbar updating accordingly
The GDScript code for the healthbar logic
The healthbar for a boss enemy which reduces when player shoots it
My Role
Developed and implemented the dialogue system that reflects player choices and unlocks branching narrative paths
Utilized GDScript’s switch/tag system to store and track player morality choices
Dynamically changed NPC dialogue based on earlier decisions (e.g., peaceful vs. aggressive path)
Created and linked the enemy health UI using Godot’s ProgressBar node, syncing values in real-time
Scripted enemy health logic within the AI editor scene, allowing for modular reuse across encounters
Challenges
Challenge: Tracking and dynamically adjusting dialogue based on player choices across different scenes
Solution: Implemented a global tag/switch system to store decision states and reference them during future interactions. This ensured consistency and continuity across levels
Gained experience in using Godot’s stateful architecture to manage complex narrative flags and avoid broken conversation paths
Highlights
Delivered a working morality-based branching dialogue system using custom logic and minimal plug-ins
Built a clean and responsive enemy health bar UI, integrated fully with each enemy’s scene and health logic
Learned how to design choice impact systems that reward or punish player behaviour narratively and mechanically
Resolution
This project pushed my understanding of non-linear storytelling and system persistence across levels. I learned how to combine narrative logic with UI design and how to track long-term variables across multiple scenes. It was also my first time building a dialogue-driven branching system from scratch, reinforcing my ability to design modular and scalable storytelling systems in Godot.