GHOST.SYS

Built for the Code with Kiro Hackathon

An interactive narrative mystery game set within a haunted 1999 operating system.

Category: Games & Entertainment


💡 The Idea

What if a ghost wasn't in a house, but in a machine?

GHOST.SYS was born from a love for old-school operating systems and "found footage" style storytelling. We wanted to create a game where the environment tells the story. The player becomes a digital archaeologist, piecing together a life from the fragments left behind on a hard drive.

The story explores the final days of a brilliant programmer tasked with a critical Y2K compliance project at a major corporation. As you navigate his desktop, you interact with his digital ghost and uncover the truth: his death wasn't a result of the Y2K bug he was fighting, but a personal tragedy he hid from his family and colleagues. It's a mystery that unfolds through chat logs, corrupted files, and hidden clues.

🎮 Gameplay & Features

  • Retro OS Simulation: An immersive, fully interactive desktop environment styled after Windows 98/2000, built with vanilla HTML, CSS, and JavaScript.
  • Point-and-Click Exploration: Open applications, browse the file system, check bookmarks, and listen to audio files to find clues.
  • Narrative-Driven Mystery: Engage in conversations with the system's ghostly owner through an instant messenger, unlocking new topics as you discover more information.
  • Environmental Storytelling: The story isn't told to you; you uncover it. Every file, every chat log, and every corrupted piece of data is a piece of the puzzle.
  • Emotional Core: Uncover a poignant story about family, immense pressure, and the secrets we keep to protect the ones we love.

🛠️ Technical Stack

  • Frontend: Vanilla HTML5, CSS3, JavaScript (ES6)
  • AI Development Partner: Kiro

✨ How We Used Kiro

Kiro was not just a tool for writing code faster; it was our partner in game design, narrative development, and implementation. It was instrumental in turning our concept into a fully playable experience.

Spec-Driven Development: Building the OS

The entire retro OS interface was built using Kiro's spec-to-code functionality. We wrote high-level specs describing the behavior of our UI components, and Kiro generated the foundational HTML, CSS, and JavaScript.

  • Spec Example for a Window: "Create a draggable window component. It must have a title bar that shows the application name and an emoji icon. The title bar should also contain a close button. The window content area should be distinct and scrollable if content overflows."

Kiro handled the complex logic for window dragging, z-index management, and state, allowing us to focus on the game's content and narrative.

Conversational Coding: Crafting the Narrative

The heart of GHOST.SYS is its story. We used Kiro's chat to "vibe code" the narrative. We brainstormed plot points, fleshed out the personalities of the programmer and his brother, and refined the dialogue.

  • Prompt Example: "Write a chat log between the protagonist, a stressed-out corporate programmer, and his younger brother. The brother is worried, but the programmer is being dismissive to hide that he is secretly very ill."

This conversational approach helped us maintain a consistent tone and create authentic-sounding conversations that form the emotional core of the game.

Agent Hooks: Automating Narrative Structure

Our game's narrative is stored in large JavaScript objects (storyData, fileData, etc.). Manually formatting this was tedious and error-prone. We configured a Kiro agent hook to automate this process.

  1. We wrote the narrative and file content in a simple Markdown-like format.
  2. The Kiro hook would trigger on save, parse our custom format, and automatically structure it into the required JavaScript object notation in our main.js file.
  3. This hook saved us hours of manual data entry and allowed us to rapidly iterate on the story.

AI-Powered Debugging

The final confrontation scene involves a complex UI where the player assembles a sentence from a word bank. We ran into several tricky logical bugs. We described the intended behavior to Kiro, and it helped us identify and fix the issues in our JavaScript event listeners and state management, ensuring the game's climax worked flawlessly.

Our /.kiro directory is included in the repository, showcasing the specs and hooks used in the development process.

🔮 Future Plans

  • Sound Design: Add ambient computer humming, notification sounds, and subtle audio cues to enhance immersion.
  • More Content: Expand the file system with more documents, images, and hidden sub-plots.
  • Alternate Endings: Introduce new choices that could lead to different narrative outcomes.

Built With

Share this project:

Updates