HackTCNJ 2026 | Infini-Dungeon

By: Benjamin Guerrieri & Christopher Lam


Inspiration

For our hackathon project this year, we really wanted to explore the possibility of developing a replayable game that would be easy for anyone to pick up. Additionally, we think there's currently a gap in gaming experiences that utilize LLMs and generative AI to create unique worlds on the spot. This led us to develop: The Infini-Dungeon!

What it does

The Infini-Dungeon is a procedurally-generated dungeon crawler where you can customize your own experience! You are given only two things: A bag of letters, and the all-powerful Lexicon-- a magical book that can conjure any word into existence to assist you on your journey. But beware, as the the dungeon hosts an ensemble of evil creatures that wish to stop you at any cost. Powered by Elevenlab's generative voices, each monster will have a unique voice and set of dialogues, and each story will be a unique adventure. Can you use your wits and luck to reach the end of the dungeon?

How we built it

Frontend: React with Typescript & Vite for rapid frontend development. We also chose to use custom CSS rather than inline tailwind to keep styles consistent.

Graphics Processing: We chose not to use a dedicated game engine/renderer and instead relied on the HTML5 canvas render for displaying sprites & adaptive background removal

Audio: Was done through HTML5/Web Audio API with locally hosted sound files. (See sources.txt for sources)

Game Logic: Was done through typescript functions for mechanics such as: procedural generation, dice mechanics, and combat systems.

AI Integrations:

  • Google Gemini API for dynamic content generation (enemy descriptions, room images, narrative stories, and word relavance).
  • Elevenlabs API for realistic voice synthesis and enemy dialogues

Development Tools: npm for packages, git for version control, copilot for rapid prototyping and bug-fixing

Challenges we ran into

  • Like usual, we spent a decent chunk of time fixing version control issues from rebasing branches/merge conflicts/etc.
  • This project also taught us a lot more about concurrency issues / running asynchronous tasks
  • API rate limiting was also an issue as we are calling multiple services (Google AI for both text models AND image models, Elevenlabs for voice)
  • Understanding different react states and hooks and how that translates to game logic was a roadblock in the beginning
  • Prompt engineering + working with manipulating images on a live app

Accomplishments that we're proud of

  • Successful integration of multiple AI services
  • Implemented real-time canvas processing for chroma-key sprite manipulation, creating a custom graphics pipeline in the browser
  • Developed an immersive audio experience with synchronized voice acting, ambient music, and sound effects that adapt to game state
  • Built a fully client-side application that leverages cutting-edge AI without requiring any backend infrastructure

What we learned

  • How to effectively orchestrate multiple AI APIs while managing rate limits, timeouts, and graceful error handling
  • Advanced React state management patterns for coordinating complex asynchronous operations and preventing race conditions
  • Browser audio programming including Web Audio API, canvas-based image processing, and cross-platform compatibility challenges

What's next for Infini-Dungeon

  • Additional powerups/loot rooms (with the possibility of speech to text from the user)
  • Multiplayer collaborative modes
  • Adaptive difficulties
  • Mobile Ports
  • Web hosting via Vercel/Vultur

Built With

Share this project:

Updates