Hacker News new | past | comments | ask | show | jobs | submit login
Glider, Mac Classic game, open-sourced (github.com/softdorothy)
229 points by mmastrac on Jan 29, 2016 | hide | past | favorite | 89 comments

I loved playing this game.....and one of the games that made me lean towards a career in programming.

Spending my nights and weekend (as a high school student in 1992-1996) in my grandparents basement, other kids out playing, I learned pascal, c++, mpw on a Mac SE30, then an LC III.

Fun Fact: I worked an entire Summer to save the $400 that was needed for Metrowerks Codewarrior. To find out that I could have gotten it for $99 academic pricing. To bad I did not know it existed. Mac Mall magazine never mentioned academic pricing! I still have this box set and can't bring myself to throw it out.

It was my birthday present when I was 11, after drooling over it in the MacMall catalog for months and begging my parents every time I thought I could risk it... CodeWarrior was like the Christmas Story kid's BB Gun for me. I think they must have found the academic discount, there's no way they could have afforded the $400.

I had no idea what I was getting myself into, I just knew I needed a good "compiler" to make "programs". Apple's IDE (MPW?) was really horrendous by comparison - I was unable to get anywhere with it.

I also literally learned how to write C in CodeWarrior. I wish I could find the CodeWarrior people and tell them how influential it was.

Pretty sure they know. It's not exaggerating (much) to say that CodeWarrior is the primary reason Mac developers stayed with the platform during the 68K to PowerPC transition. The pre-2.0 CodeWarrior IDE was the simplest and fastest way to produce Mac software in the mid-nineties.

I have a picture from when I was 11 standing outside of Borland HQ with my boxed copy of Turbo Pascal somewhere... I feel your joy.

I still talk with 2 members of the Codewarrior team periodically! Met them in the 90's on the usegroups.

Awesome! If you could pass this their way that'd be so neat. :)

I had a similar experience -- my buddy and I moved on from hypercard to "real" programming when he picked up a codewarrior compiler at a garage sale.

I remember sitting there trying to decide if we should try to figure out this weird C stuff or Pascal first. We ended up going with C. Probably a good choice, in retrospect.

It's hard to tell how much of it's "first love" nostalgia, but I remember codewarrior as being very simple, very fast, and very well designed.

Visual Studio and autotools were both quite a shock. (I still can't believe people use the autotools shit-chain. Ungodly terrible.)

CodeWarrior remains my favorite IDE of all time. A diamond in the rough.

It wasn't perfect, but man I loved using it so much more than anything else. It had some rough edges, but I knew how to work them. I remember fighting with Visual Studio around the same time. Actually, for years, I used CodeWarrior on Windows and cross debugged from my Mac because it was easier than trying to use Visual Studio.

I remember spending $350 for Borland C++, looking back its so strange to pay for compilers

Thank the UNIX vendors.

No one cared about GNU until they started selling the SDKs

CodeWarrior T-shirts were legendarily cool


I had a Mac IIsi and I loved doing 3D modeling. Stratavision 3d retailed for $600, but then I was overjoyed to learn that you can get one for $199 as a student! I was probably their first middle school student customer.

I bought Turbo Pascal for Windows 1.5 and Turbo C++ for Windows 1.0 around 1993.

Those boxes still look like new and occasionally I do a trip down memory lane skimming through the manuals.

Excellent! If you are interested in this game you might enjoy reading an older two-part interview with the developer, John Calhoun, here: http://web.archive.org/web/20060507111048/http://www.cruncha....

My first exposure to the Glider series (and the most major one in terms of hours spent on the game) was through the Windows 3.x port of Glider 4.0. It made exemplary use of the operating system's standard 16-color palette — one of the things that got me to appreciate the higher-resolution-but-limited-palette-and-animation, "desktop computer-style" pixel graphics. What was a major disappointment was that it came without the house editor that would allow you to create your own levels.

I wonder if John Calhoun owns the rights to that version. I would love to see the source code for it released. If it was compiled with Borland Pascal (or rewritten in C — who knows?) it would likely be the better starting point for porting Glider 4.0 to modern operating systems.

That Windows port was one of the first games I remember playing. The graphics were great -- crisp and iconic. I spent years looking for the game again and only recently found out what it was called again.

And hey, it taught me the concept of a thermal upcurrent. So it's almost educational software, right?

If you can get a simulator up and running, Macintosh Garden has the originals available (feeling this is ethically OK to link now that this is open):

http://macintoshgarden.org/games/glider-312 (very early black and white version) http://macintoshgarden.org/games/glider-40 http://macintoshgarden.org/games/glider-pro

"You can’t open the application “Glider Pro.app” because PowerPC applications are no longer supported." :(

Yeah, gotta use an emulator of some sort I guess.

I really wish Rosetta was kept around by Apple.

Rosetta depended on Apple maintaining PowerPC builds of all of their frameworks. I have to imagine that was a huge drag for their developers; there's no way they would have been happy about maintaining that.

The game company Blizzard has (for as long as they have existed) maintained multiple build paths for their code (Mac and PC). I can't find the argument now (of course) but their lead dev argued that forcing themselves to do that meant they ended up making MUCH better code as a side effect, because it HAD to be modular/agnostic, which also made it more resilient, less buggy, more easily testable, more modular, etc.

Sure, you'd have to deal with endian-ness differences everywhere... or used to, when PPC was still a thing

Just making sure that most of userspace still compiles for PPC is probably worth the effort for Apple, to ensure the code remains portable. Maintaining the platform-specific intricacies of the language runtime and kernel-space stuff would be a drag, and it's probably difficult to maintain the hardware necessary to test it all on, but that may not be required to keep Rosetta working.

I would bet $$$ that they compile and run the whole OS on ARM, much easier than PPC since so much is shared with iOS

I would be shocked if they didn't! They've already got an ARM Darwin kernel (for iOS), and they already cross-compile a bunch of the iOS frameworks to x86 for the simulator. Cross-compiling OS X to ARM is a natural next step.

The .binhex files contain the original Mac OS Classic resource files. On OS X they can be decoded using the binhex command and opened with a resource editor, e.g. Rezilla. Not sure about other platforms, since they don't support the Mac OS Classic resource fork. See https://en.wikipedia.org/wiki/Resource_fork#Compatibility_pr...

Online flash version playable here: http://www.ridiculopathy.com/games.php?gamename=glider

Certain things -- big and small -- have an extra bit of "magic" when we first run across them. Glider was one of those, for me.

Not "big" and "dramatic", but slightly magical. Perhaps all the more for its subdued presentation.

P.S. Plenty of monsters and whatnot, about. But a paper airplane? Smile.

I guess, in good part, it was the magic of a perfect whimsy.

The calm, fun music was a big part of it too I think!

I worked with John Calhoun (the author) for a few years some time ago. Great guy. Glider was one of my favorite games as a kid, so I was a bit starstruck the first time I met him.

He actually had the source code to Glider Pro printed and bound into a hardcover book. That way, he said, even if all of his electronic media became unreadable, the code would still live on.

Cool! Any chance you could ask him to open-source SoundJam MP as well? That was my favourite C&G program, for copying music onto my old Rio 600.

SoundJam will never be open-sourced as its code was bought by Apple and became the foundation for iTunes, which was obvious to any developer around that time who used SoundJam and then iTunes.

C&G was primarily a publisher. SoundJam MP was written by other developers who later sold it to Apple. It became iTunes.

Interesting story about that - https://www.panic.com/extras/audionstory/

Oh man, I never got into Glider, but if you're listening softdorothy - one request upvote for Crystal Quest!

Looks like the original developer had a failed KickStarter[1] but did release a new version of the game[2].

[1] https://www.kickstarter.com/projects/gamemechanicsllc/crysta...

[2] http://gamemechanics.com/store/

Oh wow! That takes me back. One of the very first Mac games I played on my Dad's Mac in his office.

I also loved Mission Starlight.

God, Mission Starlight was so great. I also played that on my Dad’s office Mac :-) He had a greyscale display for a long time, and I still remember the amazement of getting a color monitor and discovering Mission Starlight was in color, too. What a time!

Do you know of a playable/emulatable binary of this anywhere?

Crystal Quest! You're killing me...so many hours of my youth. Gone. ;-)

Crystal quest! I can hear the sound effects in my head right now.

Lem! And, uh, you know...

Crystal Quest was developed by someone else. All of the games in the Soft Dorothy repo were original to John's company.

In my youth I was too impatient to make it far, but I remember this fondly. And Spectre. Multiplayer Spectre was amazing.

I played multiplayer Spectre freshman year at college. It was probably one of the earliest multiplayer experiences available to people, period. (NetTrek 3.0 predated it and arguably, Bolo outdid all of these from a fun-ness perspective; all of these were Mac-only).

It was definitely that for me. I was a few years younger, and my dad's office (University campus) was the only place with networked computers I had access to. So we'd get in there and fire it up on a couple of Macs. Initially, the office just had B/W and Greyscale monitors, but the game looked great none the less.

I do recall the network configuration to be a bit finicky, so its possible that we spent about as much time setting it up as we did playing.

Spin Doctor is up there for me too

The original developers ported it to iOS. Spin Doctor by Revolutionary Apps LLC https://appsto.re/us/X06_t.i

Stared at that for a while, wondering why it was all highlighted as a comment. Then it dawned on me: \r line endings.

This was one of my first exposures to a "high quality" animation and realistic representation of an environment as a kid. I actually unearthed the original Powerbook 100 it ran on during a move a few weeks ago. Unfortunately the attic wasn't stored in a climate controlled area and did not stand the test of time.

The read me files are quite enjoyable.

You can probably just replace the electrolytic capacitors in it, they probably just dried out.

Dude. Glider AND Pararena AND Glypha III? Is today Christmas?


Seriously, to this day, I haven't had an experience that quite lives up to Bolo between friends on an AppleTalk network. It is the 1 game that "Windows people" I know who have played, wish existed on Windows.

What exactly about Bolo made it a good [network] game, in your experience/opinion?

It was arguably one of the first (the first?) multiplayer RTS's in existence, so there's probably a significant nostalgia factor... but some of the points being - in order of significance.

* In-game map changes. You could create your own walls, moats, mines, create rubble, etc. in game, so everything was very dynamic, especially once you had several players going.

* (mostly) limited resources. Trees were required to build walls and boats, but there wasn't an unlimited number of them. Even after they were all used up, more would grow ( although if you had some around they would grow more often). Bullets/mines were also limited; you had to go back to base to refill, and you could also use up the base's resources if you were too aggressive.

* Easy to learn/difficult to master. Bolo had just about the right balance for this.

* Headless network play. No server was required (a matchup server existed, but not required); any particular player rage quitting didn't end the game for the rest.

* Bug factor. Not quite sure how this phenomenon works, but like the bugs in the oddly popular Goat Simulator there were a few glitches in Bolo that you could take advantage of - without cheating - for a (slight) advantage.

Not aware of any games in the last 30 years that have a similar balance.

Thanks for the insight. I have a bit of a side project to find out what forgotten bits of computer history "got it right," if you will, for various contextually-defined definitions of "right," so I'll either be seeing if I can get AlphaTalk going in BasiliskII/SheepShaver (ahahaha...), or I know what I'll want to do if I ever come across a couple old Macs!

Thank you for putting to words what would have been difficult for me to communicate!

I would have figured that something comparable/inspired by it would have come along by now

To supplement what matheweis excellently related...

Bolo vid 1 showing Windows version with some strategy action: https://www.youtube.com/watch?v=W5K0qTh-Vmk

Bolo vid 2 showing loading it up on Mac and playing it: https://www.youtube.com/watch?v=Bz_gYZ5kMvc

There really (weirdly) has not been anything like it since. It was like the ultimate tank game with resource management and worldbuilding (like 2d Minecraft-like) elements

It has existed on Windows for a long time - in fact, as far as I know, it was the only non-original version of Bolo to have received Stuart's blessing... http://www.winbolo.com/screens.php

It's popularity was severely hobbled by the fact that it was a $25 copy of shareware.

Heh, forgot about WinBolo, but I benefited from Mac access when it was a thing

I remember playing Glider 4 on our Mac Plus and on the Colour Classic... it was a fantastic game. Everyone in our family was addicted. I remember coming home from school, and my dad would show me something new he found out, like a hidden room or how to get past a particularly tricky passage. I'd compete with my sisters and we tried to beat each others high scores. Sometimes I managed the reach the top spot, but it was never for long, since my mom would always play all night and beat everyones high score. She had developed tricks for every room to get the highest time bonus -- watching her play the game was fascinating.

My dad was the first to beat the game. It was such an incredible experience. After mastering that tricky bit with the drop and the basketball, the rooms got easier, the house slowly became empty, you saw the thunderstorm outside, then the glider started to move in a rocking fashion, and then there was the open window, and the ending animation with the glider, free at last, gliding into the dark...

What a game. Thanks John Calhoun!

SPOILERS! Do not read the parent comment if you have not beaten the game.

How do you run it?

Compile it:

1. Get OS X running.

2. Find a copy of Metrowerks Codewarrior for Mac OS (the .mcp files are Metrowerks Codewarrior projects) or create a project yourself.

3. Find the necessary header files for the Carbon API (Codewarrior should have them, they're also included with XCode, Apple's IDE).

4. Hope the code is conforming to a current version of the C Standard, so you can compile it without errors. Otherwise fix the errors.

Then you should be able to run it on OS X.

Otherwise get a copy of sheepshaver and a couple binaries

Wasn't carbon ditched like a decade ago?

It is "depreciated" but still supported on 32-bit for compatibility.

Glider 4: "R 89.0%, OpenEdge ABL 11.0%"

Panarena 2: "R 78.4%, C 21.0%, C++ 0.6%"

Glypha III: "R 92.1%, C 7.9%"

Glider Pro: "R 92.6%, C 7.3%, Objective-C 0.1%"

GitHub, these are called legacy Mac OS codebases. Today you learn a new thing!

The "R" code is actually resource data -- mostly hex dumps of images and whatnot. Kind of messes up the line counts. :)

Anyone have an idea how likely it would be for this to show up on Linux?

I can't even figure out what language it's in, and GitHub can't either, but it's definitely nothing I've seen before.

I think that answers your question.

The code would necessarily be a full rewrite. All this would be good for would maybe be official asset sources... but then I've seen other people mention that they've reimplemented the game by just taking screenshots, so maybe not.

I can't even figure out what language it's in

Glider Pro is written in C (.c files), Glider 4 in Pascal (.p files). Github gets confused by the resource files, which are data files in a specific format used by Mac OS Classic: https://en.wikipedia.org/wiki/Resource_fork

Not likely at all. It heavily depends on some ancient Apple APIs.

That being said, it's a 20 year old game and works just fine under some of the better simulators (aka Basilisk and Sheepshaver - both of which work well in Linux).

Glider was one of my favorite classic Mac games, I remember when Glider PRO came out replacing Glider 4.0.

More colors! More environments (you could glide outdoors)! With the ability to create levels you could extend the game play even further. I remember some excellent fan-made levels that provided hours of entertainment.

MIT licensed. glider_pro doesn't publish a license, but hopefully that's just an oversight.

glider_pro now has a licence file that simply contains the word "GPL".

Now if someone could get around to open-sourcing Apache Strike. My weekend would be set.

Here, have a dose of nostalgia in the meantime


How long until someone has gotten this working on a modern PC/Mac/iPad?

The original developer already has it ported: https://itunes.apple.com/us/app/glider-classic/id463484447?m...

My man. I was just thinking this would make a great mobile app.

Mac: Should still run, even though the Carbon API it uses all over the place has been deprecated: https://en.wikipedia.org/wiki/Carbon_(API)

PC: As it uses a Mac OS specific API a lot I think it would be easier to rewrite it. You would also have to convert the graphics and sounds from their native Mac OS formats to e.g. png and ogg.

iOS: Same as for PC. The Carbon API isn't available on iOS.

I made an HTML knock off years ago... Carefully screenshot ting each graphic. Might try to revive it now that it's open. :)

It's nice seeing very straightforward C code. I miss that, and I too learned to program on the Mac and CodeWarrior was my IDE of choice.

omg one of my favorite games as a kid!

This soundtrack is burnt in my brain.

Great memories

Nice! I spent many hours with this game as a kid.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact