Another, rather more wigged out shader test:
Another, rather more wigged out shader test:
We are currently looking for places in which the groworld game could take place. This is an important decision as it will create the atmosphere and dictate a lot of the feeling that the game has. More pics here. One common feature in our minds it seems, is the tension between grown and built, rural and urban. Having said that, we don’t want to go as far as flower in making this an explicit conflict in the game.
I’ve added collision detection so drivers avoid hitting each other, but there is no way of getting out of deadlock situations between two drivers – i.e. no reverse ๐ This results in some nice emergent queuing behaviour.
Thanks to Gabor’s new fbo-pixels branch, we now have render to texture functionality working in fluxus, as an exciting extension to the pixels primitive. This should be in the main branch soon. One of the things I want to use this for is full screen effects, such as bloom/glow effects which are applied to a rendered scene as a single pass with a glsl hardware shader.
The jpeg compression really isn’t kind, but this video shows a before and after comparison:
There will be a fluxus example with this soon, but here is my work-in-progress shader:
varying vec2 texc; uniform sampler2D tex; uniform float kernel; uniform float scale; uniform float thresh; void main() { vec4 sum = vec4(0); int i=0; // mess of for loops due to gpu compiler/hardware limitations int j=-2; for(i=-2; i<=2; i++) sum+=texture2D(tex,texc+vec2(i,j)*kernel); j=-1; for(i=-2; i<=2; i++) sum+=texture2D(tex,texc+vec2(i,j)*kernel); j=0; for(i=-2; i<=2; i++) sum+=texture2D(tex,texc+vec2(i,j)*kernel); j=1; for(i=-2; i<=2; i++) sum+=texture2D(tex,texc+vec2(i,j)*kernel); j=2; for(i=-2; i<=2; i++) sum+=texture2D(tex,texc+vec2(i,j)*kernel); sum/=25.0; vec4 s=texture2D(tex, texc); gl_FragColor=s; // use the blurred colour if it's bright enough if (length(sum)>thresh) { gl_FragColor=sum*scale; } }
I’ve been developing a simple networked mulitplayer prototype game for groworld. Not much to look at yet, but it contains one very simple gameplay mechanic – pollen can be blown out or absorbed into flowers by players, who are represented by plants. At the moment this just results in a change of flower colour, but the idea is that we could use a technique like this to distribute more complex abilities and behaviours between players. It’s also a good way of testing out network transport protocols, at the moment it’s just a couple of OSC messages, but the next thing to try is XMPP (which means a jabber chat client for fluxus ๐ All the code is available on foam’s git repo.
Also, here’s another pluggable plants test:
We’ve come up with a way of making plants out of modular components, where the branching structure is partly controlled by the textures. This means we have more artistic control over the plants than is possible with pure L Systems, although the topology can be generated in the same way. There is more info on this idea on the libarynth, and here’s a load of randomly built plants from a set of test components – I’m calling these lollypop trees:
This started out as a test for some drifting pollen plant communication, but over the course of a day at borrowed scenery, it somehow became a dancemat powered sound installation. The code is here.
I’ve just spent the last few days helping to set up and take part in foam’s contribution to Ghent’s “The game is up” festival (how to save the world in 10 days). We’ve been talking, eating, drawing, growing and philosophising about plants, and I’ve been programming, and getting people to test mini games based on our vegetal friends too. We also met with Auriea and Michaรฦรยซl from Tale of Tales to talk over game designs for the groworld project, and tried playing some relevant games (including the excellent Nobi Nobi Boy). My dancemat’s also been taking a hammering, causing some flowery fluxus noisiness ๐ There is still a lot more things going on, including workshops on seedballing and solar power, a guerilla gardening excursion and de-installation art.
A lot more photos here.
Last weekend I was livecoding the Vooruit in Ghent, along with Fokke de Jong, Gabor Papp, Evan Raskob, Graham Coleman and Antti Jadertpolm as part of Resonance Ghent 2009. It was a pretty full on weekend consisting of inhabiting a nice gallery space in a continuous workshop/jam session, and taking control of the visuals on the Saturday night event. Many thanks to Bram de Jong for being the perfect host!
On the saturday night we combined the forces of 3 fluxus livecoders. This is a mini clip of Gabor Papp and Evan Raskob livecoding to (I think) Claro Intelecto and Andy Stott:
Some of my stuff is visible right at the start of this video.
Here is a clip of Antti Jadertpolm live-photoshopping, which provided a very organic look, with a refreshingly manual process which was fascinating to watch: