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.
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.
The game uses a classic game loop + state machine architecture:
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.
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):
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.
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.
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.
Core survival system, 10-day progressive difficulty, resource gathering and crafting, day/night cycle, PC keyboard + mobile touch dual-platform support
Ambient sounds (birds, wind, campfire), background music, collection sound feedback
LocalStorage save, completion records, best survival day leaderboard
Wild animals (wolves, bears), combat system, weapon crafting, trap system