New Dart Art

Created New Art for my Augmented Dart Game thesis project. The previous characters were “cute”, and user testing showed that teens related to them, but the focus got away from the emergent behaviour, which is the core of the game. Now focussing on creating a more cohesive system, where the creatures relate visually with their environment. And they’re prettier.

Beautiful Accident: Ghosts

I was coding in a tail made out of circles from 2 to 0.1 radius (was trying to make them look like sperm since I think the new game name will be Fertile Ground), when all of a sudden, the boids came out looking like ghosts. Having two body segments that have connective tissue looks extremely expressive, and pulls the feeling away from single-celled organisms. Trying to figure out a game narrative that takes a critical look at conception. Something to do with intelligent design?

The offending chunk of code after the jump:

The trick: I used

5.0f

instead of

TRAIL_LENGTH

(which is defined as 15)…

	for(int i=TAIL_LENGTH-1;i>=0;i--){
		glPushMatrix();
			glTranslatef(tail[i].x,tail[i].y,0);
				ofCircle(0,0,2.1f-(float)i/5.0f*2);
		glPopMatrix();
	}

Dart Game Prototype

The current Dart Game software in openframeworks.

list of features and outstanding things after the jump.

Features

  • Gravitational Emergent Behavior (based on Steadman Particle Drawing Tool)
  • Infrared Computer Vision Detection (from live & recorded video)
  • Quad Warping of incoming video for camera/projection alignment
  • Vector Field levels generated from Grayscale Images
  • Win-state detection

Outstanding things to do include:

  • Integration of Motion History Dart detection
  • Two-way serial communication with the dartbox prototype.
  • Weighting of Motion History Detection with Piezo Vibration Sensor
  • Integration of Craig Reynolds-style flocking algorithm (ofw demo)
  • A million other things I can’t think of at the moment

Flocking Algorithms…

Ported Daniel Shiffman‘s Processing implementation of Craig Reynold‘s Boids program into openframeworks.

Digital Creatures by Gary Stasiuk

In 2005, Gary Stasiuk gave a lecture at FITC about his Digital Creatures project. It was a fantastic learning experience, and one of my first introduction to thinking formally about Boids. Google helped me find the original presentation, which is full of lots of helpful algorithms that I’d like to integrate into my thesis game… like proper flocking, not just neighbor avoidance…

Digital Creatures Presentation

Vector Fields…

Vector fields are how I can get the little digital creatures in my game to avoid walls and darts more intelligently. While the gravitational algorithms I’m using are great, they are somewhat limited in terms of how I can get creatures to avoid complex objects.

Enter vector fields:


Here we have an expired patent for a video game that uses vector fields to simulate intelligence in digital opponents. Found it on this awesome blog by Christer Ericson, Director of Tools and Technology at Sony Santa Monica (the God of War team).

–via [realtimecollisiondetection.net – the blog]

Vector fields in Openframeworks [wiki.openframeworks.cc]

top image from higgs2007 via [flickr]