It's Sketchy! — Host Console

The It's Sketchy! Host Console is the operator dashboard for running a live game of It's Sketchy!, a multiplayer drawing-and-bluffing party game built on the Gig.Game platform. The console is what the host (the person running the event) drives during play — it manages the prompt library, controls the round flow, moderates incoming art, and broadcasts to both the on-screen HUD and every connected player's phone.

This document covers what the game is, how it plays, every feature exposed by the console, and a step-by-step walkthrough for setting up and running an event.


What is It's Sketchy?

It's Sketchy is a fast, social party game in the spirit of Drawful. Each player is dealt a strange, funny, or oddly-specific prompt that only they can see. They draw it on their phone in under two minutes. Then everyone else sees the drawing and tries to bluff the rest of the room by writing a fake answer that sounds plausible. Finally, every drawing's real prompt is mixed into the pool of bluffs and players vote for what they think is the truth.

Points come from two places:

  • Guessing the real prompt — pure deduction, +1000 points.
  • Tricking someone with your bluff — +500 points to you, –500 from the player you fooled.

That two-sided scoring is the whole hook: it rewards good drawing, good lying, and good reading of the room.

The console runs in any modern desktop browser. Players join from their phones via a QR code or access code (issued by the Gig.Game launcher framework, surfaced in the upper-right corner of the console). A separate HUD window is opened on the big screen — that's what the audience watches.


Gameplay Flow

A match cycles through these phases (all driven by the engine — see Engine.cs GameState):

  1. WaitToStart — Lobby. Players join via QR code, the HUD shows the join screen.
  2. StartSequence — 5-second intro animation (always 5s; not host-tunable).
  3. Drawing — Each player gets a unique prompt and draws on their phone. Default 120s. Players without a prompt (more players than prompts) become spectators for the round.
  4. Guessing — One drawing at a time appears on the HUD. Every non-artist player writes a fake prompt (a bluff) that the drawing could plausibly match. Default 30s. The engine rejects bluffs that match the real answer or duplicate another player's bluff.
  5. Reveal / Vote — All bluffs (up to 8) plus the real answer are shuffled and shown. Every non-artist player votes for the prompt they believe is real. Default 15s. Players cannot vote for their own bluff.
  6. Score — Round results — who got it right, who got fooled, and the running scoreboard. Default 5s.
  7. Ad (optional) — A promo plays based on the host's configured ad frequency.
  8. Loop — Steps 4–7 repeat for each submitted drawing in the round queue.
  9. Ending — Final scoreboard with rank and winner, plus session-score persistence to the Gig.Game server.

The host can override any phase boundary at any time via Move Next Phase, regardless of timer state.


Feature List

Lobby & Session

  • Live access code + QR code — pulled from the Gig.Game framework ($GG.getGameCode() / $GG.getQrCode()) and displayed in the upper-right of the settings panel. Players scan the QR or enter the code at hub.gig.game/play.
  • Live player roster — every joined player appears in the left rail with their name and current state. A click filters the stage view to a single player.
  • HUD launch button — opens the big-screen audience HUD in a separate window for projecting/sharing.

Prompt Library (the core asset for any match)

Five ways to populate the prompt list, all interchangeable and editable in place:

  • Manual entry — type a prompt, click + Add. Edit any existing prompt inline. Delete with the trash icon.
  • AI Prompt Builder — give the AI a theme (e.g. "haunted mansion", "rock concert", "pirate treasure") and a count (1–100). The AI generates a curated, weird, drawable mix across five categories: surreal mashups, oddly-specific scenarios, abstract concepts made literal, mangled pop-culture, and wordplay/idioms.
  • Prebuilt Prompt Packs — six bundled packs ship in /console/assets/:
    • Default Pack — the curated all-rounder loaded on first run
    • Abstract Pack — feelings, sensations, and concepts as drawable scenes
    • Absurd Pack — surreal mashups and impossible scenarios
    • Movies Pack — cinema-flavoured prompts
    • Music Pack — music-themed prompts
    • Wordplay Pack — puns and idioms drawn literally
  • Saved Prompt Sets — name and persist your own curated lists to the Gig.Game data store ($GG.server.saveDataSet("itssketchy", ...)). Reload any time, delete sets you no longer want.
  • Autosave — every 60 seconds while the game is in the lobby, the current prompt list saves to an "autosave" set. On next console load, the autosave is restored automatically — you never lose work between sessions.

Round Control

  • Start / Restart / End — push-button match lifecycle. Restart returns to the intro; End disables the game and clears state.
  • Move Next Phase — manually force the engine forward at any time. Useful when a phase timer is set to 0 (manual mode), or when you simply want to push past a slow round.
  • Pause / Resume — freezes the active timer for everyone — players, HUD, host. Pick back up exactly where you left off.
  • Live submission tracker — during gameplay, the Round tab shows a per-player table of submission status ( submitted / pending) and current score.
  • Drawing moderation — every submitted drawing has a Remove button. Removed drawings are skipped from the round queue but the player keeps participating (they still guess, vote, and score on other rounds). Restore undoes a removal as long as that round hasn't played yet.

Pacing & Advancement

  • Advancement Mode:
    • Auto Advancement — phases roll forward when their timer expires
    • Host Advanced — every phase waits for the host's Move Next Phase click (forces all timers to 0)
  • Per-phase timers (in seconds, only shown in Auto mode):
    • Time to Draw (default 120s)
    • Time to Bluff (default 30s)
    • Time to Vote (default 15s)
    • Time on Round Score (default 5s)
    • Time on Final Score (default 10s)
  • Set any individual timer to 0 to make just that phase manual while leaving the rest on autopilot — handy when you want long, host-narrated round-score reveals but tight drawing windows.
  • Start Control — choose between Only Host Starts Game and Host or Player Starts Game. The latter lets a player kick off the match from their phone, useful for low-host-attention events.
  • Auto-skip on full submission — when every player with a prompt has submitted (or every non-artist has guessed/voted), the engine advances early without waiting out the timer. Disabled when the phase timer is 0.

Theming & Branding

  • Background Theme Generator — describe any look ("neon retro", "country fair", "haunted mansion") and the AI image service generates a bespoke background image broadcast to both the HUD and every player's phone.
  • Custom upload — push your own image instead of generating one. The file picker accepts any image format.
  • Clear theme — drop back to the standard built-in background.

In-Game Ads / Promos

  • Promo media library — pulls from your Gig.Game media library (managed at hub.gig.game/en/media). Two media types are supported:
    • mp4 video — full-screen
    • mp3 + matched-name jpg — audio plus image card
  • Ad scheduling — configurable cadence:
    • Do Not Automatically Show Ads
    • After Every Round
    • After Every Other Round
    • After Every 3rd Round
    • Before the Final Score
  • Manual Play Promo — fire any configured ad on demand from the bottom of the settings panel without disturbing the underlying game state.

Audio

  • Music Volume — 0–100% in 10% increments. The engine includes a built-in soundtrack (theme intro / loop A / loop B / theme ending) that auto-cross-fades through phases. Mute (0) is supported and applies live without restarting the match.
  • Volume changes mid-game take effect immediately if music is currently playing; otherwise they stage for the next phase that turns music on.

Cross-device & Mobile

  • The console is responsive — when run on a tablet or phone, the right-hand settings panel collapses behind the gear icon (bottom-right) and the player stage takes the full screen. Tap the gear to bring controls back.
  • A built-in Mobile HUD frame (#mobile-hud) lets a host drive the entire match from a single phone, including jumping between HOST VIEW (everything you see on desktop) and NEXT (the audience HUD) without opening a second window.

Persistence

  • Prompt Sets — manually saved sets you can share across events.
  • Autosave — protects unsaved prompt edits between sessions.
  • Session score carryover — final scores write to the Gig.Game session via IncrementSessionScores, so they aggregate across multiple matches in the same event (useful for tournament-style nights).

Step-by-Step Host Setup Guide

This walkthrough assumes you've already created your game in the Gig.Game launcher. The launcher is what hands you the URL, the access code, and the player join QR code — it lives outside this codebase.

1. Open the console

Open the URL the Gig.Game launcher gave you for your It's Sketchy event. The page is index.html; the framework injects your game key, host key, and language. The console boots and immediately:

  • pulls the access code and QR from the framework (top-right of the settings panel)
  • loads any saved Prompt Sets from your account
  • restores the most recent autosave, OR loads the Default Pack if you've never used the console before

You'll see the host dashboard with the player list on the left, a Prompt Library card in the centre, and the Control / Round / Players tabs on the right.

2. Project the audience HUD

Click Open HUD at the bottom of the settings panel. A new window opens with the big-screen view — drag this to your projector / TV / second monitor and full-screen it. The HUD is what the room watches together; the console is for you only.

Players join through the QR code on the event page (provided by Gig.Game outside this codebase). The console's own QR is a fallback for when you want to point players to it directly. Either works — they both lead to the same hub.gig.game/play join page tied to your access code.

3. Build (or load) your prompt list

You need at least one prompt to start; ideally one prompt per player so everyone draws every round. Choose any combination:

  • Type prompts directly into the Add a Suggestion box and click + Add.
  • Click Prebuilt Prompts Packs → pick from Default, Abstract, Absurd, Movies, Music, or Wordplay → Load. (Loading replaces the current list.)
  • Click AI Prompt Builder → enter a theme (e.g. "office party") and a count → Generate Adventure. The AI returns a curated mix.
  • Click Load Prompt Set to pull in one of your previously saved custom sets.

Edit any prompt inline, delete duds with the trash icon, mix sources freely. When you have a list you like, click Save Prompt Set, give it a title, and Save — you'll be able to reuse it at future events.

The autosave runs every 60 seconds in the lobby. If you crash, refresh, or close the tab, your work comes back on next load.

Click Theme Generator. Either:

  • Type a vibe ("speakeasy", "tropical resort", "galaxy brain") and click Create Theme with AI — an AI-generated image becomes the backdrop on the HUD and every player's phone.
  • Click Upload Your Own Image to use a brand asset, event photo, or sponsor artwork.

Hit Remove Theme any time to revert to the default backdrop.

5. Configure pacing

In the Control tab → Game Play section:

  • Start Control — leave on Only Host Starts Game unless you want any player to be able to launch the match from their phone.
  • Advancement — leave on Auto Advancement for a hands-off match, or switch to Host Advanced if you want to narrate / banter between phases.
  • Phase Timings (only shown in Auto mode) — bump or trim any individual timer. Set a timer to 0 to make that one phase manual while the rest stay on autopilot. The "Time on Final Score" timer determines how long the leaderboard sits before returning to the lobby.

6. Set music volume

Drop Music Volume to taste — anywhere from Mute to 100%. Most rooms sit happiest around 30–50%. You can change this live mid-game; it takes effect on the next phase if music is currently quiet, or immediately if music is currently playing.

7. Add promotional ads (optional)

If your event has sponsors or call-outs:

  1. Visit hub.gig.game/en/media (linked from the console) to upload your .mp4 videos or .mp3 + .jpg audio cards. The framework manages the storage; the console just lists what you've uploaded.
  2. Pick an ad from Select Ad To AddAdd Ad To Game. Repeat for each ad you want in rotation.
  3. Pick a Promo Ad Automation cadence — every round, every other round, every third round, or only before the final score. Or leave on Do Not Automatically Show Ads if you want full manual control.
  4. During play, you can hit Play Promo at any time to manually fire any ad without disturbing game state.

8. Wait for players to join

Players scan the event QR code (or open hub.gig.game/play and type the access code). As they join you'll see them appear in the left-hand player list. Their default name is whatever the framework gives them; if a player renames themselves on their phone, the console updates live.

There's no minimum player count enforced by the engine — but the bluffing format wants at least 3 players to be fun (one artist, two bluffers). 5–8 is the sweet spot; 12+ is a riot but starts to push the per-round time.

9. Start the match

Click Start Game. The console:

  • locks down all configuration (you can't edit prompts, timers, or ads mid-match)
  • pushes config to the engine via HostEnable
  • auto-flips you to the Round tab so you can monitor the live game

A 5-second intro plays on the HUD, then the engine deals one prompt per player and the Drawing phase begins.

10. Run the match

From the Round tab, you can:

  • Watch the Live Submissions table populate as players finish drawing / guessing / voting.
  • Click Move Next Phase to skip ahead any time — even before the timer expires.
  • Click Pause / Resume to freeze everything (great for bathroom breaks or interruptions).
  • Switch to the centre stage and click any player to filter; click Remove on a drawing if it's inappropriate or off-topic. The artist keeps playing, only that single drawing is skipped. Use Restore to undo if you removed too quickly.
  • Switch to the Players tab to peek at the current scoreboard ranked by score.

11. End or restart

When the final scoreboard plays out (or whenever you want to bail):

  • Restart Game — returns to the lobby with all scores cleared, prompts intact. Same access code, same players.
  • End Game — disables the game session entirely. Players see a "game disabled" screen on their phones.

Either button is non-destructive to your saved Prompt Sets — those live on the server.


Troubleshooting Quick Reference

Symptom Likely cause / fix
Console shows "No drawings were submitted. Game over." Every prompted player had their drawing removed or no one submitted. Restart and check timer length.
Phase didn't auto-advance The phase timer is set to 0 (manual mode). Click Move Next Phase.
Players see a "Game disabled" screen on their phones The game has been ended (or never started). Click Start Game from the Control tab.
QR / access code is missing The Gig.Game framework didn't finish initialising — refresh the console; check that the launcher generated a code for the event.
AI Prompt Builder returned nothing Network issue or the topic was too restrictive. Check the toast for the actual error and try a broader topic.
Autosave warning on every refresh Likely a server data-store auth issue. Check the browser console — autosave failures don't block play, but your edits won't persist.
Music is too loud / too quiet Drop the Music Volume select; takes effect on the next phase or immediately if music is already playing.