Saturday 0:30, Collabor8. After an exciting kick-off event on Friday evening and the voting of the topics, developers stare intently at the code in their IDEs, designers search for the optimal colors for a car sprite, and in the background the beat booms from the headphones of the sound designer.
No, this is not a typical workday at OTTO. This scene was taken in the middle of the hot phase of the BeansJam, a game jam organized by the Internet broadcaster Rocket Beans TV. The goal of the jam was to develop a game within 48 hours on topics specified by the Rocket Beans community. From the conception to the design to the programming. OTTO was not only involved as a sponsor, but also provided three teams consisting of employees who tried their hand at a Game Jam for the first time. The Beans Jam was all about mobile games, but other games were also allowed. For example, an OTTO team developed an analog card game.
The respective interim results were accompanied by several live broadcasts from the Rocket Beans TV studio to the teams in Collabor8, and some team members also provided real-time insights into the development via their personal Twitch streams.
In addition to a lot of fun, very little sleep and finished games, we were also able to take away some exciting insights from the weekend. Agile (development) methods, which we know and use from our daily work at OTTO, also work under the extreme conditions of a game jam.
Elementary for the delivery of a finished game after 48 hours is to reduce the game mechanics to the most necessary. In the conception phase, we had to select from the numerous great functionality ideas those that should form the core of our game and discard the rest with a heavy heart. We defined the MVP of our game, so to speak.
Via several spontaneous stand-ups, in which the whole team came together and many short meetings of those working on closely interlocked functions, we kept each other up to date on the current state of work. The identification of open tasks and the distribution of these to the team members also took place in this framework. Especially towards the end of the jam, the appointments helped a lot in prioritizing the next steps.
To avoid getting bogged down in small details, we tried to proceed in iterations as small as possible. That is, first implement only the basic idea of an aspect (for example, with placeholder graphics, without animations), test whether the functionality behaves as desired, and only then expand it. The 4:44 rule was very helpful. It says that the basic mechanics of the game should be created in 4 hours and the remaining 44 hours should be spent only on perfecting/polishing. The creation of incompatible code states by developers working independently of each other was largely avoided by integrating them in the form of Git at the end of each short iteration.
Despite the short time frame, we were able to use pair programming to some extent, thanks to the participation of numerous developers. It was noticeable that even two overtired developers in front of a computer make trivial mistakes, but find them much faster than alone. Nevertheless, the importance of sleep should not be underestimated at a game jam. We regularly noticed how our performance decreased with increasing tiredness and how even the completion of the smallest tasks took a disproportionate amount of time. So going through 48 hours is only useful to a limited extent.
In retrospect, it is interesting that we unconsciously applied the Agile methods we were familiar with from our daily work routine even during the game jam, without intending or planning to do so. All the more pleasing that the above-mentioned methods also withstood the endurance test of the Game Jam.
Finally, we would like to recommend that anyone who is passionate about games take part in a game jam. Even if you don't end up with a finished game, the experience alone is reward enough. The pride of handing in a finished game is just a bonus.
The following video gives a little insight into the jam with the highlights from Friday (german only):
We have received your feedback.