Wolfenstein 3D and Doom are great examples of early FPS games. Back in that era, as Amiga was slowly losing its gaming supremacy to the PC, Apple wasn’t even on the playing field. However, [Chris Tully] has used the 90s HyperCard platform to create an FPS of his own, and it’s charming in what it achieves.
If you’re not familiar with it, HyperCard was a strange combination of database, programming language, and graphical interface system all rolled into one. It made developing GUI apps for the Macintosh platform simpler, with some limitations. It was certainly never intended for making pseudo-3D video games, but that just makes [Chris’s] achievement all the more impressive.
At this stage, [Chris’s] game doesn’t feature any NPCs, weapons, or items yet. It’s thus more of a First Person Walker than First Person Shooter. It features four small rooms with perpendicular, vertical walls, rendered either greyscale or 8-bit color. Now that he’s got the basic engine running, [Chris] is looking to recreate a bit of a Doom RPG experience, rather than copying Doom itself. He hopes to add everything from monsters to weapons, lava, and working HUD elements. If you want to dive in to the code, you can – HyperCard “stacks”, as they’re known, are made up of readily editable scripts.
[Chris] built the project to celebrate the aesthetic and limitations of the original Mac platform. While it could technically run on original hardware, it would run incredibly slowly. It currently takes several seconds to update the viewport on an emulated Mac Plus with 4MB of RAM. Thankfully, emulation on a modern PC can be sped up a lot to help the framerate.
We love seeing HyperCard pushed far beyond its original limits. We’ve seen it before, too, such as when it was used on a forgotten 90s Apple phone prototype. If you’ve been hacking away on retro software yourself, we’d love to see your projects on the tipsline!
12 thoughts on “FPS Game Engine Built In Ancient Macintosh HyperCard Software”
“It’s thus more of a First Person Walker than First Person Shooter. It features four small rooms with perpendicular, vertical walls, rendered either greyscale or 8-bit color. ”
Kind of like that windows screensaver.
“It was certainly never intended for making pseudo-3D video games,”
Didn’t stop it from being used to develop Myst… :D
I learnt to program with HyperCard. Made some passable games in it as a kid. (Passable for the 80s!)
“The Colony” written in ’87 for Macintosh is impressive, too.
This is clearly on a whole other level. Impressive.
Some kids in my middle school were very busy apparently and ended up making minutes long animation / comic / cartoon creations I’m hypercard, reminiscent of the flash animations that would follow a decade later. I thought I’d try my hand at it, and my only impression was that the workflow was incredibly slow and unsuited for cheeky animations and the 12 year old me lost interest immediately. But it did give me a good deal of respect for the dedication of kids who probably spent an hour a day for the better part of the school year making their creations.
Like Dan says, HyperCard was my first real programming work. I just couldn’t understand “cards” and “backgrounds”. I could do it, but… Today, I can’t grasp that I couldn’t grasp it then.
Is this actually doing rendering or is it more a matter of moving from pre-rendered card to pre-rendered card, with a pre-rendered viewpoint for every possible position of the character, kind of like myst?
Hi M, For every step the player takes, the program scans for Walls in-front of the player’s position, and assigns a texture resource to one of many Button objects on the card.
Skip to 2:20:20 in this video to see how this trick works: https://www.youtube.com/watch?v=QPmwnsqWVQY&ab_channel=MastersoftheVoid
Nope, You stay on 1 card while playing, and objects update dynamically :)
Looks awesome! Downloading to take a look. I’m looking for content for my HyperCard Authoring & Programming series on YouTube.
Thanks Eric, I’ve found your series on Youtube, and it looks very informative. I’ll be sure to watch through it!
Very awesome! I’m looking for content to review for my HyperCard Authoring & Programming series on YouTube. Will take a good look.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)