Challenge view
Back to ProjectMake real-time art
Because nothing says "party" like retro hardware
Image source: Apple II - Wikipedia
In the README below, you'll find the description of a classic demo made to run on an Apple II+ computer with a floppy drive. That's right, a floppy drive! While we didn't manage to get this particular demo to run in an emulator, we streamed demoscene music and a number of classic and modern productions during the HACKnight. This challenge on top of the visuals VJayed by ONEBUS on-stage at DINAcon, motivated a team to work on real-time effects in Processing.
See Sound-Vis-Field-Creatures, and a video of a second project on Vimeo:
{ hacknight challenges }
There is a long history of hacking the limits of modern and historic computer hardware for fun and aesthetic effect, which is incorporated by the global subculture of the demoscene. In Bern we are keeping this proud tradition alive through the Demonights, a regular meet-up in an underground lab (save the date: 15.11.19). We ran real-time content workshops to introduce people to making their own digital art and music. We are involved in conservation, support open platforms and their APIs. All this begs the question of what we can do to encourage open source efforts to help keep underground electronic art accessible to the next generation.
Bring the demoscene to the HACKnight by putting on some scene productions on your laptop or the beamer, tuning in to the music and art of the electronic underground. There are some introductions here and lots more to be found all around the 'net, for example: Teach Yourself Demoscene in 14 Days
Make some noise with a software synth, create some procedural art in code, tie it all together with a demotool. The HACKnight is a good excuse as any to doodle with generative tools. Check out our workshop post for some waypoints.
With a focus on the open source community, suggest what frameworks and tools we should support and promote in upcoming events. github/demoscene is a good starting point for this. Even better, share the code to your own production, even if it's a "party prod" (i.e. made on location). For inspiration, check out BIOCADE - a game prototype complete with sounds and graphics made at last year's HACKnight.
Bad Apple Demo
This demo is the classic Bad Apple demo.
How to run
Download the release.
Open BAD_DATA.DSK
file in your favourite emulator (I tested Mame and AppleWin).
It will run automatically. When requested to flip the disk, insert BAD_APPLE_DATA.DSK
in the same drive.
Hit enter, and enjoy !
Background information
I decided to do it after watching the demo from Onslaught on C64. It sounded sad to me that the Apple didn't run the Bad Apple :-)
It was made specifically for the Apple ][+ with floppy disk because that's the computer I had when I was a kid. I also chose that machine because of its hardware limitations.
For those interested, my code is here, "as is".
If you're really interested, look at the kmean.py file. That's the compressor. This is what it does:
- drop some frames in the original video (chosen wisely)
- compute the delta between each frame, let's call that d-frames
- cut each d-frame in 8x8 tiles
- reduce the set of all tiles of all d-frames using k-means approach
- use a form of RLE encoding to compress each run of tiles in d-frame (this gives "stripes")
- use a Huffman style dictionary to compress each stripe (Huffman is not practical on low performance machines, so I had to make an "approximation" to reach a better speed/compression balance.
- store the data on the disk (regular Prodos sectors, not a file)
Steps 4 and 6 are clearly the more sophisticated ones.
The code is not super optimized and neither is the compressor. Giving it more time, I think I could improve some more the screen size of the video. For exampme, I have the impression that using 16x16 tiles might be more efficient.
If you ever have the opportunity to run it on real Apple, please send
me a video. That would be a very much apprciated gift. It works on real hardware !
For those old enough and in the specific niche, I used to be called The Wizard of the Imphobia group. By that time it was customary to send some greetings, so greetings to Scorpio, PL, Darkness, the Overseas team, my family,...