Sometimes, When I Need a Break from Work, I Build a Universe.

Sometimes, When I Need a Break from Work, I Build a Universe.

By Yuriy Zhar 7 min read
When I need a break from AI research, I work on Atlas of the Void: a browser-based space strategy game with living galaxies, exploration, growing civilizations, and serious engineering challenges.

Every now and then, when I need a break from work, bugs, and my seemingly endless AI research, I switch to something completely different.

Some people go for a walk. Some watch a movie. Others play games.

Me? I start developing browser games.

I'm not sure it's the best way to give my brain a rest, but it's one of the most enjoyable things I can think of.

One project I keep coming back to is Atlas of the Void, a browser-based space strategy game I've been developing in my spare time.

And as often happens with my projects, what was supposed to be a relatively simple idea has turned into something much more ambitious.

A universe that exists even when you're not there

The original idea was to create a space strategy game, somewhat in the spirit of OGame, but with one fundamental difference.

I didn't just want players to build bases, wait for timers, and accumulate resources. I wanted a universe that actually felt alive.

A persistent universe, where things keep happening even when a player is offline.

Planets produce and consume resources. Fleets travel through space. Colonies develop their own economies and sometimes go through difficult periods. Civilizations grow, encounter each other, trade, and fight.

Most importantly, the universe shouldn't have to wait for the player to exist.

I like imagining someone returning after a few days and discovering that the situation around their empire has changed.

Maybe a trade route has become dangerous. A colony is struggling with instability. Or an expedition has brought back an interesting discovery.

Not all of these situations are fully realized in the game yet, but that's the direction guiding its development.

Exploration should feel like a real adventure

One thing that has always bothered me about some space strategy games is how, after a while, the universe becomes little more than a spreadsheet of coordinates.

You click, send a fleet, wait, and get a result.

I want something more interesting for Atlas.

The galaxy should be a place to explore, not just a background.

There are star systems, planets with different characteristics, asteroids, resources, wrecks, and cosmic phenomena.

Planetary resources aren't infinite. Sooner or later, if you want to keep growing, you have to look beyond your homeworld.

Atlas of the Void - schermata del gioco strategico spazialeAtlas of the Void - a glimpse into the game universe.

And that's where the fun begins.

You can build specialized ships for exploration, mapping, mining, salvaging wreckage, transporting resources, or founding new colonies.

Every ship has a purpose, and a fleet's capabilities depend on the ships that make it up.

But what interests me most is turning knowledge of the universe into a strategic resource.

You shouldn't automatically know what's on the other side of the galaxy.

You need to discover it, observe it, preserve what you've learned, or perhaps obtain that knowledge from another player.

I'm also working on this side of the concept: sensors, signals, cartography, and information that can become just as valuable as physical resources.

Imagine intercepting a transmission in deep space, figuring out where a fleet is going, and setting up an ambush.

Or discovering an unexplored region and selling its map to another civilization.

These are the kinds of situations I want the game's mechanics to make possible.

Atlas of the Void - schermata del gioco strategico spazialeAtlas of the Void - a glimpse into the game universe.

From a small planet to a galactic civilization

Of course, building your own empire is a big part of the game.

You begin on a planet with limited infrastructure, resources, and technology.

Then you build industries, power plants, research centers, shipyards, and other facilities.

You research new technologies, build more advanced ships, and begin exploring new worlds.

But I didn't want progression to be nothing more than a race to see who could build the highest-level mine.

So I introduced a progression system inspired by the Kardashev scale, distinguishing planetary, stellar, and galactic civilizations.

The idea is that advancing to the next era shouldn't be just another number.

It should change what a civilization is actually capable of doing: building new classes of ships, using more advanced infrastructure, expanding farther, and unlocking abilities that once seemed out of reach.

The game already has a progression system with research, requirements, bonuses, and unlocks.

There's another interesting aspect, too: a larger empire isn't automatically an easier empire to manage.

More territory means more production and more opportunities, but also more routes to protect, colonies to maintain, and problems to solve.

An empire can be enormous and incredibly fragile at the same time.

Atlas of the Void - schermata del gioco strategico spazialeAtlas of the Void - a glimpse into the game universe.

And then there's the art... because a universe should look beautiful, too

I'll admit I got a little carried away with this part.

I wanted Atlas to be enjoyable even when you're just looking at it.

A black map with a handful of white dots wasn't enough.

I've been working on procedurally generated galaxies with spiral arms, colorful nebulae, cosmic dust, glowing regions, and stars scattered across space.

The visualization also uses WebGL, with procedural rendering that lets you explore the galaxy at different zoom levels.

And when you move closer to a star system, you get celestial bodies, orbits, and their individual characteristics.

But one of my favorite parts is the way planets and cities are represented.

I've created different illustrations for planetary environments and civilizations, with their own architecture, atmosphere, and visual identity.

And I didn't want them to be completely static images.

I've added small animated details to the city scenes: lights turning on, shuttles crossing the sky, movement along traffic routes, atmospheric haze, and steam rising from industrial facilities.

They're small touches, but together they make the scene feel much more alive.

A city doesn't necessarily need a huge 3D graphics engine to feel inhabited.

Sometimes a few lights, a little movement, and the right atmosphere are enough.

And I have to say, switching from AI research to designing nebulae, futuristic cities, and spaceships is a surprisingly pleasant change of pace.

Atlas of the Void - schermata del gioco strategico spazialeAtlas of the Void - a glimpse into the game universe.

The hard part? Making an entire universe work

Of course, as a developer, I couldn't stop at the visuals.

The game runs in the browser and uses Elixir, Phoenix LiveView, and PostgreSQL, alongside JavaScript and WebGL for rendering.

One of the toughest challenges is managing a persistent universe without turning the server into a machine that needlessly recalculates every single object all the time.

There are galaxies, systems, orbits, fleets, economies, construction projects, research, and countless events that need to remain consistent over time.

Then there's synchronization between the server and the browser.

If a fleet is traveling, players should see it moving correctly. When something changes in the world, the information should update without constantly reloading everything.

And if a player hasn't discovered a certain region, the client shouldn't simply receive all the information about the universe.

So you also have to think about visibility, caching, incremental updates, and data management.

In short, even a game that looks simple from the outside can hide a ridiculous amount of technical complexity.

And, naturally, whenever I solve one of these problems, I usually come up with three more ideas to implement.

Typical.

The game I hope to build

Atlas of the Void is still very much a work in progress.

Quite a few systems are already implemented, from universe simulation and the economy to fleets, technological research, and the visual presentation.

But there are also plenty of ideas I still want to experiment with, improve, and connect.

My ambition isn't simply to create another game where you wait hours to build a more powerful spaceship.

I want to create a world where players can invent strategies that even I didn't anticipate.

Where exploration can matter as much as combat.

Where a discovery can change the fate of a civilization.

And where even a seemingly invincible empire can face problems that can't be solved by building another hundred warships.

A game that's easy to start playing, but with a universe deep enough to keep surprising you.

I don't know how long it will take to reach the version I have in mind.

For now, I'll keep developing it, experimenting, and enjoying the process.

And yes, I know: I should probably find a hobby that doesn't involve writing another few thousand lines of code.

But when you have the chance to build an entire universe, it's hard to resist.

Stay curious. Keep building.


Spectre for Elixir
Recommended Tool

Spectre for Elixir

Build one Elixir agent. Give it only the powers it needs

Share this article:
Yuriy Zhar

Yuriy Zhar

github.com

Passionate web developer. Love Elixir/Erlang, Go, TypeScript, Svelte. Interested in ML, LLM, astronomy, philosophy. Enjoy traveling and napping.

Get in Touch

Have a question or want to work together? Drop a message below.

Book a Call

Stay updated

Subscribe to our newsletter and get the latest articles delivered to your inbox.

Stay curious.

Good ideas start with one more question.

Tap the rain. Make a little ripple.

Back to top