Bird Survival Simulation
Planned
Simple-Sprite Wildlife Simulation
2D Tile Map Survival System

Build a small bird-life 2D tile map survival system where survival and nesting behaviors drive visible sprite states. The implementation is planned.
Bird Life 2d Tile Map System
Purpose & Learning Objectives
Why this project exists and what the implementation should teach.
Purpose
Build a small bird-life simulation where survival and nesting behaviors drive visible sprite states.
Learning Objectives
- Model bird state independently from sprite appearance.
- Create movement and behavior state transitions.
- Use simple older-style sprites rather than detailed modern illustration.
- Track health, weakness, ground state, flight, and resource gathering.
- Represent nest/material interactions as game systems.
- Design the game so additional bird species and behaviors can be added later.
Research & Planning
Objective
To build a single-player demo of Web Earth Online featuring a player character, tile movement, and basic survival stats.
JavaScript will be the language language in.
Phaser will be the engine doing all the heavy lifting.
Canvas 2D can be the drawing board inside the browser that Phaser paints sprites and tiles onto.
I'll need data. JSON is a data format Phaser can use when loading tile maps, item lists, or game configs.
The browser's native sound engine Web Audio API can be used by Phaser calls whenever I play a sound effect
TypeScript is potential a good tool I can use and learn better during this project.
Single index.html file importing Phaser via CDN.
Initialization configuration specifying a 2D canvas size, grid rendering, and Phaser's built-in Arcade Physics.
Terrain Grid: A 2D array or tilemap handling dirt, grass, and water tiles.
Obstacles & Collision: Wall properties applied to specific tile IDs (e.g., water or dense trees) to prevent the character from walking through them.
Character Sprite: A basic 2D sprite or vector image representing the player character.
Input Handling: Keyboard event listeners (cursors = this.input.keyboard.createCursorKeys()) mapping arrow keys or WASD to grid-aligned movement.
Stat Variables: Basic JavaScript variables tracking numeric values for Health, Hunger, and Thirst.
An automated time.addEvent tick that decreases Hunger/Thirst over time.
Simple fixed HTML/CSS or Phaser text labels pinned to the screen corners showing live stat updates
Planned Technologies
Current, planned, legacy, or candidate technologies for this project.Implementation Scope
Planned behaviors, architecture decisions, and evidence this project should produce.- Standing side view.
- Flying side view.
- Picking downward side view.
- Weak/sick side view.
- Ground top view.
- Health.
- Energy or condition.
- Air/ground state.
- Gathering state.
- Nest interaction.
- Movement.
- Resource gathering.
- Weakness/recovery.
- Nest progression.
- More species.
- Weather/food pressures.
- Breeding/nesting stages.
- Predator or habitat interactions.
Large explorable habitat with trees, water, mountains, grasslands, animals, food sources, nests, etc. Small animal/player sprite inside the world, rather than a character filling the screen.
Directional movement around the environment.
Current environmental conditions such as season, temperature/weather and wind.
Individual animal information such as sex, age, health and possibly identity.
Survival resources such as stomach/food, water, fat reserves and energy.
Context-sensitive actions such as eat, drink, inspect/view, rest, gather, and eventually nest-related behavior.
Nearby-world interaction panel showing things that are currently available to interact with rather than giving the player every possible action all the time.
Different habitat maps/biomes, as shown by the forest, mountain and grassland environments.A sense that the animal is living a life rather than completing conventional videogame levels.
Project Notes
Implementation context, boundaries, and later expansion.Visual Direction
Use simple older-game sprites and readable states; avoid polished illustration that obscures gameplay.
Engine Decision
Canvas and Phaser remain candidates until the first playable architecture is chosen.