Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Plan B – Retro Demo (developer.mozilla.org)
24 points by daledavies on Nov 22, 2015 | hide | past | favorite | 6 comments



This is a pure HTML/CSS3 animation that is supposed to look (and sound!) like one of those demos in the days of the C64 or the Amiga. There is no JavaScript at all involved.

It's an interesting demo, but as someone who has used a real C64, and watched the demos on them (this is better than C64 graphics, but definitely something resembling the capability of mid-80s era hardware), there's something about using several more orders of magnitude more resources to recreate the same effects that just doesn't feel right...


What feels right to you would mean that nobody who didn't have physical access to the original hardware would be able to experience any such thing as a demo in the sense we mean.

The best way to preserve software is to emulate, emulate, emulate, and then get those emulations out into the world. (INSERT JASON SCOTT HYPE HERE: https://github.com/jsmess/jsmess ) Hardware dies and browsers are a platform now, so this is just the next logical step.

Really, though: I'm sure the people who spent their time getting the technology of the 1980s to do amazing things at the limits of their capacity would be horrified to see a new generation getting a new platform to perform at the limits of its capacity. Horrified, I tell you!


It doesn't feel right, because the experience had two levels.

How the demo looked like. Which this demo is wonderful made, not a single complaint, specially because of the innovative step of using pure HTML/CSS.

How programming looked like, trying to squeeze everything into 64KB of memory, while taking advantage of hardware tricks and invalid register modes in the process. No one will experience this while playing this demo.

So it is great that new generations get to see how it looked like, but they don't get to see how it felt to program them.

This is what the OP was complaining about, I assume.


At the programming level, we're trading constraints.

The original constraint was fitting machine code into RAM. The new constraint is finding quirks of the standard and/or implementations which allow new and interesting effects, possibly on more than one version of a given browser and/or on more than one kind of browser.

The fact the original constraint doesn't exist here is secondary to the fact there are some constraints in play. We can go back and forth on which constraints are more limiting, and there are competitions about who can do the most in the least Javascript (for example), but as far as I'm concerned, the essential spirit remains.


An important thing about the Amiga demo scene was that those constraints were also the edge of what was possible in home computing. So they were approached in a different spirit from say, someone writing a 64k demo on a pc with 8gigs of ram, or running demo effects in the browser.

When I watched demos in the Amiga days it was because I wanted to see something new that had never been done on a computer before. Seeing a great demo effect was like discovering a new superpower in your computer; it opened up new possibilities.

Being on the limit of what is believed to be possible is, I suppose, formally the same as being within a constraint, but the spirit is completely different. It was about pushing back boundaries.

Over the edge of that boundary, there was nothing, just mythical SGI workstations somewhere in the far distance :)


It's a lot more than "several" orders of magnitude difference but the impressive thing is that it is done using a declarative tool that most people would think can't do this.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: