Flame Reversed – Project Story

Inspiration

The idea for Flame Reversed emerged from our passion for classic 2D RPGs and deep, immersive storytelling. We wanted to create a game where players don’t just follow a predictable questline but instead experience a dynamic world influenced by forgotten choices. Inspired by games like Dark Souls, Undertale, and Chrono Trigger, we aimed to blend knightly lore, psychological mystery, and non-linear gameplay into a unique experience.

What We Learned

Throughout development, we gained valuable insights into:

  • Game development in Java, particularly using LibGDX for rendering and game mechanics.
  • Object-oriented programming (OOP) principles, ensuring scalable and maintainable game architecture.
  • Game physics and collision detection, essential for movement, combat, and map interactions.
  • Dialogue systems and AI-driven NPC interactions, making the world feel more alive.
  • Optimizing game performance, especially handling sprite rendering, animations, and game states efficiently.

How We Built It

We structured Flame Reversed using a variety of technologies and tools:

  • Programming Language: Java
  • Game Framework: LibGDX
  • Graphics & Animations: Aseprite for pixel art
  • Audio & Sound Design: Custom sound effects and background music
  • Game Mechanics:
    • Memory-loss mechanic where past choices persist even when the player forgets.
    • NPC interactions that evolve based on unseen past actions.
    • Grid-based map system with obstacles, interactive elements, and teleport mechanics.
    • Combat system with health points, enemy AI, and resource management.
  • Version Control: GitHub for collaboration and version tracking.
  • Development Platforms: Windows, Linux, and macOS.

Challenges We Faced

  • Creating a memory-loss system that remains engaging without frustrating the player.
  • Designing NPCs with evolving dialogue based on past interactions that the player cannot recall.
  • Balancing gameplay difficulty, ensuring smooth progression while maintaining a challenging experience.
  • Optimizing rendering and performance, keeping FPS stable with multiple animations, interactions, and AI behavior.
  • Managing game state persistence, ensuring world events remain meaningful across different play sessions.

Final Thoughts

Developing Flame Reversed has been an exciting challenge that pushed us to rethink RPG storytelling and mechanics. We explored new ways to make choices meaningful, even when they are forgotten. This project strengthened our skills in Java programming, game design, and narrative development, and we are eager to refine and expand upon these concepts in future updates.

You can check out the project on GitHub: 2dGame Repository.

Built With

Share this project:

Updates