Road to 1.0
Bots that listen, matches that become movies, settings that follow you home, and a game learning to waste less of your machine. Inside the work behind Washoi's v1.0.0-alpha.
The Arena Is Only the Beginning
The first public matches gave Washoi something no private test could: players with their own browsers, habits, connections and very reasonable opinions about what should happen when they pick up a gun.
Sometimes the answer was a new setting. Sometimes it was a bot that knew far too much. Sometimes it was a renderer quietly doing the same job twice.
v1.0.0-alpha is where that feedback meets a much bigger pass through the game. The work reaches from what an opponent hears to how a finished match is saved, from the colour of a weapon slot to the lifetime of a texture on the GPU.
It is still an alpha. The road to 1.0 runs through real matches, and there is more testing and tuning ahead. But this is a substantial step toward a game you can settle into, make your own, and come back to.
The Bots Have Had Their Mind-Reading Privileges Revoked
An opponent should make you wonder what it will do next. It should also have a reason for knowing where you are.
Bots used to know about enemies in their area through walls and items anywhere on the map. Now they work from sight and sound. They hear shots, footsteps, jumps, landings, pain and pickups. Hear someone take an armour or mega, and a skilled bot can time its return. Take it out of earshot, and the bot may still arrive expecting to find it there.
Their movements tell a different story too. Aim turns have a speed and settle time instead of snapping to every decision. Routes encourage a look around the next corner. Jump pads no longer invite a mid-air spin. Strafing has changing rhythms, stops and double-backs; incoming explosives can provoke a dodge once the bot has had time to notice them.
Then there are the little acts of aggression. A slide into a blade swing. A rocket that throws you upward, followed by an electrobolt. A gun selected because the bot heard you coming around the corner.
Difficulty controls how often those opportunities are taken. It also controls the mistakes: opening on the wrong weapon, losing track of someone, looking away at an unfortunate moment. Streaks can make a bot confident; repeated deaths can make it reckless. Low health gives it a reason to be cautious.
And yes, the bots talk now. A little good luck, a little needle after a frag, occasionally something Finnish. There are cooldowns, and bot-only matches stay quiet. You came for a fight; the conversation should leave room for one.
That Jump Deserves a Replay
A good match contains moments worth keeping. The highlight reel now gives them a proper scene.
A frag can open with a third-person fly-by, slow into the hit, flash back through the shooter's eyes and finish with an orbit. Transitions are repeatable, so playing the same demo again keeps the same cuts. Opening cards introduce the players; closing cards call out the top fragger and the reel's best moment.
Movement earns its place in the reel too. Wall jumps, slides and fast hop chains can appear between the frags, with a camera following the route before switching into the player's eyes for its best moment. A run across the arena can be the highlight even when nobody dies at the end of it.
The effects finally share the demo's clock. Beams, rails, tracers and sparks last correctly in slow motion and hold still when paused. A Voltaic beam should survive long enough to appear in the shot it helped make.
Reels run for one, two or three minutes. There are title cards, a fade to black, and Replay and Exit at the end. Keyboard controls handle playback, speed, frame steps, frags and viewpoints; clean view hides the pointer for screen recordings.
The short recordings that mostly showed someone alone on a map no longer crowd the demo browser. Their files are kept, but the lists favour matches long enough to have something happen.
Your Game, Wherever You Log In
Getting comfortable in an arena shooter is personal. Sensitivity, field of view, keys, HUD layout, preferred loadouts: together they become the way the game feels under your hands.
Those settings now follow your account. Log in through another browser and your bindings, gameplay preferences, HUD, theme and remembered loadouts come with you. Graphics settings stay with the device. A laptop and a desktop do not need to agree on how much rendering work they can afford.
The sync also waits for the account's initial settings before uploading, keeps values for systems that load later, and preserves a browser backup when account settings replace its own.
Several smaller choices came directly from players. You can count the match clock upward from zero. You can turn off switching to a weapon just because you walked over it. HUD loadout slots carry their weapons' colours. Private leaderboards show people, while bots still participate in the rating system.
Music remembers that off means off, including after a map change or a trip back to the menu. Lobby and room chat open at the newest message and respect you scrolling up to read the history. These are small things you should be able to stop thinking about.
A Picture More Players Can Read
Colour-blindness correction now offers red-weak, green-weak and blue-yellow options with an adjustable strength. The preference follows the account. Enabling it also offers Cyan and Orange as the default team colours, with an Undo; colours you already chose are kept.
Map makers get a separate simulation setting to inspect how their maps look to a colour-blind player. Both correction and simulation are off by default, and the disabled effect adds no rendering pass.
There are repairs for pictures that were simply wrong, too. Legacy textures that appeared black on Apple GPUs have a corrected upload path. Gibs show in live matches and survive returning to the tab. Dropped grenade launchers and plasma guns keep their barrels.
Sometimes visual polish is a new effect. Sometimes it is making sure the existing effect can actually be seen.
Spend the Frame on the Fight
Much of this release is a long conversation with work that did not need to happen.
A hidden HUD was still ticking its widgets. A held scoreboard kept searching the page between snapshots. Gibs and damage numbers updated twice per frame online. Pickups behind walls animated and submitted meshes the camera could not see. Player animation changes rebuilt animation groups, bone by bone.
Those paths now wait, reuse their work, or run once. Blade trails keep their mesh. Projectiles reuse their vectors. Materials release texture wrappers when a body disappears. Packages share concurrent downloads and reuse mounted archives instead of repeatedly opening the same ZIP.
Firefox gets particular attention: frosted HUD blur is off by default there, with a darker tint in its place and a setting to compare. Its first-person weapon camera filters mesh candidates earlier. The game also asks dual-GPU laptops to prefer the faster chip.
The server has its own version of the same story. Visibility lookups happen once per entity and viewer. Match-state data is encoded once per snapshot. Collision traces reuse scratch storage. Lag-compensation history lives in a reused ring. Live servers stop deep-copying player state that no live server reader needs to keep.
These are specific reductions in work, not a universal FPS promise. Browsers, hardware, maps and the fight on screen still matter. The aim is to leave more of each frame for the game you are actually playing.
Give the Connection and the Server Some Room
The WebSocket path had been sending every movement command three times. That redundancy belongs to a datagram transport; WebSocket already delivers messages reliably and in order.
Each command now goes once on WebSocket. In the recorded comparison, client traffic fell from about 440 to 190 messages per second, and WebSocket payload from about 18.7 to 6.7 KB/s. The datagram path keeps its loss cover. Less traffic also means less waiting in an already busy upload queue.
At the other end of the match, saving its recording used to block the server while the whole demo was compressed. The measured pauses were 300–500 ms, and about a second for a 26-minute match. Compression now runs in chunks on a background thread; the recorded longest pause is about 16 ms. A shutting-down server waits for the save to finish.
Bundled match servers measured about 0.26 seconds to start and 122 MB of memory, against 1.1 seconds and 268 MB on the previous launch path. Those are launch measurements, rather than a claim about every match under load.
Finished servers also shut down reliably after reconnects, spectator-only matches close instead of warming up forever, and the lobby reuses free game ports. A server that has hosted dozens of matches should still be able to host the next one.
A Better Workshop Behind the Arena
SHAGGED, the map editor, gets a File panel for local drafts and server maps, save state, filtering, downloads, imports and exports. Drop in a Quake 3 map file to open it as a new draft; unsupported pieces are listed in Map Health rather than quietly disappearing without an explanation.
The toolbar has more room. Texture and model drawers live on the edge, compile and playtest share a Build menu, and a floating bar keeps the tool, texture and grid in view. New brushes default to caulk, with a dedicated key for applying it to selected geometry or faces.
Underneath map loading, companion texture and shader banks keep a map's assets together, while downloaded banks can be reused across map switches. The tools can rebuild them from the retained master without advertising development archives as release content.
This is the workshop that supports the arenas. Making it clearer and more reliable is part of making the game easier to keep building.
Still Alpha. Keep Playing.
The release also brings clearer credits and terms, an explicit account deletion flow, and a reload notice when an old tab asks for pieces replaced by a new build. Deleting an account removes its synced settings and retires its key; existing demo files retain the names recorded in them.
There is a lot here, and it adds up through use: a bot loses you around a corner, a setting arrives on your other machine, a jump makes the reel, the music stays off because you asked it to.
That is the road to 1.0: keep the good moments, then make the next match better.
Play a match. Try a different mode. Watch what happened afterwards. Tell us where it breaks, what feels right, and what still gets between you and the fight. The next stretch of this road needs players on it.