Inspiration
The entire inspiration for One Year Ago was a single, raw narrative poem that I wrote long ago. The poem tells the tragic story of a boy waiting endlessly for a text back from his loved one, only to feel his vision blur, hear the beeping of hospital monitors, and realize he had been in a year-long coma. His memories of their dates and final messages were all his brain trying to make sense of the tragic accident that put him there.
I wanted to find a way to breathe active, visual life into this poem. Instead of just letting people read it on a page, I wanted them to live it-to slowly play through the chapters of San's memories, only to uncover the poem at the very end as a final, crushing realization of what actually happened.
What it does
One Year Ago is a melancholic, interactive narrative game that serves as a playable companion to the original poem.
~Players walk through atmospheric chapters (like "White Ceiling" and "The Corner"), exploring San’s world, examining wilted flowers, and lighting candles at a street corner.
~The game features a split-interface design: a retro pixel-art world combined with an interactive modern smartphone UI where players can actively recover past text messages.
~The climax of the game occurs when players open San's physical journal and read the full poem. The final, devastating line of the poem—"Last seen was 389 days ago"—mirrors the realization that San was the one driving during the crash, and his reality has completely slipped away.
How we built it
We designed the game specifically to support the poem's narrative flow:
~Gameplay Canvas: Built using Phaser 3 to manage the coordinate triggers, player movement, and ambient elements like falling rain, flickering candle graphics, and wet asphalt reflections.
~Typographic Overlays: We bypassed the visual limitations of a game canvas by overlaying a styled HTML5/CSS3 layer directly over the Phaser build. This allowed us to render the custom-styled phone screen and the final journal book layout with clean, readable fonts.
~AI as a Creative Editor: Since the poem was the heart of the project, we used Large Language Models (LLMs) to carefully review its grammar, meter, and stanza pacing. The AI helped polish the phrasing to make sure the rhythm read beautifully on screen without altering the original emotional voice or plot points.
Challenges we ran into
~Fitting the Poem on the Screen: The original poem is quite long (25 stanzas). Creating a scrollable, atmospheric diary overlay that felt like a cohesive part of the game world-rather than a jarring wall of text-was a major UI challenge. We had to carefully tune the CSS line-height, letter-spacing, and padding so players could scroll through it comfortably on a single screen.
~Contrast and Atmospheric Lighting: Because the game takes place in a dark, wet street corner at night, we struggled with text visibility. Important UI elements and titles (like the "Last Seen" title on the journal) initially blended completely into the black background. We had to fix broken CSS selectors and fine-tune hex colors to make text readable without ruining the dark, moody atmosphere.
~Syncing Game Pause with UI Openings: When players open the journal to read the poem, Phaser's physics engine has to completely freeze so the character doesn't walk away in the background. Bridging the gap between DOM overlays and Phaser scenes required careful state management.
Accomplishments that we're proud of
~Translating Text into Gameplay: We successfully transformed a static poem into an active, 5-chapter atmospheric journey. Every visual element in the final scene-the wet ground, the candles, the rain-perfectly mirrors the quiet grief described in the poem.
~The Smartphone Simulation: Building a responsive, cleanly animated mobile phone interface that overlays perfectly on top of a retro-style game.
~Polishing the Tone: Finding the exact balance of a dark color palette, quiet piano melodies, and minimal interface elements to evoke a genuine sense of sorrow in players
What we learned
~The Value of Creative Adaptation: We learned that mechanics don't need to be complex to be impactful. Simply walking through a scene and interacting with a single object can make reading the final poem feel incredibly earned and intimate.
~Effective Human-AI Collaboration: We discovered that AI is highly effective when treated as an editor. Using it to find subtle typos in our CSS or suggesting alternate rhyming words kept the development process moving quickly while keeping our original writing in the spotlight.
What's next for One Year Ago
~More Chapters & Mysteries: We plan to build out the full story leading up to the crash, introducing new mystery-filled chapters that let players experience the other events mentioned in the poem (like buying the flowers and dining together).
~Deep Backstory Files: We will add unlockable files, hidden letters, and medical records scattered across the scenes to give players a deeper look into the tragic backstory of San and his lover.
~An Expanded Map: We want to transition the game from a single-screen street corner into a fully connected map, allowing players to explore the hospital hallway, the train station, and the streets in between.
~More Interactive Environments: We want to make the world feel alive by allowing players to interact with almost everything-reading signs, checking streetlights, and picking up physical objects.
~Choices and People (NPCs): We plan to introduce branching dialogue choices and other characters (like the doctor, the nurse, or passengers at the train station) to make the journey highly interactive, letting the player's choices shape how San remembers his past.
Log in or sign up for Devpost to join the conversation.