Portraying The Terran Condition is a 7D (backwards compatible to 2D) world simulation which depicts six different key events in the history of Terra (“Earth”), a low-tech civilization that self-destructed several aeons ago. Based on the relatively few biological and cultural artifacts, a team of multi-AI minds was able to recreate a stunningly accurate depiction of this ancient civilization.
Additional thanks are due to Eric Wenske, Damien’s teammate from Cosmic DJ, who made a couple models, and to Heather Kelley, fellow Kokoromi member, whose wise words led him to do procedural level generation for the game.
At SXSW 2012 we started discussing what we should do next as Kokoromi, having all been busy on other things since 2010. We didn’t want to do another Gamma, but we really like dance parties, especially when combined with games. I’d love to say it came to me in a dream, but actually it came to me while I was having trouble falling asleep. So I grabbed my phone and tapped out an e-mail:
Phil and I both like to DJ parties. So we should have a party we can both DJ at. Instead of a game we cover the dance floor with dance pads and hook them up to computers running projections so that by dancing to the music people create visuals. I’m thinking at least four dance pads.
This got the ball rolling, and after some back and forth we had the basic idea for what we eventually wound up with.
It’s All In The Execution
THE DANCINGULARITY is essentially an audience-interactive VJ application that is designed to be presented in conjunction with a live DJ performance. Party-goers, or players if you will, interact with the application by dancing around on a dancefloor made out of a 3×3 grid of Xbox 360 DDR dance mats. Most of the time, the application displays a visualization that directly represents the dancefloor, as above. Each button on each mat is represented as a square in a grid that mirrors the layout of the floor and when players step on a button, they will see the corresponding square light up and pop out from the grid. Ideally, players will dance in time with the music, creating synchronicity between the music and visuals.
In addition to the players providing input, there is also a Dance Master, who has a whole bunch of VJ controls she can use to add variation to the visuals. She can do things like skew, stretch, bounce, tumble the camera, and manipulate the glow effect. For our first performance, Heather simply used the computer keyboard to do all of this, but we also discussed hooking up a MIDI controller, which I might do in a future iteration. But even more than making sure the giant grid of squares doesn’t get boring for people, the DM is also responsible for deciding when a Dancingularity is imminent. Dance tracks are filled with those breakdowns that build in intensity until there’s a big, face-melting “drop.” The DM coordinates with the DJs to trigger a “build-up” during each of those.
We practiced ahead of time so that Heather could become familiar with our DJ sets and have a rough idea of when Dancingularities should occur but we also communicated live on stage. During the build-up, the visualization changes into nine large squares that represent each dance mat. Players must dance like crazy on the mats to make each square increase in size until it fills up its section of the cube. If they accomplish this before the musical “drop” happens, then the DM awards them by triggering THE DANCINGULARITY.
You might imagine automating the process by having the software simply trigger a Dancingularity when players have either filled up all of the build-up squares or have come very close to doing so, but in fact having a person determine when and whether to trigger the Dancingularity is important here. To automate it, the software would have to be doing real-time analysis of the DJ’s music to identify the musical moment it should occur (perfectly synched with the “drop”). But while the computer can look at numbers, it can’t look at people quite so easily. The human DM can award great enthusiasm from the crowd, even if they don’t manage to fill up the squares very much.
There were a few technical issues that needed to be addressed to make THE DANCINGULARITY a reality: input handling and wiring.
When we started, I wasn’t sure that it’d be possible to plug in nine dance mats to a single computer. In particular, since the mats show up as XBox 360 controllers in Windows, I was pretty sure it would only connect to four of them (there are only four lights on the guide button, after all). But before I could even test that theory, I came across another deal-breaker for running in Windows: the joystick axes problem, well known to fans of Stepmania. For whatever reason, the XBox 360 DDR mat presents the arrow buttons available as a d-pad, not as discrete buttons. The problem with a d-pad is that it’s not possible to press up and down at the same time, nor it is possible to press left and right at the same time. This makes a lot of sense if you’re talking about an actual d-pad, but no sense at all when talking about a dance mat!
The solution to both problems turned out to be running the app in Linux and using xboxdrv as the controller driver. This driver has an option for both treating the d-pad as buttons, thereby solving the joystick axes problem, and for running in a daemon mode that allows you to predefine how many controllers will be plugged in. Using the daemon mode meant that I could start the driver and the app before plugging in any of the controllers and the app would still see nine controllers. This made hot-swapping controllers very easy.
Finally, wiring was a major concern. DDR mats have a plastic casing at the top that houses the circuit board for the mat. We didn’t want these casings to be present on the dancefloor because we knew that people would step on them and either hurt themselves or totally break the mat. So I had to come up with a solution for hacking the pads so that the electronics could be moved off of the dancefloor. I’d found a web page describing how someone had hacked a different kind of dance mat so they could move the electronics away from the pad, so I decided to just open up the casing on my mat to see how it was put together.
Well, there you have it, just a plastic strip of conductive leads taped to a matching set of conductive leads on the circuit board. I couldn’t do any soldering. I knew I wanted to keep the wiring as neat as possible and my friend Bug had the brilliant suggestion of using ethernet cables, which already contain eight wires neatly packaged up. I needed nine wires per mat, eight buttons and one ground wire, so ethernet cable sounded like a good option. The other advantage to using ethernet cable is that all of the wires are color-coded, so it was easy to make sure the side of the cable attached to the mat matched up with the side attached to the electronics. The one decision I still sort of regret is deciding that I wanted to make it possible to detach the electronics from the cable using 9-pin serial connectors. Assembling those connectors and making sure everything was all connected through the entire assembly was a lot more work than I anticipated. The result looks like this:
Finally, a suggestion for any who might embark on a similar mission: don’t use electrical tape to secure wires. I initially prototyped with electrical tape and found that it just doesn’t hold very well, especially when dealing with stiff wires like the ones in ethernet cable. Any kind of tension in the wire will work against the tape. Things did not become reliable until I switched to using packing tape.
Berlin-based fans and thrillseekers!
You are cordially cajoled to mark your calendars for the grand re-opening of Berlin’s Computerspielemuseum in its new permanent digs in Friedrichshain!
Kokoromi is extremely proud to be part of the CSM’s new exhibit, contributing a video documentation from our event Gamma4: One Button Games. The video was produced by our pals at Area5.tv, who captured gigabytes of great footage at the event, and were kind enough not only to share it with us, but to edit together a sweet reel of the games and music.
For now the video can be seen only at CSM, but it marks the renewal of our ongoing efforts to archive, edit and release documentation of Kokoromi projects, which we realize has been horribly lackadaisical thus far.
So, if you want to come celebrate in Berlin, here’s where and when to show up. Doors to the museum open to the public for the first time this Friday, January 21, 2011 at 10am! The Computerspielemuseum is also host to the closing event of Berlin’s Global Game Jam on January 30. I (Heather) will be there – come say hello!
The secret plan to make dance party games so as to get invited to more artsy dj dance parties is a resounding success.
Come see Kokoromi at VIA 2010 in Pittsburgh. Damien and I will be there October 1st to 3rd with Kokoromi/Polytron’s Super HYPERCUBE, and Gamma 01: Audio Feed-featured I Have Big Balls, by illustrious Toronto game designer Shawn McGrath.
There will be some musical acts there as well, like Matthew Dear and !!!, but we’ll know you’re secretly there for us. (Well except me. I’ll be there for !!!)
We would like to share our heartfelt thanks with the amazing supporters who helped us bring Gamma IV to the GDC this year! We still cannot get over the amazing response to this year’s arcade. Thank you all for making Gamma IV such an incredible success.
Game Developers Conference
Semi Secret Software
Twisted Pixel Games
Tiger Style Games
Technoculture, Art and Games (Concordia)
Four Door Lemon
Singapore-MIT GAMBIT Game Lab
Aboriginal Territories in Cyberspace/Obx Labs
-Chin of Holowka-
Teck Lee Tan
Daniel Oliveira Carneiro
K. Adam White
Marc ten Bosch
Mitu S. R. Khandaker
Robin Chenoweth McShaffry
SERIOUSLY AWESOME VOLUNTEERS
YOU KNOW WHAT YOU DID!
Jason Della Rocca
GIVERS OF COOL STUFF
Broken Rules (http://www.andyetitmoves.net/)
Capybara Games (http://www.capybaragames.com/)
DB Soundworks (http://www.dbsoundworks.com)
Dejobaan Games (http://www.dejobaan.com/aaaaa/)
Flashbang Studios (http://www.raptorsafari.com)
Gaijin Games (http://www.gaijingames.com/)
Hemisphere Games (http://www.hemispheregames.com/osmos/)
Infinite Ammo (http://www.infiniteammo.ca)
Invisible Handlebar (http://www.audio-surf.com/)
Klei Entertainment (http://kleientertainment.com/games/shank/)
Semi Secret Software (http://www.semisecretsoftware.com/)
Team Meat (http://supermeatboy.blogspot.com/)
The Odd Gentlemen (http://www.winterbottomgame.com/)
Think Services (http://www.think-services.com/gamegroup.php)
Tiger Style (http://www.tigerstylegames.com/)
Torpex Games (http://www.torpexgames.com/)
Unknown Worlds (http://www.unknownworlds.com/)
Gamma IV comes to San Francisco’s Mezzanine (444 Jessie Street) this Wednesday, March 10th, 2010! We’re in an extra powerful scramble to make sure this is the best Gamma yet.
Meanwhile, we’re pleased to announce the six brand-new One Button Games, chosen from over 150 submissions(!), for this year’s Gamma:
Silent Skies by Spyeart
Poto & Cabenga by Honeyslug
4Fourths by Mikengreg
B.U.T.T.O.N. (Brutally Unfair Tactics Totally OK Now) by Copenhagen Game Collective
GAMMA IV – THE GAME by cactus
Faraway by Steph Thirion
This year presented a significant curatorial challenge for us, given the exceptional quality and diversity of submissions to our “one-button games” call. The six games we ended up choosing demonstrate creative approaches to the one-button restriction, AND are tailored to the unique challenges of Gamma’s “new arcade” format. Games will be displayed on large screen projections and set to music from Starpause (SF), Baiyon (Kyoto), Class Prez (ATX), and more.
Also, don’t forget that from March 11th-13th, you can check out the One Button Games showcase at the Gamma IV Pavilion on the GDC Show Floor, presented in association with the Game Developers Conference.
And for more Gamma fun, come see One Button Objects on March 12th, a collection of playful circuit hacked creations inspired by the Gamma4 theme, at Gray Area Foundation for the Arts (55 Taylor St. San Francisco).
Wednesday, March 10th, 8pm-3am
Free entry with any GDC badge
$10 public admission
Entry to Mezzanine is 21+, with I.D.