From the lab

Game with Procedural Generation (Godot)

Built on Godot, we have created a game set in an infinite office environment where you, as a chicken, must explore as many rooms as possible without being caught by the ghost.

Tech used

  • Godot open-source game engine

Press to view video


Procedural generation is a method of creating data algorithmically and is most commonly used in games to generate large amounts of content, for example, worlds, objects, and textures.

Since we all had a huge chunk of curiosity and exploration lust to learn more about game development and procedural generation, we decided to develop a game based on the Prototyp office environment.

The Process

Because we didn't have any previous experience in game development and procedural generation, we started by researching the basics. After that, we mainly looked at how existing game projects have been using procedural generation and how different game engines, such as Godot, Unity, and Unreal, can be used. Since the Godot engine is open source, it hit a sweet spot among the team members and became our choice as we advanced.

To fast-track, the development, each of us also proposed an area we were interested in (i.e., Kristina focused on the player, Philipp on the content, and Albert on the office generation). This way, we could all start developing without depending on each other.

Spel med procedurell generering

The Challenges

In general, procedural generation is a hard concept to grasp and has a vast majority of different usages. The idea of creating a procedurally generated world with procedurally generated content was quite an overwhelming thought for us, especially since neither of us had actually implemented it before. Additionally, we were faced with the challenge of coming up with a game that was manageable to complete within a week with the technologies that were available to us. We knew that no matter what game engine we chose, we had to take some time to get accustomed to it. Even though the Godot game engine was an obvious choice for us, it proved to be much more challenging to use than anticipated.

As developers, we also know the importance of version control. However, in a time-crunched project like this, we had to set our principles aside and try to be more flexible by going back to the good old days of having multiple different folders with new changes that we then sent to each other over Slack.

Result / Key takeaways

Developing a playable 3D game within one week with little to no experience is challenging but rewarding experience. We are ecstatic that we surpassed our expectations and created our horror game, Never Ending Office. The game is set in a dimmed-down and never-ending office environment, where you, as a chicken (?), must escape the chasing ghost to survive. The player's goal is to explore as many different office rooms as possible without being caught.

The process of procedurally generating worlds and interactions offers many exciting possibilities, both for gaming and other contexts. We will bear in mind the principles behind the method and the ideas that emerged during the week for future projects.

If we would continue with the game, we would:

  • Establish the background story of why a ghost is chasing a chicken in an infinite office environment.
  • Make object-spawning rules, such as a table that always spawns with a chair next to them.
  • Add multiple floors (instead of one).
  • Make easter eggs more obvious, such as having a hidden room with the objects.
  • Add a proper screen for game over.
  • Adding a high scoreboard.