My experience developing a game with UPBGE – 'A Day at the Museum'

Hello everyone. Some time ago I discovered UPBGE and decided to experiment with the possibility of making games in Blender. Finally, after many hours of struggle , I’m pleased to present ‘A Day at the Museum’: a simulation game that combines quizzes with trivia questions (QUIZ style).

Visually, it has a pixel art style, with a three-dimensional space rendered using an orthographic camera that stays at a fixed position relative to the player.

The player takes on the role of a ‘rookie’ museum curator who can increase their experience by completing a series of tasks:

  • Organizing the museum collection.
  • Assessing the material condition of objects.
  • Monitoring environmental conditions in the building, as well as facing the threat of pests.
  • Assisting researchers, students, and the general public.

The following video is a short gameplay snippet so you can see it in action:

[gameplay video]

Its current state is alpha, though it could also be considered pre-alpha, because broadly speaking the game does what it’s supposed to do, but it has its own bugs and other issues arising from development in UPBGE:

  • Performance issues and FPS drops (evidenced by somewhat higher ‘Depsgraph’ and ‘Rasterizer’ readings), which may be caused by EEVEE’s real-time management of a certain number of objects. This performance issue is more noticeable when trying to use UPBGE versions 0.44 or even 0.50. Despite using many of the common ‘tricks’ to reduce resource consumption (lighting without real shadows, V-Sync off, atlas textures, etc.), the game still struggles to achieve smoother performance. Therefore, on more limited hardware, the game may feel somewhat clunkier.
  • Related to these performance issues, there may also be some physics and collision bugs.
  • Issues arising from transparency management in Blender and UPBGE (Blended, Dithered) and the inability to control Z-Depth to properly sort objects relative to the camera. This problem is especially significant in a game like this, where many objects are 2D planes with transparent backgrounds simulating 3D objects.
  • Naturally, there may also be some code-specific issues in some of the game’s mechanics.

The game was initially developed with UPBGE 0.44. However, this alpha 0.1 version was ultimately developed in UPBGE 0.36.1 to try to achieve better performance.

This game exclusively uses Python scripts and Logic Bricks. The Logic Nodes system is not used. I initially started with Logic Nodes as well, but ended up discarding them due to scalability issues: the size of some Logic Trees in systems like ‘character conversation’ was unmanageable, especially when trying to implement a relatively large number of conversations. Therefore, only Logic Bricks (to try to take advantage of their speed: Blender’s native C++ API) have been used, in combination with Python scripts.

The game is open source under the GPL 3.0 license. All development files and complete information are available in the GitHub repository:

Compiled files with executables for Windows and Linux are available on external Mega links:
Windows: https://mega.nz/file/sy8UlarK#ZPZlE4dc7CEKrPhj6XtWJBs3a7DSpyhXSJvpgJ6J8C0
Linux: https://mega.nz/file/tjtinaaA#L8zGqQLEft6LJZaDOTAQwCRdiLp0G_Vi8kW1PlOR5Y4

I didn’t want to make this post too long either. So, if you’re interested in more details, we can keep talking in this thread. What is true is that I’ll be putting this project aside for a while until I relieve some of the burnout I have after all this time with it.

Best regards

7 Likes

wow this is supper amazing !

1 Like

Amazing game! The art style is fantastic. If you’re looking for better performance, I recommend Range Engine.

1 Like

I wanted to take a break, but I think you’ve just reignited my curiosity with Range Engine.

I’ll have to check it out. I don’t know if I saw it back when I started the project around June 2025, but it definitely looks incredible.

1 Like