Harvest-Hallow

byMatt Henry

Build an original browser-based multiplayer worker-placement board game prototype. Game title: Harvest Hollow Do NOT copy Agricola, Catan, Stone Age, or any existing board game. Make an original simple worker-placement prototype inspired only by the general genre. Core experience: - 2–4 players - Turn-based worker placement - Each player has 3 workers - Players take turns placing one worker at a time on available board spaces - Each space can only hold one worker per round - After all workers are placed, resolve the round - Game lasts 6 rounds - Highest score wins Theme: A cozy fantasy village where players lead tiny woodland clans preparing for winter. Resources: - Food - Wood - Stone - Herbs - Coins Scoring: - Coins are worth 1 VP each - Buildings are worth printed VP - Feeding your clan each round matters - Unfed clan members cause -2 VP penalties Board spaces: 1. Forage Grove: gain 3 Food 2. Timber Trail: gain 2 Wood 3. Stone Hollow: gain 2 Stone 4. Herb Garden: gain 2 Herbs 5. Market Stall: trade any 2 resources for 3 Coins 6. Builder’s Yard: build 1 available building by paying its cost 7. Hearth Hall: reduce feeding cost this round by 2 Food 8. Elder Tree: gain 1 VP and draw 1 event card Buildings: Create 10 simple buildings with costs and VP values, such as: - Wood Hut: cost 3 Wood, worth 3 VP - Stone Oven: cost 2 Stone + 1 Wood, worth 4 VP, reduces feeding by 1 - Herb Shop: cost 2 Herbs + 1 Wood, worth 4 VP, gain 1 Coin per round - Watch Tower: cost 3 Stone, worth 5 VP - Root Cellar: cost 2 Wood + 2 Stone, worth 5 VP, stores extra food - Market Cart: cost 2 Wood + 2 Coins, worth 4 VP, improves trades Event cards: Create 12 simple round events. Examples: - Rainy Week: Forage Grove gives +1 Food this round - Wood Shortage: Timber Trail gives -1 Wood this round - Festival: Each player may pay 2 Food for 2 VP - Traveling Merchant: Market trades give +1 Coin this round Technical requirements: - Build as a full-stack web app. - Use a clean modern frontend UI. - Board spaces should be clickable. - Show player resources, workers remaining, buildings, VP, current round, and current player. - Validate legal moves on the server, not only the client. - Store complete game state. - Support creating a game lobby and joining with a player name. - Support local hotseat mode first if real-time multiplayer is too much. - Keep architecture modular: - game rules engine - game state model - frontend UI components - API routes / backend services - tests for legal moves and scoring Prototype priority: 1. Hotseat local multiplayer 2. Correct rules engine 3. Clean board UI 4. Save/load game state 5. Online multiplayer after hotseat works Do not overbuild authentication, payments, chat, avatars, or complex animations yet. Deliver: - Working prototype - Setup instructions - Game rules summary - Basic tests for: - placing workers - preventing occupied-space placement - resolving rounds - building construction - feeding penalties - final scoring

LandingGameBoardGameEngineLobbyMultiplayerSetup
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

Harvest-Hallow

Introduction

Harvest-Hallow is an original browser-based multiplayer worker-placement board game prototype. The game is set in a cozy fantasy village where players lead tiny woodland clans preparing for winter. The objective is to strategically place workers, gather resources, and construct buildings to score the highest points over six rounds.

System Overview

Harvest-Hallow is designed as a full-stack web application, supporting 2–4 players in a turn-based worker placement format. Each player controls three workers, placing them on various board spaces to gather resources, construct buildings, and earn victory points (VP). The game emphasizes strategic planning and resource management, with a focus on creating a seamless and engaging user experience.

Page 2 of 5

Functional Requirements

  • As a Player, I want to place workers on board spaces to gather resources.
  • As a Player, I want to resolve rounds after all workers are placed.
  • As a Player, I want to score points based on collected resources and constructed buildings.
  • As a Player, I want to manage resources like Food, Wood, Stone, Herbs, and Coins.
  • As a Player, I want to construct buildings that provide VP and other benefits.
  • As a Player, I want to draw and resolve event cards each round.
  • As a Player, I want to play in a local hotseat mode.
  • As a Player, I want to save and load game states.
  • As a Player, I want to join online multiplayer games.
  • As a Player, I want to see a clean and modern UI with clickable board spaces.
  • As a Developer, I want to validate legal moves on the server.
  • As a Developer, I want to store complete game states in a database.
  • As a Developer, I want to support creating a game lobby and joining with a player name.

User Personas

  • Player: A user who participates in the game, managing resources and making strategic decisions to win.
  • Developer: A user responsible for implementing and maintaining the game's technical infrastructure.

Core User Flows

  • Player places a worker -> gathers resources -> constructs buildings -> scores points -> resolves round.
  • Player joins a game lobby -> selects player name -> starts a game in local hotseat mode.
  • Developer sets up the monorepo -> builds the game engine -> implements UI components -> adds backend API -> integrates database.
Page 3 of 5

Visuals Colors and Theme

  • primary: #4A7C59 (Forest Green)
  • primary_light: #A8D5BA (Light Mint Green)
  • secondary: #D9B44A (Golden Yellow)
  • accent: #FF6F61 (Coral Red)
  • highlight: #FFA07A (Light Salmon)
  • bg: #F5F5DC (Beige)
  • surface: rgba(255, 255, 240, 0.8) (Ivory)
  • text: #2F4F4F (Dark Slate Gray)
  • text_muted: #708090 (Slate Gray)
  • border: rgba(72, 61, 139, 0.2) (Dark Slate Blue)

Signature Design Concept

The Harvest-Hallow homepage will feature an interactive 3D village map using @react-three/fiber and @react-three/drei. Players can explore the village by clicking and dragging to rotate the scene, zooming in on different board spaces like Forage Grove or Timber Trail. Each space will animate with subtle movements, such as swaying trees or flickering lights in buildings, providing a dynamic and immersive experience. Hovering over spaces will display resource information and potential actions, while clicking will place workers or perform actions. This interactive map will serve as both a visual centerpiece and a functional game board, enhancing player engagement and immersion.

Page 4 of 5

Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, with layered depth effects as players scroll through the village map. Decorative elements like clouds and birds will move at different speeds, creating a sense of depth and movement. The game board will feature moderate animations, such as worker placement and resource collection, triggered by player actions. Internal pages, like settings and profiles, will maintain a "static" layout for clarity and ease of use.

Non-Functional Requirements

  • The game should support 2–4 players.
  • The game must be playable in local hotseat mode.
  • The game should have a clean and modern UI.
  • The game state must be stored and retrievable from a database.
  • The game should support online multiplayer functionality.

Tech Stack

  • Frontend: React + TypeScript + Vite
  • Backend: Node + TypeScript + Fastify
  • Real-time Communication: Socket.IO
  • Database: Prisma with SQLite locally, Postgres when deployed
  • Styling: Tailwind CSS
Page 5 of 5

Assumptions and Constraints

  • The game will initially focus on local hotseat mode, with online multiplayer as a secondary priority.
  • Authentication, chat, and advanced animations will be deferred until the core game loop is functional.
  • The game will be developed as a monorepo with separate directories for web, server, and game packages.

Glossary

  • Worker Placement: A game mechanic where players place workers on board spaces to perform actions.
  • Victory Points (VP): Points earned through various actions, determining the winner.
  • Hotseat Mode: A local multiplayer mode where players take turns on the same device.
  • Parallax: A visual effect where background elements move slower than foreground elements, creating depth.
  • Monorepo: A single repository containing multiple projects or packages.
Landing design preview
Setup: Init Monorepo
GameEngine: Build State Types
GameEngine: Implement Move Validation
GameEngine: Build Round Resolution
GameEngine: Implement Scoring
GameEngine: Run Tests
API: Create Game Endpoint
API: Submit Move Endpoint
API: Save Load State
Database: Configure Prisma
Database: Store Game Snapshots
Multiplayer: Setup Socket Rooms
Multiplayer: Broadcast Game State