“There’s man all over for you, blaming on his boots the faults of his feet.”
-Samuel Beckett, Waiting for Godot
Blame my theatre background for the Waiting for Godot quote, I couldn’t help myself.
My team has been working on building a 3D escape room game, and we’ve been working in the Godot game engine. I came into this project as a complete novice when it comes to game development, so I didn’t have a strong feeling about which engine to choose. I’m perfectly happy to be learning Godot. I think that most of what we’re learning would translate to game development on a different platform, and I’m not sure that I’ll do a lot of game development in my career anyway.
The benefits of using Godot is that the engine is a little more streamlined. We briefly considered the relative advantages and disadvantages of Unity and Unreal, but ultimately decided that we liked the genuine open source nature of Godot more than the variety of one of the mainstream engines. The scope of our project is small enough that we wouldn’t need the bells and whistles that might be afforded to us by using something like Unity.
We’ve been fully into development for a few weeks now, which has allowed us to get basic prototypes in place for the player, the environment, and the sound effects. Most of our sprint has gone pretty smoothly, except for the last week where each member of our team struggled to troubleshoot a myriad of technical problems. Some of the issues were from the relationship between Godot and Github, especially concerning code written in C# rather than the engine’s native GDScript. We had a block of problems stemming from one team members C# script that was pushed without the csproj file, which left the rest of us unable to run the player code.
Other than these inconsistencies between our tech stack, I’ve really been enjoying learning how to use Godot. I fully recognize that most (if not all) of our issues stem from our inexperience with the platform, and therefore these problems will get less frequent with time. I’ve been enjoying the cross between creating things within the interface and writing code, as certain things are best accomplished through specific methods. Cultivating this instinct for the best approach is one of the most rewarding features of this learning curve.
As my quote indicates, the problems we’re having are user created. It isn’t fair to blame the technology when it’s our inability to use it that causes the issues. And even though we may have had a difficult week of struggling through blockers, getting through them together has vastly improved morale and team spirit. We’re learning to rely on each other’s knowledge and gaining more insight into how we can assemble into the optimal team.