Hacker News new | past | comments | ask | show | jobs | submit login
Fixing a Bug in an 18 Year Old Shockwave Game (mattbruv.github.io)
150 points by wahlrus on Oct 7, 2018 | hide | past | favorite | 19 comments



Shockwave was generated by Macromedia Director (the spiritual precursor to Flash) and had a lovely IDE with a fantastic debugger and excellent 3D, video and audio support. You could make "proper" games in it, I once hooked it up to some hardware tilt sensors to make a Joust clone you could play by flapping your arms.

The scripting language Lingo was a little bit gumby but perfectly serviceable. The main engine limitation was IIRC you could only have 256 sprite channels. I was always disappointed that Flash took hold instead of the more powerful Shockwave platform.

To this day when programming Ruby I always mistype "puts" as "put" thanks to Lingo still burned into my fingers.


Macromedia Flash and Macromedia Director were both powerful and interesting products.

I played around with Flash years ago, back when Flash was still “in vogue” — made a couple of animations and wrote a rudimentary graphics editor that I didn’t finish.

I have fond memories of playing Flash and Shockwave games in elementary and middle school. One Shockwave game in particular that I remember was a 3d car game where other cars were chasing you through a city. The gameplay was rather simple and the 3d was quite low poly but it was an impressive game nonetheless.

I also installed Director at some point I think but it was a bit too complicated for me to understand at the time.

I recently picked up a few books on Director and Lingo that the library at my university had decided to get rid of. Flash and Shockwave are dead but the editors had something to them that I think is worthy of investigation, thought and revival. Perhaps some day we can have a Flash/Director like tool for developing interactive Canvas and Canvas3d (WebGL) content.


Director had depth and power, while Flash was very accessible to illustrator/designer types. That era saw some amazing net.art demoscene type pieces that have no modern equivalent (Joshua Davis / flight404 etc). Haiku.ai is doing some interesting work in that space.

I wonder if WebAssembly can bring back this classic art aesthetic. The key is a great IDE with strong graphics asset management.


Flash still lives on as Animate, and for a while they even had a native code compiler for mobile deployments.

I guess anti-Flash community just lost track of it.


I’ve wondered recently if it would be possible to convert flash or shockwave to WASM and preserve some of these old relics.


That's one of the goals in a discord I'm a part of. The concern is whether or not WebSockets is adequate enough for this too. There will likely be a need for JavaScript in any regard. It's interesting that Director did support JS in some form for a while too, but everyone always writes the decompilers for the Lingo syntax.


>One Shockwave game in particular that I remember was a 3d car game where other cars were chasing you through a city.

On The Run. It too was a staple of my many hours spent playing flash and shockwave games.


Yup that’s the one :)


This was my first experience with programming at 13! I remember being mystified by the first example in my book:

    on mouseup me
        go to the frame
    end


Still looking for an online Pictionary (tm) clone to play with my daughter. Used to play Isketch [1], it seems to still exist, but I don't have Shockwave installed so cannot verify.

[1] http://isketch.net


"Fixing a bug in the game by literally editing 1 byte" Could have been less. He chose "fessage", which was a 3 bit change but "lessage" is is just 1.


Director was peak interactive CD. We used it exclusively for that.


Thank you for this lovely write up, it reminds me of the joy of reverse engineering. It teaches us a lot, it is how I got into the industry.

Nowadays it can be a bit more challenging - at least for high budget productions as the games can be a lot more complicated, and there are anti piracy measurements in some which means it requires a bit more effort into seeing the information - for example all strings would be encrypted. Modifying anything at all could mean the game will not start or it will crash on purpose. Similarly for multi player games, with anti cheat protection. Nothing is impossible though ;)

Indie games should have relatively low barriers to entry, however :)


> It teaches us a lot, it is how I got into the industry.

Absolutely. I played a lot of games and often prolonged their attraction by simply digging into their data files and fiddling with them. I remember writing a terrain editor[1] for "4D Stunts" after looking at the data format in the 3 existing terrain files. Or discovering a dragon in the original "Quake Test" release after reverse engineering the MDL file format and writing one of the first viewers for it. It was certainly a huge motivation seeing the visual result of your work in action. The relative simplicity of the games really helped with that, just like you said.

[1] Here's a screenshot I just took after running it again in DOSBox for the first time in probably 20 years: https://i.imgur.com/z7ZSM0J.png.


One of my concentrations in college was Multimedia Programming in Shockwave. I build a 3D, multiplayer version of Spy Vs. Spy with randomly generated levels.

The host would generate a 2D array of objects and locations and then transmit to the client. I felt so smart back then.

The 3D engine was pretty easy to work with. I hand-coded and hard-coded every single animation, since it was faster than learning how to animate.

I miss working with Shockwave, it provided a wonderful combination of power and accessibility. I've found Unity to be the closest in features, but don't get the same thrill from it.

Ah college.


Ah geez, I remember Cartoon Cartoon Summer Resort like it was yesterday! I'd leave the desktop running for 30 minutes while it loaded because dialup was sluggish as hell.

I really enjoyed your writing style and it's definitely inspired me to have a poke around some other games too!

Thanks :)


I actually remember this one! Several hours went into that.

Wonderful write up for a strong piece of nostalgia.


Nice work and the best way to learn about programming


Maybe some day Adobe will free up the shockwave player again. So much excellent creative work is starting to become inaccessible without VMs.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: