Developer Log

Who I Am

Hi, I'm ChaoticArray, an indie developer passionate about game development. You can find my other projects on GitHub.

My technical background is mainly in frontend development (React, TypeScript), but I've always been passionate about game development. Forest Survival is my first complete attempt at combining frontend tech with game design, from concept to playable version in about 2 weeks.

The reason I chose to develop this game independently is simple: I wanted to play a truly instant-play survival game in the browser — no download, no registration, no loading screens. If it doesn't exist, build it yourself.

How It's Built

Tech Stack

The frontend uses React 19 with TypeScript, game rendering uses native HTML5 Canvas 2D API, and the build tool is Vite. The entire project follows a single-file component design, with core game logic concentrated in three files: engine.ts, renderer.ts, and GameCanvas.tsx.

Canvas 2D was chosen over WebGL because this is a 2D pixel-art game where Canvas 2D is more than sufficient, without needing heavy libraries like Three.js. The game map is 2400×2400 pixels with no more than 50 entities rendered simultaneously — Canvas 2D easily maintains 60fps on mainstream devices.

Game Architecture

The game uses a classic game loop + state machine architecture:

  • engine.ts — Game logic engine, handles state updates, collision detection, day/night cycle, resource generation and consumption
  • renderer.ts — Canvas renderer, handles drawing, particle effects, floating text, UI status bars
  • config.ts — 10-day difficulty config table, each day independently configures hunger/thirst decay, tree respawn time, night ratio, etc.
  • types.ts — TypeScript type definitions, ensuring full-stack type safety

The input system supports both keyboard events (PC) and touch events (mobile virtual joystick) simultaneously, abstracted through a unified InputState interface so the game logic layer doesn't need to care about input source.

10-Day Difficulty Curve Design

The difficulty curve is the heart of the game design. I use a progressive pressure escalation model that increases difficulty across multiple dimensions simultaneously, rather than a single dimension (like just increasing enemy HP):

  • Resource consumption acceleration: hunger/thirst decay increases from 0.4/s to 1.8/s
  • Resource supply reduction: initial trees decrease from 40 to 15, pools from 8 to 2
  • Environmental threat escalation: nighttime cold damage increases from 2/s to 15/s
  • Time pressure increase: night ratio grows from 30% to 55%
  • Cap compression: from Day 6, max hunger/thirst drops from 100 to 80, reducing margin for error

This design was tuned through 20+ internal test iterations. The goal: beginners survive Days 3-4, experienced players feel real pressure on Days 8-9, and only resource management masters can clear all 10 days.

AI Assistance Disclosure

The game code (engine.ts, renderer.ts, etc.) was manually written by the developer. AI tools were only used for generating some UI component code and development documentation. All game design decisions (difficulty curve, value balancing, art style) were made by humans and validated through multiple testing rounds.

Why Build This Game

There are many excellent survival games — Don't Starve, The Forest, Green Hell — but they all require downloads, take up storage space, and have steep learning curves. I wanted to fill the niche of lightweight browser survival games.

The target user is clear: players who want to quickly experience survival game fun in a browser. Maybe during a work break, or on mobile without downloading an app. The core value proposition is three words: no download, instant play, progressive difficulty.

In the long term, I hope to evolve this game into the foundation of a small game series, potentially adding multiplayer, custom maps, and mod support.

Changelog

2026-05-07

v1.0 Initial Release

Core survival system, 10-day progressive difficulty, resource gathering and crafting, day/night cycle, PC keyboard + mobile touch dual-platform support

Planned

v1.1 Sound & Immersion

Ambient sounds (birds, wind, campfire), background music, collection sound feedback

Planned

v1.2 Save & Progress

LocalStorage save, completion records, best survival day leaderboard

Planned

v2.0 Creatures & Combat

Wild animals (wolves, bears), combat system, weapon crafting, trap system