Complexity of Game Design
During my ongoing literature review I often discover interesting facts about things I’ve never thought about. Sometimes I can connect these facts with my own observations: The result is mostly a completely new idea why things are as they are. Maybe these ideas are new to you, too. Therefore I’ll share my new science based knowledge with you!
This week: This time, I think about the steep learning curve new (non-programming) game designers face when trying to implement their first ideas using one of the prominent game design frameworks.
Despite the existence of powerful game design frameworks, such as Unity and Unreal, the difficulty of developing even simple games still is relatively high. The reason for this is twofold: (1) a developer needs to posses a broad variety of skills while (2) the game engines must avoid to restrict the developers in their freedom.
During the development process, a game designer is required to come up with a good audiovisual presentation, to achieve a good usability and to technically implement game mechanics using one of the supported programming languages. Thus, new game developers face a huge learning curve at the start of their first project as they not only need to invent a good overall design, but also are required to combine creative design with technical engineering skills.
Game engines, on the other hand, need to provide a good support for various visualization as well as engineering approaches to avoid restricting the designs. Therefore, game frameworks must support powerful programming languages and 2D as well as 3D graphical assets. Ultimately, this approach creates the high skill demand as developers, in order to realize their game design ideas, need to create all individual elements themselves. Furthermore, developers are challenged to understand the complex game frameworks themselves before they can start to implement the first feature which creates an additional entry barrier.
As a result of this, new game designers often feel overwhelmed by the complexity of the game frameworks and, in the case they have never programmed before, even incapable of achieving anything. Therefore, more intuitive approaches are needed that allow for visual programming instead of writing plain code. This, however, is not easy as the visual programming interface is also required to allow for the same freedom as a traditional programming language.
For instance, Unreal’s Blueprint Editor allows for a quick and visual implementation of new features by representing functions as configurable and connectable boxes. However, in order to successfully utilize the blueprints, a basic understanding of programming is still needed as the editor follows the same rules as a normal programming language.
In the end, while the complexity probably can not be reduced as it would otherwise also affect the freedom, more creative approaches to make game design more intuitive and easier to understand are needed.