Wednesday, December 21, 2016

Game development with Godot

So I made my first game (2nd if you count that DOS-based tic-tac-toe I made way back when in uni). Here's a screen capture of it. 

Screenshot from 2016-12-20 09-13-16.png
My game... hmm...
If you're thinking that looks an awful lot like Breakout that's because it is. It's a Breakout clone.

Right now it's feature complete in the sense that you can play it. It's buggy though. Fugly too if you asked me but then I'm very much still just dipping my toes in here and I've always claimed to be lousy at art…

Anyway, these are just my thoughts after the 4 hours I spent making this game.

Games are hard to make (even with a ready game engine)

With a game editor and some game assets, you could visually design some parts while the logic will need to come together using the engine’s scripting language (GDScript in Godot). Even then it’s not a walk in the park. You can still break things, and you’ll also need to figure out where various bits of game logic are supposed to go.

Imagine if you had to do everything yourself!

Godot has an interesting architecture

Godot is a scene-based engine instead of the polygon soup used by other engines but what do I know? It's not like I've used other engines before. But once you manage to wrap your head around the idea of breaking things down into smaller scenes and putting those together in a composite scene then you can make things more modular. That’s useful.

Godot docs sucks but thankfully the demos are okay

A lot of times referencing the Godot documentation is fruitless. They need to give short examples of the API in use. Lots of functions don’t even have a short description of what they do. As if just the function name and parameters list is enough. It isn’t.

Thankfully they have demos. So referencing the demos helped me figure out what I needed to finish my game. Of course, hunting around for something similar to what you want to do isn’t easy either.

Making your own game is kinda fun (even if the end results kinda suck)

Making something interactive on your own even if it’s not really “original” is awesome. But the journey isn't always fun and games. Sometimes you just think “This thing is stupid! Why won’t it work?”. But in the end you made something that works. Buggy and fugly yeah, but it works.

Godot’s binaries are freaking huge

A simple breakout clone is already around 15MB. I hope the overhead is more or less fixed or more complex games are gonna suffer.

So that’s it. I’ve uploaded binaries for Linux and Windows. They’re 32-bit binaries (I think) so should work on both 32-bit and 64-bit OSes.