Show HN: Gore – A Minimal Go Port in Go

Welcome to Gore, a minimal, platform-agnostic Go port of the legendary DOOM engine. What fresh hell is this? Indeed, Gore is a remarkable achievement in modern software development – a pure, unadulterated demon-slaying action game powered by the glory of Go's cross-compilation.

The story behind Gore began when cznic, a skilled developer, converted the original C code from the Doom engine to Go using (modernc.org/ccgo/v4). The result was then manually cleaned up to remove manual pointer manipulation and make it more compatible with the original DOOM game. This impressive feat of coding wizardry has allowed us to witness a legendary game in a whole new light.

While Gore is not yet a fully complete game, these examples demonstrate that the core mechanics are there. They may look and feel like they're missing key bindings, but rest assured, this is just the beginning. For now, we'll assume that a Doom wad is available in the current directory – the shareware version is conveniently available at https://www.doomworld.com/classicdoom/info/shareware.php, or feel free to bring your own from a commercial copy.

The game's output is rendered using ANSI color codes, making it suitable for 256-bit color-capable terminals. However, due to the limitations of terminals, input support has been limited. Key-up events and control-key support are not yet supported, so fire has been remapped to `. This means that you'll need to repeatedly tap keys to get them to continue working, rather than pressing and holding.

Ready to embark on a thrilling adventure? Simply browse to http://localhost:8080 to play Gore. The window should pop up, allowing you to experience the thrill of DOOM in a whole new way.

A Word About Licensing

The source code for DOOM is released under the GNU General Public License, and Gore maintains this same licensing term. This means that developers can continue to build upon and improve the game without any restrictions or limitations.

So what are you waiting for? Dive into the world of Gore and unleash your inner demon-slayer!