In progress

Knights of the Picnic Table

Developed with Unity and ink

Knights of the Picnic Table is a cosy indie game inspired by Short Hike's exploration in a tiny world and Night in the Wood's narrative storytelling. It follows a kid who visits grandma in the countryside over summer, makes friends with the local kids and becomes a Knight of The Picnic Table. The game themes around passing time, and joy of childhood but also touches upon bullying, and alcoholism by subtly theming at those, in contrast to the made up fantasy world in the kids adventures.

The game is structured as an eight-day summer arc. All the story is written so far, with a demo build of the entire day 2 in progress.

Systems I implemented

  • Ink narrative integration — one Ink story file per calendar day, compiled to JSON and loaded when the day changes. Dialogue is keyed by NPC and current quest (e.g. grandma_findjam). Ink calls back into C# via external functions to advance quests and record player choices.
  • Quest and story state machine — a StoryManager holds ordered quest lists per day and drives what NPCs say and which world objects are interactable. Branching hangout choices on Days 3, 5, and 7 are persisted and affect later progression.
  • Day and time progression — a fourteen-day summer structure. Going to bed when the day's final quest is complete advances to the next morning, reloading the day's Ink story and quest list.
  • 3D player controller — isometric-style movement using Unity's New Input System, with proximity triggers for NPCs and interactables and contextual prompts such as [E] Talk to Grandma.
  • NPC dialogue — per-character speech bubbles (TextMeshPro, world-space canvas) that pull the correct Ink line for the current quest. Leaving an NPC's trigger ends the conversation.
  • Interactable architecture — a mixin pattern where a single interact action runs all child behaviours. Quest-gated objects only advance the story when the current quest matches, and can remove themselves from the world once completed.
  • Scene transitions — doors load interior and exterior scenes (main world, Grandma's house, shop, and more).
  • Save and load — encrypted JSON persistence for current day, quest, player position, and branching flags. New Game and Load Game on the main menu; save, load, and resume from the pause menu.
  • UI — on-screen quest tracker, interaction hints, pause overlay, inventory overview, and dialogue windows

The architecture extends patterns from my Making a Visual Novel with Unity blog series into a 3D exploration format — Ink handles dialogue and shuffle variations; C# owns quest order, branching, and world state.