top of page

Brewmaster

Specifications

  • Fifth project

  • Genre: Top-down adventure

  • Made in TGE (in-house school engine)

  • 8 weeks half speed

My Contributions

  • UI

  • Interactables & World State

  • Resolution work

UI

My main responsibility in this project was implementing the UI. At the start of the project, another programmer of our project group,  informed me that he had created an intricate UI system for his last project, so we opted of using that UI system and incorporate it into Brewmaster.

The system was originally built to use RapidJson, but I was more familiar with nlohmann Json, and other parts of our projects were already using nlohmann, so I started a refactoring of Json parts of the UI system. But it turned out that the system relied heavily on some functionalities not available in nlohmann, so we took the decision to revert it back to RapidJson. I did get it to work in the end, but it was a bumpy ride.

P5_mainmenu.gif

I implemented the main menu in Brewmaster

Interactables & World State

In this top-down adventure game, the main goal of the game was to visit different areas in order to collect quest items. The status of which quest items you had already collected needed to be shown on the HUD, and so I was involved in implementing the interactable objects and the player world states this changed.

Not only did the player world state need to change when you picked up one of the quest items, but it needed to be and set and reset properly due to UI actions. Using the level select menu or going back to main menu, for example, needed to set the proper player world states.

Whether or not you could progress the main quest depended on these player world states, so during the course of the project, I collaborated with other programmers, like the dialogue system programmer and the enemy/boss programmer.

P5_collect.gif

Collecting the second ingredient of the three needed. 

Resolution work

The ability to change resolution, as well as change between windowed and fullscreen, was a requirement for the project. I was on track with all the UI implementation, so I took this task and started digging around in the engine code.

This turned out to give us more trouble than we had anticipated. Changing the resolution in the engine was not so hard, but the results were puzzling. Nothing really seemed to change, and increasing the resolution even made it look a little bit worse.

There was an unrelated problem with some UI sprites and other graphical elements looking blurry, that had us stumped for a long time. But eventually we found that both the resolution problems, as well as the blurry sprites, were due to some left-over code from the early stages of production, where a pixelate effect was experimented on but then abandoned.

Team

We were Bengt Studios.

​

Programmers

Filip Nygren, Andreas Isaksson, Elin Granath, Erik Ljungman, Niklas Alquist, Carl Uvebrant

Level Designers

Elias Carlsson, Tilde Persson

Graphical Artists

Max Kock, David Axelsson, Daniel Gryningstjerna, Linus Härstedt

Animators

Tanya Bengtsson, Emelie Bettoschi

bottom of page