Team Cocoa Moss is in for LD47

The obligatory post confirming that team Cocoa Moss is IN for LD47. I'll be joining forces with @xellaya once again to put something together.

You might remember us from our previous games such as Samurai Shaver and Goodnight Meowmie.

samurai-shaver-2.png

I've switched over from Unity to Godot for LD45 and haven't looked back since. While Godot is lacking in a few things that would admittedly be very nice to have (probably the chief among them being the ability to easily modify and debug the playing scene live a la Unity), I have really enjoyed using a lightweight engine that is not bogged down with heavy compile times, cruft, a 2D physics implementation system that....pretty much makes you do EVERYTHING if you want it done right, and a bunch of other scrappy features that you have (don't even get me started on the default resolution selection dialog...). I don't always agree with every part of Godot's philosophies (nodes being a weird combination of hierarchy plus functionality is a little confusing at first), but in general it's sat pretty well with me which is of course why I'm continuing to work with it.

This of course is the week where everyone should be updating their engines and warming up all the tools to make sure everything still works like it should. There was a new stable Godot release from just a week ago (3.2.3), so that's worth checking out.

Godot 3.2.2 brought C# support for iOS, meaning you can now use C#/mono and publish to Android, iOS, HTML5, and desktop platforms. I quite like C# as a language -- I find the syntax comfortable to use, I like working with its data structures, and I like the fact that it's strongly-typed. The real question is, is it going to be better than GDScript for me?

Although some of the documentation around Godot's C# support needs a little bit of work (installing the correct minimum set of dependencies took some trial and error), once I got past that phase everything was working together quite nicely. With C# I had a syntax that I liked more, a code style that I liked more (PascalCase over snake_case), compile-time checking, and even automatic code formatting and support for refactoring. Project export times were even still pretty quick, even for something like iOS.

But in the end I decided to stay with GDScript for the sole reason that I think I just NEED the faster iteration time that a scripting language offers me. From what I saw the C# API was going to work just fine, and it was going to provide me a slightly better experience while coding, but honestly even an extra 3 seconds of build time every time I want to run the game just ended up being a dealbreaker for me. It might not seem like much but I feel like that iteration time just NEEDS to be lightning fast for me to feel happy during a game jam (or even outside of one).

I think this decision would have gone the other way if GDScript did not now have static typing support. It's not so much that I need static typing -itself-, but rather, I really need my IDE to tell me what members a class has and offer good intellisense, otherwise I just get bogged down to hell trying to look up the names of functions every 5 seconds.

Anyways that was an extremely long-winded way of saying that I'm sticking with GDScript for the foreseeable future!

My Godot starter code for LD is split into two repositories - one for the project template and one for some common utilities.

See you all in a week at the starting line!