This weekend was Ludem Dare 45. Ludem Dare is a long running series of semi-annual game jams. I did the same thing that I do every time Ludem Dare rolls around. I forgot it was happening. It wasn’t until quite late on friday night that I noticed that the theme had been announced. I thought about it for a bit, started a new Godot Project, made a GitHub repository, and then thought maybe I would attempt to make the thing I was thinking about on Saturday. Maybe.
Start with nothing. That was the theme. I happened to have an experiment rattling around my brain I have wanted to try for a long time. It is the sort of thing that fit the theme “Start with nothing” and it was a small, strange idea that fit perfectly into the schedule of a jam. Really I just needed an excuse to try it out.
For a while now the kids and I have been messing around with Godot as an excuse to teach them to code in a way that might be more fun than tutorials and “learn to code” apps. Game engines, I think, are uniquely suited to the task of learning. Turn around time from having an idea to testing it to seeing the results is very short for most things when using a game engine. An awful lot of the work is handled for you. You don’t really need to be concerned about how to draw a pixel to the screen. The engine deals with that. You can worry about higher level stuff. I know that the absolute fastest code learning loop is probably learning html but that is pretty dull stuff. Compare changing the border on a div to creating a stack of boxes and knocking them over with cannon shots in a 3d game engine. The second one might take a bit longer, but honestly, which one would you rather make.
That time spent working with my kids in Godot led me to believe that creating a simple experiment wouldn’t be that difficult. Of course I was completely wrong. I certainly didn’t spend global game jam type hours on this project. I sort of dipped into it from time to time over Saturday and Sunday morning. Still, Godot fought me the entire way.
Seemingly small things like moving an object from one place to another smoothly devolved into a marathon of frustration. I spent no small amount of Saturday detangling the fact that Godot deals with 2D and 3D graphics very differently. The built in tween functions are either broken or so convoluted that they might as well be broken, at least on the 3D side of the fence. The documentation is succinct, but not particularly helpful. If there are examples they don’t tend to be ones that deal with common problems, like moving an object smoothly from place to place. I’m also not very familiar with the python-like GDscript that you have to use if you want to make a Godot project that runs under HTML5. Not being able to use C# caused some headaches.
At the end of it all though, I did manage to make a very simple version of what I was going for. It’s missing some of the more interesting exploration style features that I had planned, but like all Jam games, success is when it runs at all.
Anything is running over at https://eturnip.itch.io/anything
Try it out. Make something from nothing.