← Back to Blog

Building Void Survivors: From Concept to Browser Game

Every game starts with a simple question. For VOID SURVIVORS, the question was: how simple can a game be while still being genuinely fun?

The answer turned out to be: one button (theoretically), two dimensions, and a lot of math.

The Spark

The idea came from the surge of popularity in auto-shooter and bullet heaven games. We loved the core loop: fight enemies, gain power, survive longer. But we noticed that most of these games required downloads, had significant hardware requirements, or came with monetization that affected gameplay.

We wanted something different: a game that anyone could play instantly. No download. No account. No pay-to-win. Just open a browser tab and go.

Technical Decisions

From the start, we committed to building with zero dependencies. No React, no Unity, no WebGL libraries. Just vanilla JavaScript, the Canvas 2D API, and the Web Audio API.

This decision had real consequences. We had to write our own game loop from scratch, implement our own collision detection, build particle effects without any library, and synthesize all audio programmatically. Every feature required building the foundation ourselves.

But the payoff was equally real. The game loads instantly. There are no build steps, no dependency conflicts, no version mismatches. The entire game is three files (HTML, CSS, JavaScript) in a single directory. It is about as close to "open and play" as a web game can get.

The Development Process

Development started with the game loop. We built a basic canvas, added a moving square, and then added squares that moved toward the square. From this simple starting point, we iterated:

Challenges

The biggest challenge was the enemy pathfinding. Initially, enemies moved directly toward the player at all times. This created predictable gameplay but also allowed players to exploit the AI by moving in specific patterns. We adjusted enemy behavior to include slight randomness and variable approach angles.

Another challenge was balancing the upgrade system. We wanted every upgrade to feel viable while still rewarding strategic selection. This required extensive playtesting across different upgrade combinations to ensure no single build was dominant and no upgrade was a trap choice.

What We Learned

Building VOID SURVIVORS taught us that game development does not require massive teams or budgets. A focused concept, clean implementation, and a willingness to iterate can produce something genuinely fun. The constraints we chose (single file, zero dependencies, browser-based) forced creative solutions that ultimately made the game better.

We are proud of what we built, and we are excited to keep improving it. The game you play today is version 1.0 — and there is much more to come.