How I built a classic point-and-click adventure game in 1999 with Macromedia Director on MacOS 8.6

Together with Simon Baka I programmed, designed and implemented an adventure game including story, art and engine as a study project.

In 1999, I studied at the SAE College in Stuttgart. As a major study project, we had to implement an application with Macromedia Director as part of a group project. We decided to make a point and click adventure in the style of the classic Lucasart games (Maniac Mansion, Monkey Island), but without verbal navigation (open door, talk to person).

Project time was about six weeks. We managed to complete 30% of the game.

Technical background

We used Macromedia Director with the script language Lingo as a platform. At that time, Director projects were produced in 640×480 with 8-bit color depth (256 colors).

Screenshot of Macromedia Director 8 on MacOS

For this project, we were working on the Apple platform under MacOS 8.6. Our G4 Macs had 128 MB RAM and a 450 MHz CPU.

With DirectX 7 under Windows 2000, there were still a lot of issues with the sound control. Windows could not yet mix sound channels directly — Apple could, so the decision was easy.

In 2000 it was a fact that multimedia is not suitable for Windows computers. This still is in the heads of so many people in 2021. 🤓

Let’s play

This video is showing some scenes of gameplay. Enjoy watching!


The story idea was simple: While crashing on the moon, some weird aliens lost their energy stones which one they need to continue traveling. Because they could not shapeshift and they would be noticed by humans, they decided to take Robis girlfriend hostage, forcing him to find the energy stones.

Inventory and global variables

I had no computer science background. For performance reasons I decided to put the complete game status into fifteen global variables.

Screenshot of the cast window including all inventory items

What gave me some headaches was the inventory. It had to be like a pager, but if an item was consumed by a drag-and-drop action, the inventory had to self-update. Took me some time to get it working. 😎

Concept of inventory rendering

Scripting language Lingo

From the beginning I didn’t like the Director scripting language Lingo. Especially with Director 6.5 we started with at SAE College, we learned Lingo before dot syntax. Want an example?

set the text of member "robi" to "Hallo"

Fortunately in 1998, with Director 7 came the dot syntax.

member("robi").text = "Hallo"
Screenshot of movie scripts in Director 8

For this game project I used a global movie script that was accessible through all scenes and instances. This script contained all global functions like inventory, level loading, sound and character controls.

Here is an example script I found still printed on paper 😂. It controls the movement of the main character Robi.

Comments were done with two starting hyphens.


Functions had to be defined the following way.

on [function name] [function parameter]

I can’t remember if it was allowed to use multiple parameters on functions, I think not!

Objects and animations

All animations were keyframe based. Director had 1,000 layers where all objects had to be positioned. Like in Flash objects were stacked.

To handle animated characters over animated backgrounds, we hat to use Director’s film loops. Those were so called members (elements from the library), that used one frame in the stage, but contained subframes with the animations. Those subframes could be controlled inside the film loop, so you could use it like a spritesheet.

All characters and backgrounds in the game were hand drawn, scanned, retouched, colored and animated directly in Macromedia Director. I really did not like it’s paint functions. 😂

Screenshot of Director’s inline paint window

Character Design

I found a scan of some characters I drew on paper.

Art style and screenshots

Our art style was a sloppy pixel style. Because of the small project time of six weeks, we did not manage to clean up double pixel outlines on some characters and all background images.

Sloppy vs. perfect pixel style
At the pharmacy
To enter the disco you need a VIP pass. Classic quest design.
Robi finding one of the main quest items: the green energy stone.

Thanks for reading.
I look forward to your feedback. 😍

Please comment, bookmark or follow me to support my channel.

If you want me to write a second article about making this game including some single-level and multi-level puzzles, let me know!

If you have a specific topic in mind, you would want me to write about, let me know on twitter:

How I built a classic point-and-click adventure game in 1999 with Macromedia Director on MacOS 8.6 was originally published in Level Up Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.

Source: Level Up Coding

November 12, 2021
Category : News
Tags: game-design | game-development | lingo | macos | macromedia-director

Leave a Reply

Your email address will not be published. Required fields are marked *

Sitemap | Terms | Privacy | Cookies | Advertising

Senior Software Developer

Creator of @LzoMedia I am a backend software developer based in London who likes beautiful code and has an adherence to standards & love's open-source.