Michael Dimitrov

Software Engineer

← Back to home

Project

Organism

An experimental game inspired by Conway's Game of Life, about growing a multicellar organism while managing limited energy.

Role
Game designer & developer
Team
Solo project
Tools
JavaScript, HTML Canvas, Node.js, Express, SQLite
Organism

Problem & Context

Organism is a small strategy game where you control a multi-cell organism inspired by Conway’s Game of Life. New cells (“buds”) appear at set intervals and can be steered using arrow controls, but only after they have matured. As you expand, nearby food sources spawn energy that you can collect if your organism’s buds are close enough.

The twist is that your energy bar depletes faster as the organism grows. Bigger organisms give you a higher score but are harder to sustain, and if energy gets too low buds begin to die at random, which is especially painful when they are near food sources. The game becomes a balancing act between expansion, survival, and smart positioning. I also built a custom tile-based map painter so I can sketch maps like “Chicago” or “Los Angeles” and show them in the level selector.

Process

Technical notes

The game runs as a single-page JavaScript app rendered on an HTML canvas. The organism grid, energy sources, and UI are all drawn manually with the canvas 2D API and a simple game loop, rather than using a game engine.

Maps are stored on a small Node.js backend using SQLite. A custom tile-based map painter saves and loads maps with parameterized SQL queries (e.g., fetching by map id or name), which makes it easy to add or tweak levels without touching the client code.

Reflection & Next Steps

Next steps are mostly polish: add more maps using the painter, prevent energy spawns and organism growth outside the playable area, and tune spawn rates and difficulty. Once those pieces are in place, Organism will be ready for broader playtesting and a small web release.

Links

Gallery

Organism's gameplay experience begins on the eye-catching play screen.
Players can select maps to play from the level selector.
Managing their energy (the bar at the top) is the key part of Organism.
The map painter allows me to create new level for the game.