"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 2025©