2026-07-01 by Evrim Öztamur
Developing electrobillion
An educational power grid simulator
electrobillion is an educational city-building simulation in which you take charge of the power infrastructure for a growing island micronation. As the local grid operator, your task is to make sure that the city can flourish.
You can construct various types of clean and polluting energy sources, wire the power transmission infrastructure, balance supply and demand, and make—or lose—a lot of money.
As the city grows on its own, it consults you about its expansion plans. Your goal is not only to provide stable electricity to its residents, but also to prevent the cascading failures that can follow a power shortfall.
I decided to start building my second game after Maginet following a bout of climate anxiety. I began digging around to learn more about the challenges of the energy transition. What I found was one of the largest and most complex machines humanity has ever built, assembled from an apparently endless collection of interconnected systems.
electrobillion tries to bring the major components of our power infrastructure and package it all together in a fun and educational game.
Initial idea
I have been interested in building economic simulations since high school. Many concepts normally observed from a statistical point of view have underlying dynamic systems, often consisting of deeper subsystems interacting according to the assumptions of the model. This habit continued into my university days, but went into hibernation as I became more involved with my nine-to-five life.
Early in 2024, while considering how the next step in my career could better align with my interests and ideals, I decided to get back into research mode. I read a great deal about infrastructure, how cities come to life, the history of energy, system dynamics, and more. I wanted to learn more, and what better way than to build it all yourself?
With the green energy transition in the news, I started getting quite invested in how it all works, and the omnipresence of electricity in my life became a topic of fascination: What is it that’s actually going on when I turn on the lights in my room?
This question led me down the rabbit hole of electricity and its vast web of infrastructure. I started watching lectures in my free time and learning how electricity is produced, distributed, transformed, purchased, sold, and balanced. I got in touch with people working on the energy transition and teaching the subject at universities. Things were starting to click for me, and I wondered: how about a new simulation game about electricity?
The initial idea was more of a competitive business simulator. There are many grand strategy games with historical, fantasy, or science-fiction settings, but very few focused on today’s world. Many business simulators also abstract competition into something like a price ticker following a Brownian motion, without explicit supply, demand, or intelligent competitors that can disrupt your plans and outbid you for market share. The idea was exciting, but in retrospect I had chosen one of the hardest possible goods around which to simulate a competitive market.
Design manifesto
I decided that the goal of this game would be to educate people on the systems that underlie our modern lives, at the very least, the interconnected nature of electricity and its infrastructure to our cities, industries, markets, and nature.
Electrical infrastructure is extraordinarily complex. I spent several weeks studying what happens when I flick a switch to get light, boiled water, or computation. What I found beneath was one of the most complex, and certainly the largest, machines ever created.
In an idealized mental model I had before my studies, electricity came from some power plant burning coal to heat up water, which is turned into steam that turns turbines, which then get ‘piped’ via wires and transmission lines, goes through a meter to measure consumption, and eventually turns into light at the bulb.
What I found out was not necessarily different, but it certainly exposed how superficial my model was. There is so much more to the actual machinery of the power infrastructure: the various business interests involved, the markets on which they conduct (ha!) various transactions, the systems necessary to forecast supply and demand to balance electricity, why it’s necessary to ‘balance’ it at all, active and reactive power levels, how challenging it is to provide longer-term storage for electricity, and much more.
During my studies, when I realized that I was getting into the formulas for complex power and alternating current grid balancing mechanics, I decided to stop and take a deep breath. The real world is complex; it always is. Under the hood, even the coffee in your cup has immeasurable depth and consequently a lack of understanding. Oils and particles floating in it, the ways in which those impact the taste, or the fluid dynamics in play when you stir some cream into it are a few of the things that we don’t really think about, but could certainly think about if we wanted to.
For a video game which tries to educate people about the power infrastructure machine, perhaps it’s a good idea to avoid implementing Navier-Stokes cream simulations.
I think educational games work best when they set clear goals for what they want to teach and whom they want to teach it to. After getting into the nitty-gritty of the electrical and financial engineering behind power, I realised that the audience comes first.
I want to make sure that practically anybody who plays this game, who had the same simple mental models as me, can come out understanding and appreciating the complexity of the infrastructure we rely on, and hopefully start making better decisions for the common good.
We are at a turning point in time where we are moving towards changing the way we produce, distribute, and consume power. Our goals are shifting as we realize that our olden ways of burning things to get work done are no longer sustainable. As we get better at forecasting what the future holds for us, we can tell a lot better now what’s sustainable, i.e., contributing to the survival and longevity of humanity (let alone civilization), and can make decisions based on that. We are seeing, slowly but surely, that endless growth of the scope of our daily conveniences (thus industrial activity which drives it) is not sustainable.
electrobillion should therefore be enjoyable for anyone while exposing the deeply interconnected systems that link power, industry, cities, and nature in the Anthropocene.
Development begins
March 2024
Initial commit. I was already convinced after my last successful attempt at launching a game with Rust, Maginet, that it would be a good fit for this style of simulation as well. The guarantees of a compiled language are very useful when you are building a game whose rigid systems must behave reliably. I also had a great deal of velocity built up: I was comfortable working with WebAssembly and wasm-bindgen, and had years of prior experience with HTML5 Canvas and WebGL. I stripped the Maginet codebase down to its bare bones and moved on from there.
April 2024
Core engine. A basic tile canvas with zoom, sprite atlas, particle system for power feedback (consume/fail sparkles), and the PowerSystem backing it all. I started out with a sprite atlas, but with vector graphics. I was quite comfortable with Inkscape after years of doing vector graphics designs with it, and decided that it would be good for my pace to make my own graphics. The core of the UI is a simple 2D overview with approachable graphics, with a goal of being easily legible from a distance. At this stage, there wasn’t any transmission, only a basic merit-order settlement book to balance out the power grid. Producers can offer their power at a certain price, and consumers, due to the monopolistic availability of power, priced with a fixed margin requirement, can buy their electricity. Worked quite well!
Soon after, I was preparing a lot of little sprites. I added procedural forest generation, road placement with connectivity rules, and the first structures (power plant, factory, battery). I introduced tile history tracking for undo/debug purposes, but it ended up developing into a core principle for the rest of the game: command/signal queues.

Technical note: command–signal architecture
I am thinking of writing an entire article about this, because this was somewhat revolutionary for me for developing games in Rust. One of the universal pain points of Rust, especially for games and UI, is that it makes managing mutable objects across different parts of the codebase a miserable experience. Wrangling mutable references across different functions, battling the borrow checker, everybody has their flavor of these battle stories.
The command–signal model gave mutation a clear home. Systems enqueue commands instead of reaching into one another through shared mutable references; once a command changes the world, signals describe what happened to interested systems. Beyond making the borrow checker much easier to work with, this made ordering explicit and gave me cleaner seams for debugging, saving, and eventually separating the simulation from multiple rendering backends.
May 2024
Drafted the EconomySystem and markets. Implemented the power distribution network: conduits, on/off power states, windmills, flywheels, storage, and auto-wiring. Added WASD camera controls and shift-click drag.

June 2024
Renamed from powergrid2000 to electrobillion. Added solar panels, long-range transmission lines, and transformer structures with conversion fields. Began a large grid component refactoring effort to support wire reconnectivity and new connectivity rules.

August 2024
Wrote up design documents. Prepared Steam store page assets.
September 2024
Implemented pylons and substations as subgrid structures with their own connectivity model. Introduced metagrids (pylon-to-substation links) and power flicker effects for unpowered subgrids. Reworked tile placement validation. Drafted a new HUD with a top status bar, speed controls, and resource icons.
October 2024
Transitioned the entire rendering backend from Canvas2D to WebGL. Built procedural city generation with growth tied to energy supply and zoning. Added cyclical consumption/production patterns, oversupply warnings, money/cost mechanics, and a metrics system. Introduced pollution (mutated trees). Implemented touchscreen input. Set up a Windows build. First month where the game starts feeling like a game.


November 2024
Implemented HDPI/Retina support with automatic atlas resolution switching. Built the mission system with population goals and tutorial progression. Added building placement costs. Implemented power metrics display, a start menu, save/load, and notification UI. Deployed to itch.io. Pushed through to a playable demo with tips and onboarding.

December 2024
Post-demo polish. Implemented a visual day-night cycle via shaders. Prototyped pollution and environment systems with leaf particles and variable wind speed. Implemented binary/base64 save format. Built persistent storage via OPFS, then had to replace it with IndexedDB because OPFS doesn’t work inside itch.io iframes. Added game modes. Improved tutorial flow with substation connectivity guidance.

January–February 2025
Quiet period of internal rework. Overhauled the grid component architecture over many checkpoints. Prepared Steam builds. Moved mission definitions to data (missions.json). Overhauled the balancing systems. Reworked network connectivity and linked particle effects to operational state. Tuned city growth pacing.

March 2025
Implemented noise-based world generation with edge fadeout. Overhauled windmill blade rendering. Wrapped up a review copy build. Switched to a capabilities-based mission system — the player unlocks building types through progression. Developed the city expansion UX. Implemented a pollution diffusion algorithm. Added visual sway/wave effects and pylon connection highlights. Introduced maintenance mechanics (hold to repair).

April–May 2025
Began porting to iOS via Capacitor (WebView wrapping the WebGL game). Reworked input handling for touch. Fought through Xcode project config, CI scripts, and certificate signing. Cached getAttribLocation to fix Safari performance. Implemented pan-select mode for mobile building placement. Added a settings menu and the Light mascot. Implemented demand-based zoning and an event system.
Then pivoted to a native rendering backend: prototyped Bevy, abandoned it, and built a wgpu + Skia pipeline instead. Spent the back half of May grinding through a mass refactor to reach feature parity between the old WebGL client and the new wgpu/Skia client — particles, tooltips, rendering, all of it rebuilt.


June 2025
Landed the wgpu client as the new baseline, replacing the WebGL version. Got Vulkan working on Windows. Implemented component distress and failure mechanics (buildings break down). Added an environment system with temperature, wind/solar strength curves, rain visuals, and heatwave events. Built a sound system with click feedback and particle audio. Reworked city expansion into the event system, added disconnected city block warnings and fines. Reworked the full tutorial flow. Built the project website. Implemented a game over mechanism with a strike system. Built an About modal (and wrestled with opening links on iOS).


July 2025
Final polish. Built the website. Shipped to TestFlight. Prepared App Store assets. Launched.

August 2025
Post-launch. Fixed outstanding issues and added tile palette categories.