The Second Coming of JavaScript

Context Free, Programming Comments Off

Some months ago, John Resig created processing.js - an impressive JavaScript port of processing, which draws its output on a ‘canvas’ element entirely client-side inside your browser (at least if your web-browser is Firefox 3 or a recent nightly build of WebKit, that is).

Now Context Free (the original inspiration for Structure Synth) has been ported to JavaScript too: Aza Raskin has created ContextFree.js (Source here).

JavaScript has undergone a tremendous evolution. From creating cheesy ‘onMouseOver’ effects for buttons on web pages to being the ‘glue’ binding together complex applications like Firefox or Songbird (the Mozilla application frameworks works by stringing together C++ components with JavaScript). Likewise Microsoft chose to build their Silverlight technology on .NET components which can be controlled by JavaScript in the browser.

And of course the ActionScript in Adobe Flash is also JavaScript. Adobe (and/or Macromedia) has put a lot of effort into creating fast JavaScript implementations - most notably their Tamarin virtual machine and Just-In-Time compiler, which in theory should make JavaScript almost as fast as native code - or at least comparable to other JIT compiled languages such as Java and the .NET languages. Tamarin is open-sourced, and will eventually make it into Firefox 4.

Finally, while the Tamarin virtual machine was built to execute (and JIT) bytecode originating from JavaScript, other languages may target Tamarin as well. Adobe has demonstrated the possibility of compiling standard C programs into Tamarin parseable byte-code (their demo included Quake, a Nintendo emulator, and several languages like Python and Ruby).

So perhaps a future version of Structure Synth could be running as C++ compiled into Tamarin bytecode in a Flash application…

Underground code

Retro, Programming, Digital Art No Comments »

The Demo Scene never cease to amaze me. The technical quality of these demos is amazing - complex 3D scenes rendered real-time, procedural textures, real-time sound synthesis, and incredible low foot-prints.

Recently I stumbled upon demoscene.tv which features recorded videos (flash video) of many of the best demos. Of course part of the fun is actually running these demos, to be amazed that they are indeed real-time, but sadly my laptop is not geared towards neither CPU or GPU intensive activities.

A few selected demos:


fr-041: debris by Farbrausch


Lifeforce by andromeda software development

4K Should Be Enough For Everyone

Programming, Digital Art Comments Off

Kindernoiser (yep, weird name) is a a 4096 byte demo of 3D julia sets. For comparison the HTML for this page is close to 30 KB.

ui

Kindernoiser screenshot.

If you do not have a powerful graphics card, try the video linked to below.

KinderNoiser

Light synths

Weird, Programming, Digital Art Comments Off

By coincidence I came across Jeff Minter’s company Llamasoft and surprisingly discovered that it was still going strong.

Jeff Minter, probably most famous for his somewhat… surreal C64 games (”Attack of the Mutant Camels”, “Revenge of the Mutant Camels” and even “Metagalactic Llamas Battle at the Edge of Time”), apparently has been hacking away on light synthesizers for the past twenty years.

His light synthesizers are complex visualization modules either music-controlled or driven by human interaction. And his latest incarnation, Neon, is actually used in the Xbox 360’s dashboard.

Neon Light Synthesizer

The Neon Light Synthesizer in Action.

Who would have guessed that Llamasoft code would end up in the Xbox 360 firmware?

Experimental Games

Games, Weird, Programming No Comments »

Experimental Gameplay started out as a student project at Carnegie Mellon University in 2005.

Given three basic rules (”Each game must be made in less than seven days / by only one person / be based around a central theme (e.g. gravity or swarms)”) some very interesting projects were created. Since then the website has opened up, and everyone is allowed to post their experimental games.

The experiences gained from the project are summed up in: How to Prototype a Game in Under 7 Days (Gamasutra Feature).

The Crowd

The Crowd. Actually not a game, but beautiful none-the-less.

On a Rainy Day

On a Rainy Day. Surreal.

Tower of Goo

Tower of Goo. Great gameplay

Programming in the (very first) sixties.

Programming No Comments »

Mechanical programming of robots in the year 60 AD:

First seen on abstractmachine (now that is a site with a design to remember).

Virtual Art III

Programming, Digital Art No Comments »

Digital Art Software showdown:

Processing is a Java-based environment for creating digital art. ProcessingBlogs often showcases examples of Processing creations. This Flock of birds demo and the Webcam controlled video pong are nice examples.

VVVV is a realtime video synthesis framework. It is a Windows only flowgraph based system, which seems to be built on top of DirectX and DirectShow. As seen on the Eno Henze image above, VVVV is also very suitable for creating static pictures.


Nodebox

Nodebox

For Mac OS X users, NodeBox looks very impressive (short summary: “NodeBox does less, prettier, in Python. Processing does more, uglier, in Java“) Their gallery page has lots of good examples.

Just-In-Time Programming

Live Coding, Programming, Digital Art Comments Off

ChucK is an audio programming language for real-time performance. It is possible to add and modify code without stopping the audio stream, which makes live coding sessions possible. I played a bit around with ChucK in the miniAudicle editor, which can be recommended - the real Audicle (a spectacular OpenGL interfaced IDE) on the other hand proved to be quite unstable.

For a more extreme version of live coding check out Quoth (now this is weird - a Zork-inspired user interface).

Based on a design by N.Design Studio. Modified by hvidtfeldts.net (more...)
Entries RSS Comments RSS Login