Club Transmediale.08 - Unpredictable
Festival for Adventurous Music and Related Visual Arts
Generator.x 2.0: Beyond the Screen
24 Jan - 2 Feb 2008, Ballhaus Naunynstrasse / [DAM] Berlin
Workshop / Exhibition / Performance
Generator.x in collaboration with Club Transmediale and [DAM] Berlin presents Generator.x 2.0: Beyond the screen, a workshop and exhibition about digital fabrication and generative systems.
Digital fabrication (also known as “fabbing”) represents the next step in the digital revolution. After years of virtualization, with machines and atoms being replaced by bits and software, we are coming full circle. Digital technologies like rapid prototyping, laser cutting and CNC milling now produce atoms from bits, eliminating many of the limitations of industrial production processes. Once prohibitively expensive, such technologies are becoming increasingly accessible, pointing to a future where mass customization and manufacturing-on-demand may be real alternatives to mass production.
For artists and designers working with generative systems, digital fabrication opens the door to a range of new expressions beyond the limits of virtual space. Parametric models apply computational strategies to the analysis and synthesis of space, producing structures and surfaces of great complexity. Through fabbing these forms may be rendered tangible, even tactile.
Call for participants
We are looking for 15 artists, designers and architects who have an existing practice based on generative systems and custom software, and who are interested in investigating physical formats through digital fabrication. The workshop will be practical in nature, and will produce a selection of works that will be included in the exhibition at [DAM]. Participants will have access to an on-site laser cutter, and an introduction to this technology will be part of the workshop.
The workshop is free of charge, but we will not be able to provide support for travel or accomodation. Participants are expected to have experience with programming software that will allow them to produce work suitable for production, such as Processing, VVVV or any other system capable of producing vector output. Previous experience with laser cutting or digital fabrication technologies is a bonus, but not a requirement.
Applications must be in PDF format and should including a CV and a short statement of intent, describing why you want to participate in the workshop and how fabbing relates to your existing practice. You should include a maximum of 5 images of relevant work, with a total file size of 2 megabytes. Feel free to provide links to web sites containing documentation such as videos or downloadable software, but please don’t send such content by email.
Please submit applications by email to generatorx [at] clubtransmediale.de. The deadline for application is December 21, 2007, accepted participants will be notified at the beginning of January 2008.
Theverymany (Fornes / Tibbits): Tesselated panels
Generator.x 2.0: Beyond the screen is supported by The Office for Contemporary Art Norway. We also thank our partners: Institut HyperWerk HGK FHNW and Lasern. .
18:30 | December 2nd, 2007 | marius watz | +del.icio.us | +digg | trackback
It’s maybe too close to the deadline of the computer game assignment to give much additional inspiration, but I found an interesting link to an online archive of ZZap! 64. A magazine devoted to Commodore computer games with an obvious focus on the C64, it’s now a treasure trove of retro computer game culture. In particular, the magazine covers are a sight to behold.
Another site I only found after giving the assignment is Dot Eaters, an excellent overview of classic video game history.
[ZZap! 64 link via the excellent 30gms.]
22:02 | October 3rd, 2007 | marius watz | +del.icio.us | +digg | trackback
A little history
Since the first very computers, there have always been computer games. Games are in many ways the ultimate icons of computer culture. The computer excels at the kind of interactive simulation that games require, giving the user immediate response to her actions.
Early computer games tended to be iconic in their representations. Restricted by limited CPUs and low quality graphics, their worlds were often comprised of the most basic shapes: Lines, squares and dots. As a result, the focus was purely on gameplay: How do the elements interact, and what makes for an interesting game?
Examples of classic games are Tetris, Snake, Space Invaders, Spacewar and Pong. These are all visually primitive, but remain among the most addictive games around. They are quick to engage with and learn the principles of, but typically feature scaleable difficulty that means that even experienced players will find a challenge.
Later, pixel sprite games became popular, giving more potential for representation. The platform game model became more common. The focus was still on basic gameplay, but the visual environment became richer and there was more of a sense of a landscape in the games. Examples from this era include Dig Dug, Forbidden Forest, Gauntlet, Donkey Kong and Lode Runner.
Increasing computing power produced new genres of games, from advanced platform games (Prince of Persia) to new models like god games (Sim City, Populous etc.) Today, games are practically unlimited in their graphic complexity, and often tend to have strong narratives and advanced spatial environments. Meanwhile, 2D games are having a renaissance on mobile terminals.
Why you’re going to make a computer game
Computer games are perfect examples of interaction design. Games are interactive applications that potentially demonstrate a range of interesting qualities: Visual sophistication, advanced interaction and psychological aspects of experience design. A good game is usually immediately recognizable as such,
Games also present a complete model of a functional application. They take user input, process it against an internal model and output a visual (or multisensory) result in response. You’ll be able to use everything you’ve learned so far and put it to good use in an interactive situation.
A good game consist of several elements:
- A game model: What does the game challenge consist in, and how can the user win?
- Gameplay: What does the user control, and how does that control influence the game?
- Visual elements: What is the environment the game takes place in? Is the “world” constant, or does it develop over time?
- Scaleable difficulty: How does the game get more challenging as the user plays it?
- Addictive aspect: What will make the user come back for more?
Process
- Find a group you want to work with. You should be two or three people per group.
- Do some research on games. Look up some of the games mentioned in this introduction and see how they worked. Try to understand what makes them into classics.
- Come up with a concept sketch. Describe the game idea on paper, explaining what the components are and how they will interact.
- Do initial code sketches, not focusing too much on details but showing the basics of interaction.
- Present these ideas to Marius and Mosse in individual talks on the morning of Friday 28.09.
- By Wednesday 03.10 you should have a basic prototype ready. Marius will be available all the days Wednesday to Friday, but you will be working individually and there will be no proper teaching.
- Final presentation is Friday 05.10 at 13:00. You should have sent the assignments to Marius on email before then.
11:39 | September 26th, 2007 | marius watz | +del.icio.us | +digg | trackback
After last week’s assignments you should be ready to tackle a more complex application. Our test case will be a screensaver. What is the essential nature of the screensaver? Is it just pretty graphics, or could it be a medium for information?
Screensavers serve several functions:
- They save screens. Literally, they prevent phosphor burnout on CRT screens. On LCD screens they’re not quite so useful in this respect, since it’s healthier for the screen to power down than to stay on.
- They lighten up the office environment, and even entertain people with their endless animations.
- In a well-regulated office or school environment with little room for self-expression, having a special screensaver can be the equivalent of wearing a T-shirt with a band name on it. People customize their technology because it’s an expression of their identity.
- For more information on screensavers, see Wikipedia: Screensaver and Wikipedia: After Dark
Generative screensavers
To the frustration of many digital artists, screensavers have much in common with generative art. They often rely on some kind of ruleset to allow infinite animation and to avoid burning a single image into the screen because of repetition. Many classic screensavers use mathematical formulas like Beziers or Lissajous curves. But most screensavers are created by programmers, not designers, hence the bad reputation they have as cultural artifacts.
Smart screensavers
Recently, screensavers have gotten a whole lot smarter. The SETI@home screensaver is in reality a client for a distributed computing platform trying to find signs of intelligent life in outer space. Scott Draves’ Electric Sheep is also a distributed computing client, but it aims to create life rather than find it in space. By letting it run on your computer you’re taking part in a massive genetic algorithm aiming to produce interesting fractal animations.
Widgets: Apple’s Dashboard and Yahoo Widgets
What about widgets?
Widgets are simple mini-applications that have been gaining in popularity since the introduction of Apple’s Dashboard. Many widgets are interactive, such as calculators or notepads. But others are information gathering devices, listening to RSS streams and other forms of online information and delivering it to the user. Could we mix our screensaver metaphor with the idea of a widget? What kind of information gathering device could a screensaver be?
Coding tips
- If you’re making an animation that is meant to run forever without obvious repetition, you need some kind of random behavior. Consider using state counters with random intervals.
- Even better: Try using noise() instead of random(). noise() produces a continuously fluctuating random value that can be used to produce smooth animations.
- If you’re interested in doing information gathering, take a look at this blog post. It shows how to use the del.icio.us API with Processing. The openStream() function can also be used to read web pages from URLs, it’s not well-documented but there is an example here.
09:02 | September 19th, 2007 | marius watz | +del.icio.us | +digg | trackback