Rodrigo Bassi Guerreiro
Object-Oriented Game Authoring
Engine for Creating and Playing Custom Games
With this product, users should be able to create and play custom games in a no-code environment. The language and structure of the engine is geared toward board games, but it can be extended to video games or card games, for example.
It is based on the abstraction of pieces, spaces in which those pieces can go, and rules that determine how those pieces can move and change. The engine also supports several features, like customizable player profiles, networked gameplay, and translation to different languages.
Duration
March 2023 - April 2023
Team Size
11
Technologies
Java, OpenJFX, JUnit, Google Firebase

Technical Details
A requirement for this project was that it be developed using OpenJFX (a large library for frontend development in Java).
The no-code environment was implemented as a Scratch-like interface, where users can logically connect blocks to each other, and associate them with the spaces and pieces that they have laid out. These blocks were backed by a custom language dubbed "Valley", for which an interpreter was written as part of a separate project.
Networked gameplay was enabled via LAN device discovery, and was very lightweight due to the sequential, discrete steps taken in any given game.
Users' login information was securely stored in a Google Firebase instance, and all the data for games was stored in digitally backed JSON files.
My Role
Most of my time in this project was geared toward incorporating the external dependencies, namely the JSON files and the Firebase database, into the engine. This included being in active communication with the backend and frontend teams to understand what information they required, and making it so that the file structures could be seamlessly changed as development progressed.
Additionally, I played a big role in translating all the text in our program (originally written in English) to Spanish and Portuguese, which was quite fun!
Video Demo