Spiros    Information   Contact
       




Social sandbox MMO inspired
 by the legends of the medieval era.


my work + notes


Unreal Engine


For my role as a UI engineer in Pax Dei, I was called to design and implement systems pivotal to the gameplay that also compliment its social aspect. Clear collaboration with the designers and feedback, made game concepts into functioning UI. Key part, was ensuring scalability for the ever evolving nature of an MMO.

Chat System
The center piece for socializing and communicating in-game. The system behind it was built to support channels & feeds were the player had the ability to filter messages and conversations, dyanimacally interact with messages to access direct messaging, adding friends and more, and also to manage your friends’ list. It utilizes Discord’s API which also made it possible to have activity status, direct messaging Discord buddies outside of the game and a voice chat (but more on that later). Aside from ensuring functionality, I was responsible for the cosmetics. Each elements has its tailor made shaders and animations, so that it feels responsive with the proper visual cues. To make everything work together, the UI elements were atomically designed and a “curator” module was introduced to handle synchronization between all the chat modules. And also emojis.

Accessibility
In order to make both chat and the entire of Pax Dei’s UI available to languages other than English, I created fonts and set up the cultures as needed while also making sure the font covered the symbols. An interesting find was that the approach of the Unified Ideographs was lacking as it caused some ideographs to be reused amongst different cultures. To solve this, I defined manually some of the HEX ranges for the fonts.

Notification System
Gameplay relies heavily on notifications from looting to party invites and even purchases, the system has to be reliable and modular to support current and any future notifications server or client originating. By implementing a content agnostic base widget and leaving it up to the notification context to set up the contents the above was made possible. That way the notification itself decides titles, headers and any content cosmetics. 

The notifications menu and their animations made it necessary to take into account the widget’s size for it to work as per the design. My approach was to first measure the widget’s y-size once the widget was added in the widget tree, and then create a native C++ animation so that the lenght could be set dynamically since widget animations do not allow this. Again, the dynamic sizings of the animation and the content agnostic pickup container made it as simple as pointing to the correct widget without any additional modifications required.

Premium Shop & Status
The in-game shop system houses all the subscriptions and mtxs offered in Pax Dei. It is also where the purchases for said items would be made while also handling the proper display of discounts. This system again too had to be modular so that new content could be added whenever needed and avoiding any technical debt.

The premium bonus was used to communicate that “a subscription is active”. In order to make it visble in the gameplay, I avoided hardcoding it in every place and instead it is added dynamically based on the status of the subscription. This, also makes it possible to be added to other places by specifying dependencies in the code.

Tutorial System
From character creation to mining in-game, it was engineered to support all the necessary tutorials. I also took into account the responsiveness of each element by implementing shaders and animations.

I also created a custom decorator class that made it possible to display keybinds in the text that respected any re-binds in the keys done by the player.