Inspiration
I’ve always been fascinated by time-loop narratives in games like Outer Wilds and The Legend of Zelda: Majora’s Mask. I wanted to craft a bite-sized, replayable mystery you could build—and play—start to finish in a single Bolt.new session.
What it does
Forgotten Attic traps you in a 60-second loop inside a haunted mansion. Each reset shuffles rooms, ghosts, and clues. Collect spectral memories (E to collect), interrogate spirits (Space to talk), and solve puzzles (F) before time runs out. Multiple endings hinge on which secrets you uncover.
How I built it
I used Bolt.new’s visual logic builder to define the time-loop timer, procedural room generator, and NPC dialogue states. Pixel art assets were laid out on Bolt.new’s canvas, and I hooked up interactions with Bolt.new’s “on-collect” and “on-interact” blocks. A custom HUD component in React displays the loop counter and “Built with Bolt.new” badge.
Challenges I ran into
- Time-loop logic: Ensuring rooms reset seamlessly without breaking object references took a few iterations of Bolt.new’s state blocks.
- Procedural puzzles: Designing enough variety in 3×3 grid layouts to feel fresh in just 60 seconds.
- Polish under deadline: As a one-shot challenge entrant, I had only one uninterrupted Bolt.new session to prototype, test, and deploy.
Accomplishments that I’m proud of
- A fully playable 60-second time-loop mystery deployed on Bolt.new in under 3 hours.
- Procedurally generated rooms with unique clue distributions and branching endings.
- A clean React HUD overlay showing loop count, location name, and “Built with Bolt.new” badge.
What I learned
- Bolt.new’s visual logic blocks can handle surprisingly complex state machines.
- Rapid prototyping with no-code tools sharpens design discipline—every feature must earn its place.
- Micro-narratives thrive under tight constraints: a short loop fosters tension and replayability.
What’s next for Forgotten Attic
I plan to add ambient soundtracks, richer branch dialogues, and a level-editor mode so players can craft their own haunted loops—and share them with the community!
Built With
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.