Back in 2005, I wanted new maps for the open-source game BZFlag—but the existing editors felt clunky. So, at 14, I built a small software library in C++ for creating new maps, procedurally. This was my first major software project.
At the time, I used the callsign Happy Tanker, and wrote maps such as BZLaserTag and BZLand. These maps made heavy use of BZFlag’s recently added Physics feature. I also offered updates for BZOlympics, a popular map at the time written and maintained by Bernt Hansen of Norang, a Canadian software developer. Interestingly enough, this internet contact turned out to be instrumental in teaching me how to code well with others! Running my own servers and moderating on his gave me much of my first networking experience.
Coincidentally, this game was such a nerd mecca that the very next year, one of my students at the University of Southern Maine turned out to be a long-time acquaintance from BZFlag! This is Alex Hennings, another Mainer and software developer, who hosts local music events (mainly contradance).
The BZFlag map format hasn’t changed that much; the output still loads on today’s servers. The code is a snapshot of early-2000s C++—full of raw pointers, macros, and manually managed strings.
With a weekend of refactoring, it could be useful again—especially for automated or procedural map pipelines. If anybody wants to contribute, feel free!