A MAZE. / Berlin
A MAZE. is officially defined as a games festival. Near the end of gamesweekberlin and particularly interesting for game developers, there was a wide range of things to see and learn there, from the talks and workshops to booths from companies and an exhibition of games competing for a prize from the event. The festival is very indie-focused, with many talks about experiences from indie developers or pertaining to the culture of video gaming and video game development.
On the first full day, Eric Zimmerman gave a presentation called “100 Versions of Losswords”, showing the development stages of a game, called Losswords, that his team made. Much of the presentation was about ideas they needed to throw out and how the game needed to be rethought. An important note Eric mentioned was that it’s important to focus on a narrative identity, or what kind of game will attract the intended audience. This is a problem he had when people described his game as “a great educational game for kids”, which was not his intended audience. He also picked up on an important note that is easy to forget: the game must define what success and failure is early on. If a game is developed without knowing the player’s goal, the game will probably not be fun.
Ina Göring explained many of the funding opportunities German game developers have. She began by describing the Kreativ-Transfer programme, which can help indie teams of various sizes get financial aid to help them travel to trade fairs to present their products. She continued explaining that the German government, particularly the Federal Ministry of Transport and Digital Infrastructure released funds to help the game industry. Currently they are waiting on the EU notification process, but game plans to release a checklist with rules from the EU as soon as they’re available.
The third day opened with a workshop by Kevin Agwaze from Game Workers Unite, a game development union. The workshop covered the topic of unionisation in the games industry, an industry commonly known for low pay and over-time work. He mentioned examples such as a case where a French company was paying developers under the minimum wage. He continued explaining the organisational differences between solidarity unions, or unions within a specific company, and transactional unions, which are less involved in individual companies but provide support for their members across multiple companies. Game Workers Unite exists in multiple countries and is trying to expand its outreach and fix problems in the game industry.
One of the most interesting moments we had at A MAZE. was about an hour conversation with people at the Unity Technolgies booth. We just threw them a lot of questions and let their answers come back. They explained different scenios and how to make emission effects work depending on whether the objects are static or non-static (tip: if the object that is emitting is non-static, emission won’t work). They continued to explain HDRP (the High Definition Render Pipeline), and effects that become easy when using it, including mirrors and refraction effects. Amplify Imposters is another asset for Unity that makes powerful, optimised effects much easier to create. Imposters allows the developer to take a model in high definition 3D, and Unity will automatically create several billboard renderings from different perspectives. If it’s unlikely the player will see the object from more than a few perspectives, Imposters allows the developer to introduce the object into the world with little performance cost. Finally they mentioned the Unity Data-Oriented Technology Stack (DOTS) and its Entity Component System (ECS). This allows a large amount of objects to operate in a parallel world, where they cannot affect other non-ECS objects. These objects are not scripted in C# and can all be computed in parallel, allowing extremely high performance.
In sticking with the topic of Unity, Ronja Böhringer gave a talk introducing shaders in Unity. She explained how vertex and fragment shaders are defined in Unity (typically in one file) and how to use uniform data to provide the same data to all instances of a shader (all vertices or all fragments). She explained the importance of defining UV coordinates to vertices in meshes, not only for lightmap calculations, but also because shaders often use UV information to determine what position on an object they are rendering. Missing UV coordinates could give unexpected results. Ronja’s website, Ronjas Shader Tutorials, includes many beginner tutorials on writing shaders in Unity.
Near the end, the award ceremony gave prizes to various games in the exhibition. Because each day of A MAZE. was longer than the time allotted for talks and workshops, there was also time in the evenings to network with others, learn from them and their projects, and of course play the games in the exhibition and vote for favourites. The winner of the audience choice was Sticky Cats, which was almost obvious by the amount of voting stickers that could be seen on its wall.