Composition in Godot

Andrew Perticone and 3 OthersSam Hague
Bryson Guthrie
Ella Zemler Wu

؜Composition in Godot

؜By: Sam, Ella, Bryson, Andrew

Composition in Godot is a game project built in the open-source Godot game engine. For this project, we wanted to explore the programming technique of composition. Composition is a style of formatting a game's code that allows you to reuse as much code as possible. Composition involves making scripts as modular as possible and reusing them between similar objects. We used the Godot game engine as an alternative to Unity. Over the last few years, Unity has repeatedly made anti-consumer decisions and changed their pricing model to make more money from developers. In contrast, Godot is a fully free and open-source (FOSS) game engine. This means that it can be used for anything without prior permission, licensing, or payment. This also means that anyone can access or modify their own copy of the Godot code. FOSS software tends to get better over time, as people make improvements and there's no profit incentive to cause reverse progress, whereas closed-source software gets worse, as showcased by Unity. We built the game concept off a series of short-form videos in which two balls with weapons attached bounce around an arena, dealing damage to the other one each time their weapon connects. We adapted this into a roguelike format, in which the player fights the enemy over and over again, getting to choose one of three random upgrades each time they win. When the player loses, they lose their upgrades and go back to the beginning. The enemy gets slightly stronger each time the player wins, so the player has to choose upgrades well to outpace the enemy. This project was chiefly an exercise in completing a game from start to finish. Generally, game projects will make a compelling proof-of-concept and leave it as a prototype. We wanted to break this norm, by making a fully polished and effectively complete game, within the 3 week structure imposed by the NuVu model.