Yesterday at Sesc, on our Wednesday's "Open code lab", a group of 8 people including me and my educator colleague, we started to follow @tabreturn's #creativeCoding tutorial for #Blender, it was great, we finished 2 parts and just started the 3rd and final one.
It uses Blender 2 and we are on Blender 4 now, something that got easier is the "Toggle System Shell" feature... so you don't need to launch Blender from the terminal/command prompt
Press 1 - 6 to select/launch/reset any of the examples
Press Space to download screenshot
Apart from the raster bars and lissajous curve all other demos can be interacted with via mouse
Open the browser console to see the (already transpiled) source code of all examples
Example #1: Scribble & color cycling
Hold down left mouse button to cycle the colors (the current palette is also always shown in bottom-left corner). Nice, powerful oldskool effect, which is actually easier to do with these indexed, non-RGB pixel buffers[1]
Example #2: Lissajous bobs
The spheres are actually 2x2 tiles of 8x8 pixel sprites with one color slot chosen as transparency. Drawing 100 spheres here, but could be a lot more...
Example #3: Raster bars
This oldskool effect is achieved via HSYNC interrupts only, i.e. no lines are being drawn — for every single pixel row we simply change the color value of the first palette entry. The text is also only being drawn once, at startup...
Example #4: Particle system
Simple particle system (2k particles) with the emitter position linked to the mouse. 6% probability for larger particles.
Example #5: Random pattern
Classic oldskool generative art, here by defining 4 custom bitmap font characters and then drawing a single randomly chosen char per frame
Example #6: Bitmap font editor
Select a character on the RHS to edit in the left box. Left click to set a pixel, right click to clear it. Press Delete to clear the char entirely. The system supports proportional width fonts and the little red triangle can be moved horizontally to adjust the width of each char... Clicking on the Save button will download a JSON file of the font's binary data (9 bytes per char: width + 8 data bytes)
In preparation for teaching a 3-day "Computing within limits" workshop @ University of Applied Sciences in Augsburg, almost exactly a year ago (next week) I created a little fantasy console (heavily inspirered by TIC80) to introduce students to:
the idea of virtual machines / computing environments
the freedom to design & control any aspect of that environment (and how this relates to the overall idea of personal computing these days)
designing & building a small (virtual) env from the bottom up (incl. defining opcodes, memory limits, maps/regions, device control registers, interrupts (hsync/vsync), device I/O, comms & multi-tasking possibilities, various retro-computing inspired graphics techniques)
defining a small low-level API/language for creative coding
learning about binary/hex and how that knowledge translates visually
The short video gives an overview of five small examples & tools (incl. a bitmap font editor) I had prepared for the workshop — the entire system was built within a couple of days with http://thi.ng/umbrella and incl. examples is only 12KB (gzipped). In the workshop we later ended up mostly using the TIC80 instead, since we covered quite a few other wider perma- & retro-computing related topics too... The 3 days were barely enough to provide an overview and have some exploration time...
If anyone is interested in a similar workshop, please do let me know, I'm keen to repeat it/extend it...
(Ps. I will post a link to the interactive version later too)
Sometimes I like more the unfinished plot than the finished one. Let's see how this one turns out. The new faster and better sounding servo is definitely an improvement. And this is a real test XD poor thing... #penplotter#CreativeCoding
Here we see the Advantage of Bi-generational Lifeforms: When temperature gets too hot, the forest sheds its leaves and powers down to survive, to then grow a new clan in... Spring?
I'm very happy that I figured out how to place the icons in columns (responsive) and the names under the thumbnails. I find aligning things in Swing even harder than in CSS.