autumn-dayz is a browser-delivered, DayZ-style open-world survival game. The player controls a character in a first- or third-person view, explores a persistent open world, scavenges food, water, weapons and ammunition, fights threats such as zombies and other players, manages survival metrics (health, hunger, thirst), and tries to survive as long as possible until the character dies. The product intent is a tense, atmospheric survival experience that is quick to enter: a player can start a new session within moments of arriving, and a returning player can resume their durable character and survival progression.
The audience is players who want the tension, scavenging, exploration and constant threat of a DayZ-like survival game, delivered directly in the browser without installation.
This document is the System Requirements Document for the project; it specifies the product's features and workflows in full.
autumn-dayz is delivered as a React frontend backed by a shared FastAPI backend process with MariaDB for application-owned persistent data. The game world, character state, inventory, survival metrics, combat resolution and session lifecycle are owned by the application; the player interacts through a set of first-party pages.
Actors
Accepted behavior and ownership
Delivery boundary
The game is a first-party, browser-delivered application with application-owned identity. All game state that must survive a session (character, inventory, survival metrics, combat outcomes, death/restart state) is persisted server-side by the shared backend in MariaDB. No third-party game platform, provider-owned surface or external destination owns any accepted capability.
Narrow exclusions
Removed from scope
The product is a playable survival game, not a marketing site about one. The public entry surface is the game's front door: it presents the autumn survival world and routes the player either into a new session or back into an existing one. Because a character, its inventory, its survival metrics and its death/restart state must remain bound to the correct player between sessions, the application owns player identity: a new player enrolls on Sign Up, and a returning player verifies on Login before protected game surfaces become available. Landing, Login and Sign Up are anonymously reachable; Game Start, World, Inventory, Combat, Survival and Session require a verified player identity.
Everything the player does inside the game — moving through the world, scavenging, fighting, managing survival metrics, dying and restarting — is current scope and owned by first-party pages. Nothing in the accepted requirements is deferred to a future horizon. The shared FastAPI backend and MariaDB are the single persistence and game-logic authority; the React frontend renders the world, HUD and game surfaces.
Each requirement is a distinct story point with provenance, lifecycle facts and observable acceptance.
FR-1 — Open-world survival game (explicit). As a Player I should play a survival game in the DayZ style, so that I experience tension, scavenging, exploration and constant threat. Lifecycle: trigger = player enters the game; result = a playable survival world; failure = world fails to load, recoverable by retry; continuation = player proceeds into World. Acceptance: the game presents an open survival world with the accepted capabilities below.
FR-2 — Explore an open world (explicit). As a Player I should explore an open world, so that I can find loot, structures and threats. Lifecycle: trigger = player is in World; input = movement; result = character traverses regions and discovers loot/threats; failure = none material; continuation = discovery leads to Inventory or Combat. Acceptance: the player can move through and discover distinct world areas.
FR-3 — Control a character in first or third person (explicit). As a Player I should control a character in first- or third-person view and move through the world, so that I can navigate and act. Lifecycle: trigger = player in World; input = movement and view-mode toggle; result = character moves and view changes; failure = none material; continuation = movement leads to scavenging or combat. Acceptance: the player can move the character and switch between first- and third-person views.
FR-4 — Collect equipment and resources (explicit). As a Player I should collect equipment and resources — food, water, weapons, ammunition — so that I can survive and fight. Lifecycle: trigger = player approaches loot in World; input = collect action; result = item added to Inventory; failure = collection fails, recoverable by retry; continuation = item is available for use in Survival or Combat. Acceptance: collected items appear in Inventory with correct category and quantity.
FR-5 — Fight threats (explicit). As a Player I should fight threats such as zombies and other players, so that I can defend myself and survive. Lifecycle: trigger = player encounters a threat; input = attack with equipped weapon; result = threat defeated or player harmed; failure = no weapon/ammunition, recoverable by scavenging; continuation = outcome feeds Survival metrics and Session. Acceptance: combat resolves against zombies and other players and produces an observable outcome.
FR-6 — Manage survival metrics (explicit). As a Player I should manage survival metrics such as health, hunger and thirst, so that I stay alive. Lifecycle: trigger = player in Survival; input = consume food/water; result = hunger/thirst reduced and health affected; failure = no consumables, recoverable by scavenging; continuation = metrics persist and drive survival duration. Acceptance: health, hunger and thirst are displayed and change in response to consumption and combat.
FR-7 — Survive as long as possible until death (explicit). As a Player I should survive as long as possible until the character dies, so that I achieve the game's goal. Lifecycle: trigger = session active; result = survival duration accrues; failure = character death; continuation = Session offers end or restart. Acceptance: survival duration is tracked and character death transitions to Session.
FR-8 — Self-service enrollment (required_inference). As a new Player I should establish a durable game identity on Sign Up, so that my character and progression are bound to me. Lifecycle: trigger = new visitor chooses to start; input = enrollment form; result = identity created and routed to Game Start; failure = identity already exists, recoverable via Login; continuation = first character creation. Acceptance: a new player can enroll and reach Game Start.
FR-9 — Returning verification (required_inference). As a returning Player I should verify my identity on Login, so that I can resume my protected character and survival state. Lifecycle: trigger = returning player chooses resume; input = credentials; result = verified and routed to Game Start with existing character; failure = invalid credentials, recoverable by retry; continuation = resume existing character. Acceptance: a verified returning player sees their persisted character.
FR-10 — Backend persistence (required_inference). As the system I should persist character, inventory, survival metrics, combat outcomes and session death/restart state, so that progression survives between sessions. Lifecycle: trigger = any state change; result = state written to MariaDB via the shared backend; failure = write failure surfaced as recoverable error; continuation = next session resumes correct state. Acceptance: state is durable and correctly restored on resume.
###\x20\xd7\xa9\xd7\x97\xd7\xa7\xd7\x9f (Player)
Flow A — New player starts a session.
Flow B — Returning player resumes.
Flow C — Scavenging.
Flow D — Combat.
Flow E — Managing survival metrics.
Flow F — Death and restart.
Authoritative creative direction: muse Bruno Simon, headline concept "עולם הישרדות סתווי\x20\xd7\xa9\xd7\x90\xd7\xa4\xd7\xa9\xd7\xa8 לה\xd7\x99\xd7\x9b\xd7\xa0\xd7\xa1 אליו" (an autumn survival world you can step into). The world itself is the interface.
Color tokens (dark mode):
#182015 (deep green-black, dusk forest)#263020 (dark olive)#F5E8C8 (cream)#D95D32 (rust orange — primary action)#E4B93B (amber — loot, warnings, thirst)#9BA07CBlue/indigo is not a brand or CTA color.
Typography:
clamp(52px, 10vw, 128px), H1 clamp(38px, 6vw, 76px), H2 30/42px, H3 22/28px, body 16/24px, HUD 13/18px, labels 11/14px.Shape language: Low-poly objects with slightly rounded edges (backpack, can, axe, wooden cabin, pointed trees). HUD components are dark, thick panels with 12px corners, thin ceramic outlines and simple short-shadow icons. Survival metrics are vertical gauges, not SaaS cards.
Layout: First page is a wide game window with minimal HUD over an autumn world. Small top bar holds logo, server status and entry; start action floats bottom-left. On wide screens the world fills most of the screen with info pinned to margins; at 768px the HUD collapses to two strips; at 375px the world stays focal and metrics move to an accessible horizontal scroll row above the action button.
Imagery: Atmospheric low-poly 3D scene — orange autumn trees, muddy path, rusty watchtower, abandoned cabin, extinguished campfire, survival bag, distant zombie silhouette. No stock photos, clip-art or gradient lobbies.
Readability rule: All readable text and controls stay whole inside the viewport and their container at 375px, 768px and 1280px, wrapping or scaling to fit; no element covers them. Imagery and motion may crop, bleed, rotate or overlap freely as long as they cover no readable text or control.
The public entry is a full-viewport low-poly autumn survival camp diorama at dusk. The two-line AUTUMN DAYZ wordmark sits left in cream at clamp(52px, 10vw, 128px) without covering the scene. Center-right, an orange path leads to a cabin and watchtower, with a backpack and axe in the foreground. A narrow HUD along the right edge shows HEALTH, HUNGER and THIRST as vertical gauges. A large rust-orange "\xd7\x94\xd7\xaa\xd7\x97\xd7\x9c\x20\xd7\x9c\xd7\xa9\xd7\xa8וד" button is pinned at the bottom, with a secondary transparent "\xd7\x94\xd7\x9e\xd7\xa9\xd7\x9a\x20\xd7\xa1\xd7\xa9\xd7\x9f" button. The scene moves with slight parallax and responds to mouse drag or touch; all text and controls remain outside the world's crop zones. Foreground loot objects (backpack, water can, axe) reveal a small name tag and collect affordance on hover or touch.
Interaction Model: Animated Motion Tempo: cinematic Hero Dimensionality: webgl
Landing Hero Motion Brief
Landing Hero 3D Scene Brief — DIRECTION-DERIVED A real-time WebGL/R3F low-poly autumn camp scene: a compact diorama showing the game's defining state — a survival camp at dusk with the path, cabin, watchtower, loot and distant zombie silhouette — rendered as the hero subject, with slight parallax camera response to pointer/touch and a static reduced-motion fallback.
prefers-reduced-motion with a usable static arrangement (wrapped rows or horizontal scrolling) so every item can be brought fully into view.backend, database and frontend services.app_owned_identity: true); Landing, Login and Sign Up are anonymous; all other pages require login.
אסוף. שרוד. אל תחזור הביתה.
Autumn Dayz · הכניסה ליער

אסוף. שרוד. אל תחזור הביתה.
Autumn Dayz · הכניסה ליער
No comments yet. Be the first!