learning godot with #pongodot

So, I’ve been taking a break from game dev, which, to be honest, has been nice and somewhat refreshing. Most of that time the last six months or so have been spent working on my webcomic, which has been really cool, and I’m excited for the future of A Star Below.

The last time I really did anything major in game development was last year, for Ludum Dare 48. Along with some good friends of mine, we made a game in 72 hours… and then futzed around with it for a few weeks polishing it further. That game was Crashdown, which you can play now if you like!

Since then, haven’t done much in games. The aforementioned comic has occupied a lot of my free time and creative energy, but right now, with the comic on hiatus and my role on the script pretty far ahead it seems like a good time to jump back into game dev! And just in time for Ludum Dare 50!

For a variety of reasons I won’t get into right now, I am wanting to try out something other than Unity for this one. I have tinkered with Godot in the past, and while there were things I liked about it I did sort of bounce off it at the time. However, I thought this would be a good time to take another crack at it.

So, Ludum Dare 50 starts on April 1st, so I have a month to play around and learn Godot. So, that’s my plan, I’m going to spend the month of march learning Godot by making a Pong clone. I have named this endeavor: Pongodot.

My goal is to do 1 thing each day. I figure at that pace by day 5 I will have a basic working pong game, and then I will spend the next 26 days futzing around adding a bunch more features and bells and whistles as I see fit.

Day 1

So, for day 1, let’s talk about basic scenes in Godot!

For this project I am keeping things simple, and building my scene in 2d. I’ve got godot installed, added a new scene with it’s root node.

oooh, aaah

My background so far in game dev has been almost exclusively in Unity and C#. I (very briefly) played around in Unreal 3 one semester in college, and I tried out a Python library for games, though that second one wasn’t really an engine. Point is, my basis for comparison is entirely from Unity, and I will be using it to understand.

Two things setting up this scene that struck me. First, is that the scene itself is the root node. Godot structures everything as nodes in a tree, and if you think about the Unity scene as a hidden root node, this is really not a big paradigm shift, easy enough.

The second is that I don’t need to add a camera. In Unity, even when working within its 2D tools you need a camera, otherwise how do you show anything? Here it seems the camera is implicit, and the scene even draws out for you the view of it so you can set up your scene with that in mind.

There are 2D camera objects, but from what I can tell those are used for when you need the camera to MOVE and you don’t want to move the whole scene. For pong our perspective doesn’t need to change, so we can ignore that.

Next I just need to draw in the walls. For this I created a few simple png images in gimp, and imported them into godot. There was some fenagling, that I’m sure I could have handled better, and some weirdness getting everything sized, but oh well. With some effort we have a pong field.

I know, it’s impressive.

And that will conclude today’s foray into Godot. Just familiarizing myself a bit with the editor and scene layout, but hopefully I’ll be able to make more progress tomorrow when I actually add a ball and start learning a bit of scripting.

So far my thoughts: being used to Unity this is going to take some getting used to. The Unity editor has a lot more QoL improvements over where Godot is at right now, but I’m sure with more experience in the engine I’ll get more adept at it. Just this little bit of basic setup likely took me longer than it should have, but honestly that also might be PEBKAC, so ¯\_(ツ)_/¯


Leave a Reply

Your email address will not be published. Required fields are marked *