Creating games from scratch is hard. What if we could “remix” existing games, just like we do for music?
That was the aim of the RedWire game jam that took place in Paris over the weekend of July 25-27. The event was a collaboration between four organizations: the Center for Interdisciplinary Research (CRI) has been developing RedWire; Jam Shaker organizes game jams on a monthly basis; Mozilla encourages and supports people to develop new things for the web; and the Gamelier is a game development club who run a variety of game events in Paris related to game, science and education.
RedWire is a new online game engine made specifically for remixing and mashing up games. Unlike other engines, the focus is on making individual parts like bricks that can be put together without conflicts and fitting each other. RedWire is an open source project, and all the games made on it are open source as well. When you find a game you like, you can examine how it’s made, fork it, make your own version and drag and drop parts of other games to remix them.
We organized a very unusual event! Most game jams have a very similar format : a theme is announced at the start, participants brainstorm and present their ideas, and then they form groups around the ideas that they want to work on. From then on, everyone stays with their team in their own corner until the games are presented at the end of the jam.
Because we wanted to focus on remixing games, we decided to take a radically different approach, separated into three phases. On Friday night, I presented a short tutorial on how to use RedWire. Then, the whole group brainstormed ideas for gameplay “bricks” that we could create and reuse in a variety of games. Most of Saturday was taken up translating those ideas into runnable code on RedWire. Starting Sunday night, we came up with complete game ideas that involved assembling those bricks. Sunday was about finally creating those games and demoing them in front of the others.
Around 20 people showed up over weekend. For the most part, they were programmers, but with varying levels of experience in different languages.
What came out of it? Here are a few of the gameplay bricks that we programmed:
- Tileset system to generate backgrounds from
- Score counter
- Falling blocks: Blocks with letters on them fall from the top of the screen. Pressing the corresponding letters gains you points
- Menu that you navigate with your keyboard
- A psychedelic animation that changes color schemes with every mouse click or keypress
- Teleporting enemies that disappear and reappear
- Dialog system with image and HTML text
I was fun to see the games that resulted from these blocks. Click on the links below to play the games:
– Two sides, by Alexis Moroz and Hugo Hilaire: The player must destroy as many enemies as possible as they travel across the screen. Then the player joins the other camp, and replays the same sequence, but this time carefully avoiding all the projectiles that they fired off in the previous sequence.
– Soundefender, by Maxence Bouhenic, Clement Jacob and Clement Bourgoin: A game for two players, in which one uses the mouse to target enemies and the other fires. Hovering over an enemy with the mouse plays one of 3 sounds (low, high, or medium) and the player controlling the keyboard must respond with the same sound in order to destroy the enemy.
– Je de doigts, by Gaëtan Vergeot and Donat Bihr: 2 players work together to hold down the keyboard keys for the letters that have fallen to the bottom of the screen. New letters keeping falling and replace the old ones, forcing the players to do a fun “keyboard dance” of sorts.
– Home, by Rémi Leblanc and William Huam: A space shooter in which you must carefully pick between the enemies and neutral ships. The only difficulty is that they look identical.
But my favorite is a remix of a remix. Alexandre Vaugoux took Soundefender and added his SYKIK layer on top of it to yield SYKIK Soundefender.
In one action-packed weekend, we learned quite a bit about RedWire. We were happy to find that “circuits”, self contained blocks that have their own logic and memory, worked well for sharing between games. Another feature was the sound support, which lead to some really excellent sounds generated by jsfx. On the downside, people had trouble understanding how exactly the engine is executing the code. Many expected that the chips would be executed in order rather than concurrently. Also, they didn’t get how to pass information from one chip to another.
Thanks to everyone who participated in the jam, the project is going to evolve much faster in the next few months. For more information about RedWire, check out our tumblr blog and follow us at @RedWireIO. Or just get started making your own game.