Wasabi Warriors

My Role

During the development of the Wasabi Warriors game, I worked on the project as a UI and gameplay programmer. I developed the logic of the UI elements in menus and the HUD in-game, in addition to implementing the system to manage controller input.

At the same time, at the beginning of the project I spent some time as a game and level designer, in order to have clear mechanics and the paths of the levels we were going to develop during the rest of the development.

About the Project

The Wasabi Warriors game was part of a university project where we had to demonstrate our skills in design and programming. The team consisted of 6 students and the game is entirely programmed in C++ using SDL2 from scratch, only with support to load images and audio.

The artistic work of the game was acquired in Itch.io and our job was to adapt it to work in the game.


About the Game

Wasabi Warriors is a 2D role-playing game with a theme-based on an urban japanese environment and a story about power and corruption. It is mainly played in top-down perspective combined with combat scenes. The player has different locations and areas to explore.

The game aims to be a 30 minutes gameplay experience with a catching narrative to make the player experience a different journey. Mainly inspired and based on the Pokémon RPG games with similar mechanics and experience.



My Contributions


UI Programming

I programmed the logic of UI elements from scratch, making the UI responsive with mouse hovering, clicked, pressed, disabled and normal states calculating its collision with the mouse position on screen. The UI elements we needed were checkboxes, buttons and sliders.

Furthermore, I worked on all the menus that let players start the game, pause it, change settings and see the credits.



Inventory & Pause

The game presents a backpack inventory with items collected while exploring that can be used in combat. I implemented the UI logic behind it like when you use an item to boost stats.

I programmed as well the pause menu available during the gameplay that allows the player to adjust the settings, see current quests, see player stats and check the map of the world.



Controller Integration

To have another HID available to play the game, I worked on the implementation of a system that allows the program to detect when a controller is connected and how its input is managed natively in SDL.

The system was needed in order to be able to jump into controller clues when connected, to navigate between all menus and UI elements, and to move during the gameplay.