🌒 Inspiration
Nightshade was born from a desire to bridge the gap between classical 2D platforming and the future of generative gaming. We wanted to move away from "pre-written" NPCs and static economies. Inspired by dark low-fantasy worlds, we envisioned a game where the dialogue is as alive as the player.
🎮 What it does
Nightshade is an atmospheric 2.5D narrative RPG where players control Elara, an initiate navigating the dark city of Orkhaven.
🧠 AI-Driven Narrative: Using the Google Gemini API, NPCs like Guard Kaelen respond dynamically to player input. They hide secret weaknesses that players must discover and exploit through natural conversation to progress.
⛓️ On-Chain Economy: Integrated with the Solana Blockchain, players perform real Devnet transactions to influence the world—such as "bribing the rat" to receive cryptic hints.
🌆 Atmospheric Platforming: A custom-built Phaser engine handles high-resolution normalized character animations and dynamic parallax backgrounds that change based on the story state.
⚙️ How we built it
The project is built on a modern, high-performance stack:
- 🎮 Game Engine: Phaser 4 for core physics, world rendering, and scene management.
- 💻 Frontend UI: React 19 and Tailwind CSS 4 for the HUD, inventory systems, and responsive dialog overlays.
- 🤖 Artificial Intelligence: Google Gemini API (gemini-2.5-flash) for real-time, context-aware NPC personality simulation and branching logic.
- 🔗 Blockchain: Solana (@solana/web3.js) for secure, low-latency in-game transactions and wallet integration.
- 🧩 Language/Build: TypeScript for robust type safety and Vite 8 for lightning-fast bundling.
- 🖼️ Asset Pipeline: Custom Node.js scripts using the Canvas library to normalize and center raw character poses into uniform, jitter-free 800x800 spritesheets.
🧱 Challenges we ran into
One of the primary hurdles was synchronizing the React UI state with the Phaser Game world, especially during real-time AI dialogue generation. We also faced significant challenges in Asset Normalization—algorithmically centering and padding varying character artwork to ensure smooth animations without visual "glitching" or jumping.
🏆 Accomplishments that we're proud of
- ✔️ Successfully implementing a Stable Hitbox System for high-res character sprites.
- ✔️ Creating a context-aware dialogue system where NPCs remember previous turns and react to specific "secret" keywords.
- ✔️ Achieving a seamless merge between a traditional React web app and a high-performance game engine.
📚 What we learned
For both of us teammates, this was the first time working on a project together and our first hackathon ever. It was a great experience to learn how to build a complex project under strict deadlines and how to effectively split tasks between game logic and UI. We also gained deep experience in prompt engineering for NPCs and the intricacies of integrating blockchain providers into a gaming frontend.
🚀 What's next for Nightshade
- 🤖 More AI Characters: Adding more characters controlled by artificial intelligence to diversify the gameplay.
- 🗺️ New Levels: Adding more levels to expand the world and keep the experience fresh.
Log in or sign up for Devpost to join the conversation.