r/Oberon • u/andrejjjP • 3d ago
I’m working on an Active Oberon SDK, with a Doom clone as a practical example
Hi, everyone!
Recently, I decided to return to an old passion of mine: the A2 operating system (formerly Bluebottle) and its language, Active Oberon.
I’ve created MiniA2, a project that makes Active Oberon easier to use outside of A2. Active Oberon is a general-purpose language with active objects and built-in synchronization through AWAIT. MiniA2 brings together the compiler, standard library, command-line tools, and editor support, so you can write applications and build standalone executables without running the A2 desktop.
As a practical example, I’m building AO-Doom, a Doom clone written in Active Oberon. It already loads classic maps and supports rendering, movement, pickups, weapons, and several enemy behaviors. It’s still a work in progress, but it gives the toolchain a substantial real-world application to support.
I’d welcome feedback from anyone interested in language tooling, concurrency, Oberon, or Wirth-style languages.
Explore MiniA2:
https://github.com/active-oberon/minia2
Available packages:
https://active-oberon.github.io/a2-registry
AO-Doom:
https://github.com/active-oberon/ao-doom
For a quick introduction to the language, I’ve also added an Active Oberon page to Learn X in Y Minutes:

