Stripes by Top Right Bottom Left [web]
.x. |||||::::.. . .d888b. . ..::::|||||$$$$$88888880000000000000000000 |||::::.. . .d8888888b. . ..::::|||||$$$$$888888800000000000000000 |::::.. . .d88888888888b. . ..::::|||||$$$$$8888888000000000000000 :::.. . .d888888888888888b. . ..::::|||||$$$$$88888880000000000000 8888888888888888888 8888888P'.`Y8888888 8P'88P'.d8b.`Y88`Y8 __________ ______ _______ _____ .d88888P' P' d88888b `Y `Y88888b. \ \ \ \ .d888888888P' 8888888 `Y888888888b. | | | | .d888888888P .d88888P'Y88888b.`Y888888888b. | | | | .d888888888P'.d88888P' `Y88888b.`Y888888888b. | | | | `Y888888888b.`Y88888b. .d88888P'.d888888888P' | | | | | | `Y888888888b.`Y88888b.d88888P'.d888888888P' __| __| __| |_ `Y888888888b. 8888888 .d888888888P' | \ \ | | | `Y88888b. b. Y88888P .d .d88888P'|_____/_____|\____/________/______/ 8b.88b.`Y8P'.d88.db t o p r i g h t b o t t o m l e f t 8888888b. .d8888888 888888888Y888888888 :::.. . `Y888888888888888P' . ..::::|||||$$$$$88888880000000000000 |::::.. . `Y88888888888P' . ..::::|||||$$$$$8888888000000000000000 |||::::.. . `Y8888888P' . ..::::|||||$$$$$888888800000000000000000 |||||::::.. . `Y888P' . ..::::|||||$$$$$88888880000000000000000000 . . . . `Y' . . . . TOP RIGHT BOTTOM LEFT presents "STRIPES" at the Gravedigger Compo at Nordlicht 2025 Only stripes. Only three colors. Only ten years too late. code and sync by KeyJ music by GOOD&GUNSTIG used third-party material and libraries: - a few modified clipart graphics found on the internet (no "AI" slop!) - Python + PyInstaller, PyGame / SDL, Pillow, BASS This entry is based on a prototype for a demo targeted at the first-generation Raspberry Pi back in 2015. KeyJ sent around a "devkit" to the other group members, so they could play around with the myriad parameters of the stripe shader, but nothing ever came out of that. For Nordlicht 2025, the project has been resurrected, a suitable (read: short but groovy) soundtrack has been excavated from the group's archives, and another two weeks of work were spent on turning the loose collection of parts into something that looks a bit like a demo, if you squint. SOME TECHNICAL INFO: Rendering is done with a single full-screen pixel shader and a few control textures, all in OpenGL (ES) 2.0. A custom implementation of a GNU Rocket synctracker client is used for syncing. This release archive contains the Windows executable version. The source code and GNU Rocket XML sync file is included in the sources.zip file. Unpack the files into the base directory, add a system-appropriate bass.dll or libbass.so from https://www.un4seen.com/bass.html, install Python 3.x as well as the PyGame and Pillow libraries, and you should be ready to go. (Tested on Windows and Linux, with Python 3.12 and 3.13, on x86_64.) If stripes.py is launched while a Rocket editor is running, it automatically connects to that; otherwise, it acts as a player. The editor's Ctrl+E shortcut also updates the .rocket XML file, so the binary and XML sync data can't go out of ... sync. To see what the various mapModes and colorModes do, run `stripes.py -v'. New mapModes can be created by simply putting .png or .jpg image files with a number at the beginning of the file name into the `stripes_assets` directory. (Most of the existing mapModes are created that way already.) Note that regardless of the size of the image files, the internal resolution of the map is always `stripes.VirtualSize', i.e. currently 1280x720. You can change that, but then you need to adapt all `stripes:scale' values too.
[ back to the prod ]