How One Dev Rescued a Dead MMO From a Dying Engine

Developer rescue case study showing a dead BYOND MMO rebuilt for modern browser gameplay

7 min read·Updated Oct 1, 2026

0 0 votes
Article Rating

Part of AI Tools + Private AI Hub

May 12, 2026

There’s a game running at https://thethriftydev.com/bleach-unlimited/ that nobody should be able to play. Not because it’s broken, because the engine it was built on died years ago.

Correction, measured from the original source (September 2026)

The engine did not die. BYOND is still shipping: current build 516.1688, with a Linux build, and since version 507 an official browser client that serves browser players and installed clients from the same running server. The original 2012 project compiles against it after two single character fixes and boots with zero runtime errors. The game was never stranded by a dead engine. It was stranded by a dead host, and nothing has been redeployed since, so nothing is answering at the address in the paragraph above.

Five figures further down were produced by an earlier automated pass and published without re-measurement. Re-measured directly from the game’s own map file and icon files, they are:

  • 948 NPCs published, 927 mobs placed in the world, plus 27 other objects placed, which is where the shops and the named characters live
  • 345 distinct tile types published, 100 turf types used across the world’s 486 distinct tile keys
  • 160 warp entries published, none named warp: 77 placements use portal, gate or teleport names
  • 69 area types published, 79 area types placed
  • 1,828 character sprites and 1,187 world tile sprites published, measured 4,517 character frames and 262 tile and object frames across 531 animation states in the 99 legacy icon files, plus 336 frames in 17 modern icon files

The 500 by 500 tile world across 6 z-levels checks out: 1,500,000 cells, and that part of the article stands as written.

One more thing the source settles: character creation offers Human as a fourth race. The Human type is defined in the original code but the selection path never reaches it, so Human was never actually selectable.

Status: the port is being rebuilt in the open as a Go server with a browser Canvas client, using the original source as the specification so the gameplay stays the same. This is a fan project. There is no charge, no ads, no monetisation, and no affiliation with the rights holders.

The game is Bleach Unlimited, a browser-based anime MMO. It has 948 NPCs, a 500×500 tile world across 6 dimensions, 3 playable races with full progression systems, transformations, combat, shops, quests, and a complete player save system.

game preservation digital archaeology

None of this should exist in a web browser.

The Engine That Time Forgot

Bleach Unlimited was originally built on BYOND, a game engine from the 1990s that uses a proprietary language called DM (short for Dantom, named after Dan and Tom, the creators of BYOND) and a dedicated client called DreamSeeker. BYOND was never mainstream, but it powered thousands of indie games throughout the 2000s. Anime-inspired MMOs were its bread and butter.

Here’s the problem: BYOND is essentially abandonware. The client is a native Windows binary. The engine hasn’t kept pace with modern web standards. BYOND has no real mobile support, and players today don’t download proprietary game clients, they open a browser tab.

indie game development browser MMO

So the choice was simple: let the game die with its engine, or rebuild it from scratch.

What “From Scratch” Actually Means

This wasn’t a “port” in the casual sense. This was archaeology.

The original source was written in DM, a language nobody uses outside BYOND. The sprites were locked in binary.dmi files. The map data was compiled into a.dmb binary. To rebuild this as a modern web game, every single system had to be reverse-engineered, extracted, and reimplemented.

HTML5 canvas game engine

Here’s what that looked like:

  • 948 NPCs, each with unique AI behavior, spawn positions, and dialogue trees
  • 500×500 tile world, 6 Z-levels (Earth, Soul Society, Hueco Mundo, etc.) with 345 distinct tile types
  • 160 warp entries, connecting 69 different area types
  • 1,828 character sprites, extracted from binary.dmi sheets, organized into directional animation frames
  • 1,187 world tile sprites, terrain, buildings, environmental details
  • 3 races, Shinigami, Quincy, and Hollow, each with completely different mechanics
  • 6-track leveling system, health, reiatsu, stamina, sword power, sword skill, and flash/movement, all independent
  • Full combat system, melee attacks, dodge, parry, reflect, critical hits, knockback, PvP scaling
  • Transformation chains, Shikai → Bankai for Shinigami, Hollow evolution → Resurrección, Vizard mask system
  • Training systems, Release (Shinigami and Quincy), Think (Hollow), Spar loops with real stamina mechanics
  • Shopkeepers, 21 NPC shops with full transaction logic
  • Save/load system, persistent character data across sessions

Every formula, every stat gain per level, every race-specific bonus, extracted from the original DM source and reimplemented in Go.

The Technical Stack

BYOND game engine reverse engineering

Architecture Diagram

BYOND source→Parser→Go server→WebSocket→HTML5 Canvas

The rebuilt game runs on a modern stack that would make any indie dev nod in respect:

  • Backend: Go server with goroutine-based WebSocket handling
  • Frontend: Pure HTML5 Canvas (no game engine, no framework, raw Canvas 2D API)
  • Protocol: WebSocket with typed JSON messages
  • Rendering: Custom sprite system with directional animation frames, z-layer management, camera culling, and entity interpolation
  • Concurrency: Each player connection runs in its own goroutine, hub broadcasts entity updates

The Go server handles real-time combat, NPC AI ticks, world processes, training timers, and player state synchronization. The HTML5 client renders a smooth 60fps game world with sprite animation, combat effects, and a full HUD, all without a single external game engine.

Why This Matters (Even With Bugs)

Go language backend server

Let’s be honest, it’s not perfect. There are bugs. Some systems are partially wired. The client has edge cases. But here’s why that’s completely beside the point:

1. Game preservation is real work. Thousands of BYOND games are dead because their engine died. Every game lost is hundreds or thousands of hours of creative work gone forever. Rebuilding even one is an act of digital archaeology.

2. Reverse engineering at this scale is rare. Most “ports” are superficial, new graphics, same mechanics. This was the opposite: same mechanics, new everything else. The DM source had to be read, understood, and translated into Go line by line.

3. Browser-based MMOs are still rare. Most multiplayer browser games are simple. A 500×500 world with 948 NPCs, real-time combat, persistent saves, and 4 distinct progression systems running in a browser tab with zero installation? That’s not common.

anime MMO browser game

4. Indie devs can still build big things. No studio. No budget. No team. One person reverse-engineering a dead engine and rebuilding it for the modern web. If that’s not worth writing about, nothing is.

The Bigger Picture

There’s a pattern here that goes beyond one game. Every platform that dies takes its content with it. Flash games. Old mobile apps. Proprietary game engines. If nobody preserves them, they’re just… gone.

Suggest a Game to Preserve

Know a dead or dying online game that deserves a second life? Send it in.

[contact-form-7 id=”contact” title=”Suggest a Game to Preserve”]

The Bleach Unlimited port is one data point in a much larger story: how do we preserve digital culture when the platforms disappear?

The answer, at least for this game, was: one person, a lot of DM source files, and the stubborn refusal to let something die just because its engine did.

Get the game preservation build notes


Try It

If you want to see what a reverse-engineered MMO looks like in a browser:

Server Status

Not playable right now. The host this game ran on is gone, so there is no server to check and no status endpoint left to poll. This panel used to poll one that no longer answers, and it printed its own script text into the page while failing, so it has been replaced with this line.

The port is being rebuilt in the open, and this page will carry a live address as soon as there is one to visit.

  • Go to https://thethriftydev.com/bleach-unlimited/
  • Create a character (Shinigami, Quincy, Hollow, or Human)
  • Walk around, train, fight NPCs, level up
  • Switch transformations if you hit the requirements

It’s rough in places. It’s not a polished commercial release. But it’s a fully functional anime MMO that was pulled out of a dead engine and rebuilt for the open web, and that alone makes it worth paying attention to.

, TheThriftyDev

0 0 votes
Article Rating
The Thrifty Dev, author at thethriftydev.com

By TheThriftyDev

Building smart with AI and automation. No fluff, just results.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Most Voted
Newest Oldest
TheThriftyDev Dispatch
Quit Google in One Weekend

The 48-hour migration playbook: what to move first, what to keep, and the exact apps that won't make you regret it on Monday.

No spam. Practical privacy, AI, backup and tool drops. Unsubscribe anytime.
0
Would love your thoughts, please comment.x
()
x