quinta-feira, 16 de julho de 2020

Procedural generation in games

In the last semester, I had the opportunity to be the supervisor teacher in a very interesting graduation work: a deep study about roguelike games and procedural generation behind this kind of games.

Probably, you’ve heard about this category – roguelike – a type of game characterized by the random generation of maps, scenarios and positioning of enemies. The concept behind these games is complex, but the final idea is very simple.

In computing, procedural generation is a method of creating data algorithmically as opposed to manually, typically through a combination of human-generated assets and algorithms coupled with computer-generated randomness and processing power. In video games, it is used to automatically create large amounts of content in a game. To understand the difference between a roguelike game and a game without this resource, let’s take for comparison the original “Super Mario Bros.” and “Enter the Gungeon”.

In the first title, every single element is always in the same place in the interface when you walk through the scenario; it’s even possible to memorize the traps, enemies and platforms for a better performance (as we can see in some “speedrun” tournaments).



The second title is a roguelike game; every time you play it, the scenario and the gaming elements will always change (the weapons, the bosses, the common enemies etc. are always changing in a procedural way).



In the images below, I tried to construct a simple diagram to illustrate the idea behind procedural generation in games.







Sundered”, “Spelunky” and “Enter the Gungeon” are some recent examples that we can bring to this discussion about procedural games, but we have also some examples from the eighties, like the title “Rogue” (the reason that today we categorize these games as “roguelikes”).

Undoubtedly, one of the big advantages of roguelike games is the multiple possibility to experience the game every time. Titles like “Enter the Gungeon” offer a myriad of easter eggs, secret passages, special-stage bosses, enemies, weapons, secret characters and much more.

#GoGamers

quarta-feira, 1 de julho de 2020

Game design process: an approach based in iteration and prototyping

I always like to bring my own experiences in the game designing field to this site. In this text, I will talk a little bit about the new project I’m developing at the moment with my friend Daniel Moori: the mobile and PC game named STENA. I also want to discuss (and show) how important is the iterative process and the huge abyss we find between the idea put down on a GDD (Game Design Document) and the final/tested product.

First of all, let’s briefly describe the game that will be our object of discussion in this post. STENA is a reimagined version of the classic PONG arcade; but, instead of horizontal paddles settled for a two-player match, STENA has a circular scenario where, in solo mode, the player must defend the core of each stage with multiple paddles rotating 360º. We can see the main idea of the game in the image below :



As you can see, this is the very first idea, created in a wireframe for the Game Design Document. A GDD structure is an excellent guide for the first gaming insights, but it’s very important to be “hands on” in order to materialize the first playable versions of the game. In the case of STENA the first versions created using Unity revealed a serious problem with the gaming physics that we adjusted in many ways using new scenario elements, enemies, random systems and, of course, improving the gaming code. In the video below you can have an overview from the iterative process of STENA – from the first “crashed” idea to more complex levels using several interface elements.



I have already discussed in this post about the importance of iterative design in the game designing process and I want to reinforce this idea here.

Develop your games in a GDD always, but be conscious of testing your ideas in a different way. Remember: to create an effective game is not about you playing one version of your game one hundred times but trying to make one hundred people play many different versions of your game one time. Always prototyping. Always in an iteration process. 

Do you wanna try STENA prototype? Click here (for Android only).

#GoGamers