GSESPINTO

ARCADE MANIAC

"Arcade Maniac" is a PC game developed using Godot 4.3 and GDScript, the engine's scripting language. The objective of this project was to reimagine classic games by integrating modern development techniques while introducing a unique gameplay and presentation twist: the game is experienced from a second-person perspective. In this setup, the game is presented through a spectator, which is the NPC that alternates between the different classic games. Additionally, the game combines a 3D environment with 2D games, taking full advantage of Godot's subviewports.

During development, scalability was a key consideration. To this end, systems were designed to facilitate the creation of additional game viewports. These viewports correspond to classic games displayed on the televisions within the in-game environment. The communication between the TVs and game viewports was implemented in an agnostic manner, enabling seamless interaction regardless of the number of TVs or games. Each TV dynamically assigns a game and appropriately displays it's graphics and sounds.

The most challenging aspect was implementing the first game viewport (Pong). However, once this first game viewport was functional, the iteration process and development speed improved significantly. To streamline the coding process for the game viewports, I also developed debugging tools that enabled both in-editor previews and runtime diagnostics.

Furthermore, I implemented a dynamic data manager that allowed to easily save and load new data, such as the player settings. Working with Godot was particularly advantageous, as its modular architecture allows developers to leverage its built-in components. For example, I used the FileDialog node to enable players to select MP3 files from their computer, which are then be used as the game’s soundtrack.

Although this was a solo project, I implemented a branching workflow in version control. A development branch was used for ongoing work, and once a stable version of the project was achieved, it was tagged and committed to the main branch.

All copyrights reserved by Gonçalo Pinto 2024©