Building Dynasty Sevens: a football career that fits in a browser tab
Dynasty Sevens is the first VoltCade game you come back to for weeks rather than minutes. Here is how it is put together, and why it needed saved games.
Every other game on VoltCade is over in a few minutes. Dynasty Sevens is not. You take a seven-a-side football club in League Three and try to carry it up three divisions to the Premier Division, with a cup running alongside. Players age, academy kids come through, the ground gets upgraded, and a career runs for as many seasons as you care to play. That one decision, a game that lasts, changed almost everything about how it had to be built.
Four ways to play the same match
A season has a lot of fixtures, and not every one deserves ten minutes of your attention. So each match can be played four ways. Full Match puts you in control of the team for the whole game. Key Moments hands you only the big chances. Manager keeps you on the touchline making decisions while the players get on with it. Quick Sim goes straight to the result. You choose per match, so a dead rubber in mid-table and a cup final do not have to cost the same amount of time.
The world runs without the screen
The game is split into six files with deliberately narrow jobs. The world simulation (clubs, players, transfers, the fixture list, the seasons) lives in one file that knows nothing about drawing or input. That matters for a practical reason: it runs in plain Node, so its rules can be tested without opening a browser. The real-time match is a second file, input a third, sound a fourth, drawing a fifth, and the last one ties the screens, saving and the arcade together.
The same separation applies to sound. The match engine does not know that audio exists. The audio code reads the state of the match each frame and decides what the crowd should be doing, and every sound is synthesised with Web Audio rather than played from a recording, which keeps the game's download small.
Transfers that do not cheat
Dealing with other clubs is where a management game earns or loses your trust. You can bid for a player or offer one of yours in a swap, and the other club has an asking price and its own idea of what your player is worth. One detail we care about: those prices are worked out from the player and the day, not drawn from the game's random number stream. Looking at a price does not change it, and it does not change anything else that is about to happen. You cannot reroll a deal by opening and closing a screen, and the game cannot quietly reroll it on you either.
The squad screen tells you what your team is short of, and candidate signings are tagged when they would fill one of those gaps. It is a small thing, but it turns the transfer list from a spreadsheet into a set of decisions.
An exception to our own rule
VoltCade games draw everything on a canvas. Dynasty Sevens breaks that rule on purpose: its management screens are ordinary HTML, because tables of players, fixture lists and forms are exactly what HTML is good at, and they need to scroll and reflow on a phone. Matches are still drawn on the canvas. The stadium is painted once into an off-screen image for each camera view and pair of kits, then reused every frame, so the expensive part of the picture is paid for once.
Why it needed saved games
A career that lasts weeks cannot live in a single tab, so Dynasty Sevens is the first game here with saves. The save always lives in your browser, which means you can play a whole career without an account. If you are signed in, it is also kept on the server, so you can pick the career up on another device. When two devices have both moved on since the last sync, the game takes the newer copy and keeps the other one as a backup rather than throwing it away.
If you try it, start with Key Moments. It is the quickest way to see what the match engine does without committing to a whole match.