GLFighters

Port of a Classic Mac OS game to the web!
(Requires a computer with a keyboard)

Play!

screenshot of glfighters

About

GLFighters was David Rosen's submission to udevgames 2001, a competition for independent Mac game developers. It was originally written for Mac OS 9, the last of the Classic Mac OS era.

This is how David described it in the README:

This game is not quite done yet and I have stopped working on it, so I might as well release it for the udevgames competition in the hope that somebody might learning something from the cluttered unintelligible source code. It is a two-player game in which you control a couple of ninja robot guys who can run, jump, climb, fly and roll around on the maps. The goal is to shoot the other player with a gun, break his neck, stab him with a sword or kill him in any of several other ways...

There is AI right now but at the moment it can't jump, doesn't understand the jetpack very well, has lightning-fast reflexes and is overall pretty stupid. There are several different weapons which are not balanced at all.

In my opinion, this perfectly exemplifies the Mac indie developer scene from that time: unpolished, joyful, ambitious. All the game logic was implemented in 9,995 lines of C++ stored in a single file ("Lesson24.cpp"). David somehow hacked it together in less than eight weeks.

In 2024, I ported the game to WebAssembly. It's pretty amazing that a 23-year-old game — written for a platform that no longer exists — can still be played today on any computer with a modern web browser!

The source code is available on GitHub under the MIT license.

Controls

GLFighters has many hidden features, including slow-motion, low-gravity, wireframe rendering, +9999 health, and a map editor.

Click here for the full list of keyboard commands.

Credits

Thanks to David Rosen for writing and releasing GLFighters back in 2001!

The WebAssembly port used this awesome software: