Kiro Game Night

Build a Game with AI in 3 Hours

Note: Check the slides here: Kiro Game Night Workshop


Hi, I’m Neil

  • Lead Software Engineer by title
  • Community Connector by choice
  • Built a text adventure with Kiro
  • Today: helping you build a game

Today’s Plan

  • Game Design 101 (20 min)
  • Game Dev 101 (20 min)
  • Kiro Demo (20 min)
  • Game Jam (90 min)
  • Deploy & Judge (20 min)

Game Design 101


What Makes a Game?

  • Goal — What is the player trying to do?
  • Rules — What can and can’t they do?
  • Feedback — How do they know they’re progressing?
  • Fun — Why would someone keep playing?

Design Principles

  • Start small — Finished simple > unfinished complex
  • Core loop — The repeated action (jump, shoot, choose)
  • Juice — Details that feel good (shake, sound, color)
  • Constraints breed creativity

Good Jam Genres

  • Text Adventure — Story choices, minimal code
  • Clicker / Idle — Simple, satisfying progression
  • Quiz / Trivia — Easy to make, fun to play
  • Simple Arcade — Dodge, collect, survive

Quick Exercise

Write down your game idea in one sentence, the core loop, and your tech choice.


Game Dev 101


Vanilla JS — Browser Games

  • HTML — Structure (buttons, text)
  • CSS — Styling (colors, layout)
  • JavaScript — Logic (state, events, DOM)
  • Canvas API — For graphical games

JS Game Loop

function gameLoop() {
  update()    // change game state
  render()    // draw to screen
  requestAnimationFrame(gameLoop)
}
gameLoop()

Python — Text Games

  • Input/Output — input() and print()
  • Game state — Dicts and lists
  • Flask — If you want a web frontend

Python Game Loop

while game_running:
    show_status()
    action = input("> What do you do? ")
    process_action(action)

Key Concepts

  • Game State — Variables tracking everything
  • Player Input — Keys, clicks, or text
  • Game Loop — Update → Render → Repeat
  • Win/Lose — When does it end?

Kiro Demo


”I Am Please”

A text adventure built live with Kiro. Try it at iam-please.neilriego.me


Demo Flow

  1. Create a new project in Kiro
  2. Write a spec describing the game
  3. Let Kiro scaffold the code
  4. Iterate — add features one at a time
  5. Test locally and polish

Kiro Tips

  • Be specific in prompts
  • Use specs — .kiro/specs for game design
  • Iterate small — one feature, test, next
  • Review the code Kiro generates

Game Jam


Rules

  1. Solo or pairs — Up to 2 per team
  2. Use Kiro as your primary tool
  3. Browser-playable — Must run in browser
  4. Open theme — Build anything
  5. 90 minutes to build

Workflow

  • First 10 min — Plan and scope down
  • Next 60 min — Build with Kiro
  • Last 20 min — Polish and bug fix

“Create a text adventure where the player wakes up in a mysterious room and must find clues to escape. Use vanilla HTML/CSS/JS with a retro terminal style.”

— Starter Prompt: Text Adventure


“Create a cookie clicker-style game where the player clicks to earn points and can buy upgrades. Use vanilla HTML/CSS/JS with satisfying click animations.”

— Starter Prompt: Clicker Game


“Create a trivia quiz game with 10 questions, a timer, score tracking, and a results screen. Use vanilla HTML/CSS/JS.”

— Starter Prompt: Quiz Game


“Create a simple arcade game where the player moves with arrow keys to dodge falling objects. Track a survival timer as the score. Use HTML Canvas.”

— Starter Prompt: Survival Game


Deploy to itch.io


Deployment Steps

  1. Build — npm run build (if using Vite)
  2. Zip — the dist/ folder or your files
  3. Upload — itch.io/game/new → select HTML
  4. Check — “Played in the browser” ✓
  5. Share the link with the group

Submission & Judging


How to Submit

  1. Go to the jam page on itch.io
  2. Click Submit your project
  3. Select your game
  4. Add a short description
  5. Click Submit

Voting Categories

  • Most Creative — Unique concept or twist
  • Most Polished — Best looking and feeling
  • Most Fun — The one you kept playing
  • Best Use of Kiro — Clever AI-assisted dev

Judging Tips

Be generous — everyone built this in 90 minutes. Rate what’s there, not what’s missing.


Q&A

Questions, ideas, or “how do I make this work?”


Thank You!

Let’s connect: