Demos We Care About is a daily feed of demos that someone, somewhere, cares about. The goal is to share the best, most interesting, most loved demos to a wider audience. There are two in fact two main audiences for the feed – demosceners who want reminding of the best that the scene has to offer, and then there’s the wider audience of non-demosceners who might not normally get to see these works.
The format is quite simple – a demo a day. Each Tweet gives you the demo name, the demogroup (or groups) behind it, the year, the format (Demo, Wild, 64k, etc.) and the platform. Then there’s the name of the contributor and a mini review, usually just a few words long. You’ll also see a link to the demo on Pouet (the eponymous demoscene database) and a video, most often YouTube but when that fails I’ll use one of the dedicated demoscene video sites like Capped.tv or DTV. It’s a pretty limited format, imposed by the 140 character limit of a Tweet, but the demoscene has always been about pushing boundaries.
Two weeks ago, at the Sundown demoparty in southern England, I took AteBitVJ out for a spin. Actually, it was two spins.. VJing for Hoffman and then Savannah, both of Unstable Label. Both played pretty hard breaks, with Hoffman demonstrating his awesome PT-1210 software running on dual Amigas.
Unfortunately there isn’t much footage of AteBitVJ in action other than this video showing Hoffman in action, with my visuals in the background. <crime reporter>If you have any photos or videos of the event, please don’t hesitate to send them in</crime reporter>
On Saturday the June 29th, at 11am, in a small basement room at Edinburgh’s Traverse theatre I gave a talk on the demoscene at the 67th Edinburgh International Film Festival. Entitled “An Introduction To The Demoscene – The Best Digital Art You’ve Never Seen”, I discussed the origins of the demoscene in the early 80’s software cracking scene and how those roots have evolved into the modern scene that we see today. I also showed a handful of outstanding demos too. The theatre turned out to be a great venue for a demoshow – dark and quiet, with comfortable seats, a good projector and sound system and no distractions.
Time for some pictures of AteBitVJ in action! I thought I would spend an hour or two creating some examples of what this new VJing software can do. All of these images were taken live in AteBitVJ and are presented here without any post-processing whatsoever. If only you could see how much better they look when running at 60fps.. ;)
For those who don’t already know, AteBitVJ is a new breed of procedural VJ software that doesn’t rely on pre-built VJ loops. The system runs on a moderately powerful Windows PC and is not only highly configurable but also fully controllable via the usual suspects of MIDI, OSC and audio. It’s currently still in development, but I’m always looking for Beta testers.
I recently posted a new video of AteBitVJ up onto Vimeo. It’s an interesting one because it shows how a single, pretty basic effect can be made into something much more by applying a few layers of effects. I’m a big believer that you can really easily improve your real-time visual effects by applying some simple post-processing, and I thought it might be nice to delve behind the scenes into how I go about doing that.
So, first off, here’s the video:
It’s recorded live from AteBitVJ with FRAPS in a single take – no external post-processing or editing involved. Unfortunately the video compression hasn’t been particularly kind here and you can see some ugly compression artifacts. Luckily, the screen shots in this post will be lossless! The audio is provided by 4mat and is called “Spun Gold”. It’s one of my favourite tracks from his 2012 album, Origins.
The base layer for this video is a pretty simple effect – audio FFT data from the track represented as an infinitely scrolling 3D landscape. By itself this effect can look quite nice, but I wanted to get some more out of it. I started out by zooming in and cropping so that it fills most of the frame:
One of the reasons I wanted to use a canvas (rather than tables of characters) for my textmode library is that is allows you to easily mix in normal 2D graphics and use effects like transparency. This post is a quick example to show how this sort of thing can work. Click on the image below to see what it looks like and then I’ll delve into the method behind it:
Recently I’ve been thinking about making a textmode demo. If I’m honest this happens about once a year, usually when the results of the annual Text Mode Demo Contest come out. I love that TMDC is helping to keep textmode alive, but I always feel that the demos they attract are, often, just standard 2D or 3D renderers passed through an image to ASCII filter like the impressive TextFX. Now, don’t get me wrong, I love the look of some of these demos. But I do feel like they are missing the point somewhat and I’d love to see some hand painted ASCII art in amongst the filtered stuff. Hopefully I’ll actually be doing something about it this time, but you’ll have to wait and see..
So, I like textmode art. A lot. I also like realtime. A lot. Realtime textmode demos that end up rendered out to a video and shared around as a YouTube linke? Not so much. It’s 2013. We should be able to watch textmode demos in their crisp, “full high-res” glory. And that’s where this article comes in. I’ve been taking a look at getting textmode effects running in a browser. Turns out it’s surprisingly easy even if, like me, you haven’t ever done any serious browser coding. Here.. I’ll show you..
Time for another update on AteBitVJ. The latest addition to it’s arsenal is the ability to create your own effect modules from scratch. Anyone who knows me or has read this blog will know that I am a big fan of Processing. I love it’s immediacy – that I can very quickly prototype and test out ideas. Several of the effects modules in AteBitVJ started out as Processing sketches before being re-written in C++ and HLSL. In fact, it was partly due to me wanting to take my audio visual Processing experiments further that led to me creating AteBitVJ in the first place. So it’s fitting that I’ve added a Processing-like scripting library to the app. The cool thing is that these scripted modules are immediately fully integrated into AteBitVJ, giving you access to a wide range of filters, modules and synchronisation options.
The scripting language I chose to use is Python, but it was a close call between Python and Lua. I’ve embedded Lua a lot in the past, mostly in various commercial games like Crackdown, and have always liked it. I find that it’s very easy to embed and is pretty safe and simple for non-technical people (like game artists and designers) to pick up. Python is a newer discovery for me and I’ve only been using it in anger for a few months. I’ve been using it a lot in my day job, so it’s advantageous for me to take a more in-depth interest in it, but I’m also aware that a lot of artists are getting into it through scripting in packages like Maya, Max and C4D.
So here’s a quick video of the latest version of AteBitVJ. It not only shows off the immediacy of the UI (the whole video is shot in one take) but also the Python scripting – the main visual effect you see is Python scripted.
And here’s the script itself: