Thu Jul 04 2024

Designing a Game Engine: The Saga of Maximalist & Minimalist

What is your game development and design style? Are you a minimalist or maximalist? It was during the Nordic Game Conference in Sweden that an interesting topic came up while I was talking to teachers from various game development schools. One instructor noticed some students are intrigued by large game engines and want to try everything to create an impressive portfolio with visually stunning projects. While that aspiration is not a bad thing, oftentimes sustainability in game development and design, the core of foundational game development theories, in conjunction with accessibility is overlooked. The instructor talked about how he wants to challenge students to make a game using the oldest technology possible, the smallest amount of memory possible, and using a few mechanics to create a game that people will enjoy playing.

The idea of going back to fundamentals and exploring how to create memorable and enjoyable gaming experiences with few resources or features is not new. This technique enables developers to concentrate on the fundamental gameplay mechanics and design ideas. Marc Ten Bosch and Jonathan Blow presented the topic Designing the Universe at IndieCade in 2011, mentioning that mathematicians believe the shortest theorems with the greatest repercussions are the most beautiful. This approach can also be used in game development, where one mechanic can be used to generate the richest and most intriguing outcomes in the game while eliminating systems that do not produce as many surprises as others. In Proceedings of the Foundations of Digital Games Conference, Nealen, Saltsman, and Boxerman (2011) mentioned minimalist game design is focused on cutting out unnecessary parts to promote the most important designs. One example of minimalist game design could be Minecraft, where the basic mechanics allow the player to build the most amazing structure for their experiences (Barros, Green, Liapis & Togelius, 2018).

As there is a minimalist view, there is also a maximalist view when it comes to game design and development. Maximalism in the artistic field is referred to as integrating a variety of sources to create art while accepting the consequent interactions, conflicts, and diversity. While in games this can mean creating data-driven games such as Barros, Green, Liapis, and Togelius have discussed regarding using multiple data to generate games and create the user experience, or in RPG games such as Exalted and Xenoblade where complex characters, backgrounds, user choices, and mechanics are all interacting with each other to create that experience.

Interestingly, both concepts helped us as we created the Hology Engine. We have big dreams about the game engine, but needed to get back to basics like a minimalist as we started from ground zero when creating the roadmap. We had to determine what are the basic components of any game engine, what features are needed for a basic 3D game, and what features on the market are redundant or have the least impact. This helped us not only narrow our scope of work for each sprint, but also focus on what changes or creativity we can enhance for each component. We might not have 100 features published at one time, but each time when we provide additional features, we think about what types of games need those features and what changes we can make to improve the experience as time goes on. However, as we are building more advanced features, we have to consider how multiple features are affecting each other, and how much depth we want to go into for the game developer experience.

While some possible problems with being minimalist in game development and design are not enough depth for content or gameplay, the maximalist can face issues such as being too complex for people to fully grasp the gameplay and enjoy the experience, or not focused, with many plot holes or bugs when not produced carefully. Developing a game engine can also face such challenges on both spectrums, as it is an art to find what we want out of our engine to make it accessible and easier for people from different backgrounds to collaborate, yet also not so simple to the point where it locks the controls of creativity and depth of game development that one might desire from an engine, like the ability to create custom shaders and fine tunning certain details. As developers, we have to use both perspectives as the game engine grows in features and functions while also considering how our engine shapes different types of games and how it may affect the users’ perspectives and experiences in game development. Moreover, how game engines can affect students and people learning game development.

Come try our open beta and see our development journey: https://hology.app/#beta

Follow us on our LinkedIn page: https://www.linkedin.com/company/hology-engine/?viewAsMember=true

Screenshot 2024-07-04 031937.png

Blow, J., Bosch, M.T., (2011) Designing the Universe. IndieCade. Retrieved July 4, 2024 from: https://youtu.be/OGSeLSmOALU?si=DKJ8cYXe0BPRB_8X

Barros, G. a. B., Green, M. C., Liapis, A., & Togelius, J. (2018). Data-driven design : a case for maximalist game design. ICCC, 169–176. http://computationalcreativity.net/iccc2018/sites/default/files/papers/ICCC_2018_paper_45.pdf

Nealen, A.; Saltsman, A.; and Boxerman, E. (2011). Towards minimalist game design. In Proceedings of the Foundations of Digital Games Conference, 38–45. ACM.