
So... yeah, it was tough. Here's a little something to recap my experience this time around as I turn over to playing your games instead of stressing about my own.
I started this Jam with my main computer being broken, and used my old computer that now has Arch Linux installed. This meant several changes in my toolset, mainly Unity -> Godot and Reaper -> LMMS (which I aptly didn't even get to use).
I gotta say, the theme wasn't too bad this time around (WHAT?!). I mean, you can get a lot of fun and workable ideas from Running out of space. Our original idea was a hyper arcade shoot 'em up in a destructible arena that encloses on you. Not original, but could've been a fun one.
>> Enter LD Sequence >>
Starting up: Isometric 2D
@Mindhead was offline the whole first day and half, so it was up to me to decide on the course of action. We had a little talk just after the theme reveal on what to do, and I took up the shoot 'em up idea since it rang best to me. I went for an isometric approach, but quickly came to a stop since I couldn't get isometric collisions to import from Tiled to Godot (the plugin didn't seem to support the non-default shapes). In addition I couldn't get the Y-sorting with TileMap to work, which was important because you could fall off in this game.
Next: 2.5D
I decided to rewrite the whole thing to 3D. While this solved my Z-indexing (or Y-sorting) problems, I was now without an outside tool for map making. Godot's GridMap doesn't support custom cell data out of the blue, so I would've had to devise a tool for that (which in the end would have been the right solution here). The bigger problem here was this Sprite3D billboard rotation issue (#18296). Again, you could probably cook up a shader of your own to work around this, but I had already enough on my plate with a totally unknown engine as it is.
Back to plain 2D
Okay, how about angled orthogonal 2D? Let's rewrite again! I had already used up the entire first day trying to find a fitting solution, and now the second day salvaging what was left of the effort. Y-sorting still proved to be a problematic issue. We started scaling down the idea to such degree that it honestly just sounded like shit. Additional roadblocks with my understanding of the engine finally resulted to us giving up.
... Until the last 8-9 hours
Giving up didn't feel like something I do. So instead of leaving things to ruin, I decided that as long as I make something, it's fine. I took a new approach to the theme, a simple puzzle game where moving leaves a trail of walls behind. Collect keys, open locks and go through portals. I quickly fired up Pyxel and drew the barest set of tiles needed to get this stuff working. I threw the earlier code to a backup folder and started from scratch, and got the bulk of the game done in a couple hours. I even got an auto level importer plugin done. Regardless, the mechanics were too few and time was short, so there's only a small handful of levels.
<< End LD Sequence <<
So, how do I feel about Godot?
I really, really like the Node structure. You only need to wrap one concept around your head and you're ready to make the most of the engine in a multitude of ways. I don't necessarily like GDScript (I humbly thank thee for the future C# support) or the fact that you're using Strings for almost everything, but at the very least the "lazy" approach gets you results quickly. This is also a pretty artist-friendly approach, so I could see the prospect of teammates picking up the workflow rather quickly. I also like semi-manual memory management. I have enough Unity under my belt to appreciate the possibility of avoiding big lag spikes due to garbage collection with intelligent design.
But, I need to mention this since I see a lot of seemingly blind praise for Godot though. Godot is a great open source engine that is capable of a lot of things, but it has one glaring problem.
That is documentation.
Throughout this whole time, I fought with either misinformation or lack of information. Godot has undergone a big makeover with its 3.0 release so some documentation problems are to be expected, but many things hampered my progress.
For example, spritesheet animation. You have a Sprite node and an AnimatedSprite node. You'd think the latter is the correct choice, but it isn't. While the Sprite (HFrames & VFrames) + AnimationPlayer (Animate the Frame parameter manually) workflow is just fine once you know it, it is not at all obvious. There's no examples of this in the documentation anywhere either. This is easily misleading and results into frustration.
Or how about setting a script file to a Node through code? If you were to believe Godot's auto-completion, internal or external documentation, such a thing would be impossible. Yet, it isn't. There exists a script variable that takes in a path, which is what I blindly tested while creating the auto-map loader. How many other hidden variables and functions are there?
These are just a few examples though. I truly hope people help out with the documentation of the engine features since there's simply huge potential, and while the engine itself is a very powerful tool while being beginner-friendly in essence, I cannot with good conscience recommend it to anyone who is not as stubborn as me.
As for me, I intend to play around with it some more. I'm interested to see how well the 3D side actually performs compared to other engines out there. I really hope they fix the Sprite3D Billboard rotation issue soon as I've really taken a liking to 2.5D styles as of late.
In any case, that's my weekend in a nutshell. Hope you people had fun, and see you in the rating sections!