Improvements in this Release:

A new recursive handler has been written to traverse this data, with significant speed gains.

Colour textures can scale to accommodate drawing in these distant regions. 

Dithered B&W textures cannot scale, however. These will be drawn up to 4 steps away, then Patterns will be drawn in place of textures for further distances, as it is not worth the effort creating new art assets for such little screen real estate.

These stacks cooperatively send messages between each other to run commands and update status.

Why Make Such a Thing?

I like the design and feel of the old Classic Macintosh GUI (resolution of 512x342, Black & White). It’s clean, simple, and minimal, but can achieve much with the limited controls it offers.

Some amazing games were developed for the platform in its heyday, and many were very innovative, making the most of the unique features the Macintosh offered over the competition.

However, many of those games were made before the FPS genre (and video gaming as a whole) rapidly evolved through the 1990s.

It would be nice to have an FPS game for System 6 era machines with a few more modern quality of life features, and standardized conventions, while also adhering to period Macintosh design rules, and aesthetics.

Being a vintage Mac enthusiast, I eventually got around to giving HyperCard a go, working through tutorials, and seeing what all the fuss was about. About the same time, I was playing through Doom RPG (developed in the mid 2000s for pre ”smart” mobile phones), and thought that it could just about be recreated with the tools that HC offered.

This project only receives a fraction of my time these days. Life happens, but I continue to learn new skills along the way, and I’m proud to release something of quality to show for the time invested.

It’s also been a hell of a lot of fun creating it!

This release has focussed primarily on improving performance, with only a few new features entering the mix.

The long term goal is to have something approximating Doom RPG, including its feature set of: 

Maybe one day, even multiplayer could be implemented over AppleTalk. The technology exists!

Because this is developed in HyperCard, with scripts written in the almost 40 year old interpretive language HyperTalk, performance is not great. But one advantage is that HyperTalk syntax is so close to natural language, it’s easy for non-programmers to read through, learn, and make their own changes. Please do!

That fact that I was drawn to create this project in HC says something about its enduring legacy.

Can This Run on Original Hardware?

Technically Yes, practically No.

This project has been developed with Basilisk II & MinivMac, and performs best within these emulators.

All work completed so far has been done within the confines of Hypercard 2.4 (circa 1998) which does officially support machines as far back as the 1986 Macintosh Plus.

While the code does execute on authentic hardware, I would have no clue how long the scripts in this stack would take to compute on the venerable 68000 CPU.

It is best enjoyed in an emulator, with the horsepower of a modern machine behind it.

System Requirements

This demo requires:

Additional tools are required if you want to customize the stack with your own textures. 

See the “How to Add Additional Textures” chapter for more info.

It is recommended to run this demo on either the Basilisk II or MinivMac emulators.

It may run on authentic vintage hardware, but at such a slow speed as to not be playable.

The following Resolution and Colour combinations are available:

Resolution

Colour

B&W

512x342

Best for B&W All-in-One Macintoshes.

🗸

🗸

512x384

Best for the Macintosh Colour Classic.

🗸

x

640x480

Good for Mac II and most other colour capable models into the 1990s.

🗸

x

The B&W texture set currently only supports the smallest resolution mode.

How To Play

If using an emulator, follow the relevant guides to get started:

Remember to attach the “First Person Demo” disk image alongside your boot disk.

Once you arrive at the Desktop, double click on the “First Person Demo” disk icon to view the contents, and double click on the “First Person Demo” file.

When running on MinivMac, increase the emulator speed by holding Ctrl+S, and while still holding down Ctrl, press A for “All Out” speed.

Also try disabling “AutoSlow” in the same menu (W).

Upon opening, the Stack will detect the screen resolution of your machine and configure itself for the best experience.

When the “Thinking...” message disappears after a few moments, you should be at the Load Level Prompt.

There are currently 5 levels. Type in a number from 1 to 5 and click OK. The level should load after a moment.

The controls are:

You can load a new level, or switch between video modes that your machine supports at any time by using the “Game” menu.

Check out the Technical White Paper to learn how the code works.