Posted on

Ancient Web: Kitana Rebuilt Battle Isle 2 in 23,000 Lines of BASIC

There are easier ways to preserve a 1994 strategy game than spending hundreds of hours rewriting it in BASIC. Kitana chose the educationally irresponsible option.

Visit Kitana’s Castle

Battle Isle 2020 is a from-scratch Windows reimplementation of Blue Byte’s Battle Isle 2 and Battle Isle 3. It is not a port of the original DOS source code. Instead, Daniel Bekowies reconstructed the behavior while still requiring the original game data for graphics, sounds, music, videos, and missions.

The project page says the program grew beyond 23,000 lines of PowerBasic code spread across more than 400 functions, with some assembly language mixed in.

Preservation by reverse engineering the assumptions

The interesting work was not merely drawing hex maps on a modern screen.

The original games encode terrain, units, missions, weather, movement, graphics, and other behavior in old formats that have to be understood before a replacement engine can use them. The project estimates roughly 60 hours went into decoding file formats alone, on top of more than 800 hours of programming.

The resulting program adds things a modern machine can provide without abandoning the original structure: scalable display, mouse controls, speech output, improved AI, multiplayer over LAN and Internet, a map editor, new campaigns, and compatibility with original mission content.

The AI can simulate possible combat outcomes before choosing an attack. Multiplayer replaces the old practice of handing save files between players with a live server-based mode. The map editor can build new missions using original units and terrain.

This is preservation through reimplementation rather than freezing software in an emulator.

It also preserves knowledge that would otherwise stay buried inside undocumented binary files.

CacheRat’s 1,967 Ancient Web Domains research list includes sites like Kitana because the web is full of people who quietly reverse-engineered obsolete software simply because they wanted it to keep working.

Twenty-three thousand lines of BASIC is an absurd amount of affection for a hex-grid war game.

Which is why it belongs here.

Return to Kitana’s Castle