Game Dev Party – Writing A Game For The Web In A Weekend

Between 23 and 25 March 2012, 50 people or so gathered in Lyon, France to create Web based games. The event is known as the Game Dev Party [fr], with this year being the second installment. A few friends and I had the opportunity to participate and create our own game.

This is what happened…

Day 1: Choose your project

The event started Friday, at 6:30pm. All 50 participants gathered around some drinks and snacks, and a few participants went on stage to present their ideas. To determine which teams/projects move forward, everyone had to cast their vote for their favorite. The voting ended in 8 projects being selected.

Team leaders then had to find a team. A team had to consist of at most 7 people, and be from as diverse a skill set as possible. There was a few graphic designers, sound designers, and a lot of programmers, but in the end I feel like teams were well balanced.

Potential team leaders, exposing their ideas

Here are the 8 projects that we worked on over the weekend:

  • Eat Them All: a strategy game where you send zombies to attack the opponent’s fortress.
  • Super Bit Boy: a clone of Super Meat Boy in a colorful world
  • Project Revenge Out: a 1vs1 shoot’em up game
  • BomberLOL: a bomberman game with Internet memes everywhere
  • Pick & Destroy: a 1vs1 shooter game
  • Ninja Garden: a clone of Hidden in plain sight
  • Metal Party: a platformer were you attract or repel things
  • Ram Neum Neum: a shooter in a cooking world

All 8 projects were very exciting, and teams started working immediately: first to define the gameplay of their game, and then to decide what technologies to use, and who should do what. Some teams came with some code or precise ideas, and started working on the game quickly. The day ended at 12am, and we all went to bed with stars in our eyes.

I chose to work on Super Bit Boy, because of the technical aspects of the project (hand made game engine, low level canvas work… ) and because it was the project of two Mozilla friends, Nicolas Silva (currently interning in Toronto) and Paul Adenot (currently interning in Mountain View). I worked with a third Mozillian and ex-intern, Louis-Rémi Babé, and we all met Michaël Peiffert, who would become our graphic designer, that evening. We quickly discussed the gameplay we wanted, and as it was pretty unclear, we decided to first do what we were sure we wanted (like the double-jump, or colored platforms), and decide later what the real gameplay should be. As we already had an engine, we started coding the gameplay right away.

Day 2: code, draw, record

The second day of the event started at 8:00am, and is easier to describe: we all worked on our games. Each team had a few tables to work on, and all participants came with their own equipment: computers (I’m not saying laptops because there were some desktop computers as well), sound recorders, graphics tablets, guitars… It was noisy, people were often looking at what others did, everything went smoothly and everyone seemed to be happy.

A lot of things happened in our team that day: Michaël created a cute character and beautiful tiles, Paul worked on sounds and musics for the game, and Louis-Rémi dedicated his work to adding particles to the game. As Nicolas could not connect to the WiFi, he ended up doing pair programming with me: we implemented the color of platforms, added the double jump, reorganized the way we handled our maps, added collision boxes. At some point we had something playable and that could quickly become fun to play. We decided to have another gameplay brainstorm: our first ideas seemed not good anymore, and we chose to try something a bit different. The player’s character had a color, and could change it. It could not touch a platform that was not of its color. So the gameplay was: jump from one platform to another, and change color while in the air to have the right color when landing.

We implemented that new gameplay and played a bit. After a few fails from each player of the team, it was clear that it was too hard. We then went for something a bit different: the character could touch a platform that was not of its color, but had to jump immediately or die. It became much more simple, and also more fun and faster to play. We ended day 2 with something fun, playable, and really beautiful thanks to Michaël’s graphics and Louis-Rémi’s particles, and went to sleep confident about our game.

Day 3: polish

The third and last day begun at 8:00am as well, but we had one hour less that night because of time change. I can tell you that the place was really empty at 8am! But people came in one by one and finally everybody was there and working again. We had until 4:00pm to finish our game and be ready to show it to others.

No, no one died during the event

Our goals for that day were: polishing, making good maps, and adding a few features. I added new objects to our maps, like level start and end, and bumpers. Paul integrated the sound to the game, Louis-Rémi worked on a timer and some particle optimizations, Nicolas added animations for the character and Michaël worked on graphics and maps. And then it was polishing, and map testing. And after-deadline bug fixes!

So 4:00pm came, and we were kind of ready, but we had no choice: it was time to present our projects! Every team had one person talk about the project and show a short demo of the game. I was really impressed by the quality of some projects. It was hard to believe that it had been done in less than 2 days. Let’s have a look at what was done…

We made games

In the end, we had 8 games, and 7 were playable (a team had technical problems and could not demo their game). Fun facts, one game was programmed in Java and played in a browser via an applet, and another had a C++ WebSocket server. All other games were using more classical Web technologies: HTML5 and JavaScript were the grand winners. Node.js and PHP being each used by one team on their server.

  • Super Bit Boy

 

 

 

 

  • Tellura
    • Style: platform
    • Team size: 7 people
    • Technologies: HTML, JavaScript, LimeJS
    • Play the game
    • Source code unavailable

     

All those games were developed in only one weekend by a few highly motivated people. Isn’t it easy to create fun and beautiful games with Web technologies? Well I’m telling you: it is! If reading this post made you think “I want to create a Web Game myself! “, then I invite you to read our awesome documentation on MDN about JavaScript, Canvas, the Audio API, WebSockets… Also check out our list of Game Engines and libraries for a quicker start!

And if you want to go further, take a look at Mozilla’s Gladius project, an open 3D Web Game Engine, and join us on #games in irc.mozilla.org!

1 response

  1. Andrew J. Baker wrote on :

    ” andrewjbaker: leave a comment saying #bbg is full of nice and skilled people ;)”

    That’s #bbg on irc.freenode.net. Plenty of Mozillians in there too.