đź•› 2024

I initially intended to do a “end of year” post BEFORE the EOY talking about some stuff, but that never happened because work and other things kept getting in the way. 2024 was a weird year, from work, to personal, to world, to finances, to game dev, to everything really.

I just feel tired honestly, that’s the best way I can describe 2024!

Tired Computer Anime

Ok that started in a weird way, but allow me some latitude here… The world is in a weird state, economy, layoffs everywhere, the game dev industry in a very fragile state; and suddenly every company is betting all their chips on “AAAAeee IIIIII”, politics seem wacko, climate change, social networks going bananas, overall everyone trying to find their feet.

I’ve been trying to take the opportunity of Twitter going bananas to spend less time on social networks, it’s just doom scrolling these days, but it propagated to every other place.

Games and such

I haven’t played many video games this year, I’m still trying to finish Metroid Prime Remaster, I’m SOOO STUCK on Phazon mines, I really want to finish this one as I’m enjoying the game a lot, and I understand why it was so highly rated back then.

Stuck on Phazon Mines

I got the new Legend of Zelda Echoes of Wisdom, and actually completed it, almost couldn’t put it down until I did, it’s such a nice game with tons of great ideas and mechanics, a merge of Breath of the Wild and Tears of Kingdom with Link Between Worlds. I really think this brings top-down Zeldas to a whole new level, can’t wait for a new one.

Zelda Echoes of Wisdom Zelda Echoes of Wisdom
Zelda Echoes of Wisdom Zelda Echoes of Wisdom

I’ve also played a bit of board games. For some reason I always assumed most board games were multiplayer, which would be harder for me, but there’s actually tons of neat solo ones now, a booming market it seems, so I started playing some Arkham Horror, which I can play solo, and it’s cool, even if I lose a lot.

Arkham Horror Card Game

And just a couple days ago I decided to grab Carcassonne from my desk (been there a while unboxed) and take to play during the Xmas days break, it’s a lot of fun to play with other people.

Carcassonne

travel

Every year I keep saying I should travel/rest more, and I haven’t been taking a lot of free time/vacations, but I did manage to take a 6 days-vacation and a flight to Cabo Verde (they have low cost routes now). I visited Maio and Santiago islands, gorgeous landscapes and ocean views. To sum it up, within 2 hours of landing I got a rusty nail rip through my shoes (so lucky I hadn’t changed into beach sandals yet), I also saw a dude accidentally fishing a baby Hammerhead shark, did some snorkeling and had a local convince me to try fishing, which I haven’t done since my dad took me once as a kid, learned how to play an old board game with some locals, it was fun.

Here’s some dumb photos/videos because my blog is like a personal journal :)

Tarrafal Beach Tarrafal Beach
David near Tarrafal Sign

Sorry for video quality, in an attempt of not having tons of MBs on this page, and I really don’t want to embed this on YouTube, so let me know if you know a better alternative to have videos on a blog post that “makes sense”.

age

I turned 40 this past year, yeah that’s right, time does fly. Now this is not something that I usually discuss but the turn of a new decade does make you pause for a second, life comes fast. What I notice so far is most of the same things at early 30’s but more, your body gives you more signs that you really need to pay attention to your health, it’s not a “power it through” anymore, it’s a “maintenance mode” now, whatever bad decisions you made in the past might show up now, any good ones you’ll start to appreciate. Honestly my major problem has always been overworking myself and maybe not that good eating habits, that’s the bad. On the good side, ever since I got a health scare right before my 30th birthday, I’ve tried to be a bit more active (thanks Fitbit!) so in the past 10 years I’ve actually managed to get into better physical shape, I do feel I’m probably more in shape now than in my 20s and 30s; I just can’t do as much as 10 years ago, there’s limits, we just have to work with them and move forward. Indiana Jones It’s not the Years, It’s the Mileage

gamedev

It’s been forever since I launched a game of my own even if I’ve helped with dozens of games (porting) in the last few years, but it is what it is. It’s hard to mix all in, and I can’t do the whole “quitting a job, work on a game for a couple months, launch it and get a new job after” anymore, so development just takes »forever« It’s one of the reasons I don’t even talk about what I’m attempting to work on, I have no idea of deadlines because I can’t probably do both contract deadlines + my own, which is both a blessing and a curse. It’s not bad, but I still have a few more dumb games I want to work on, and release, I just feel like a bit of a fraud I haven’t been able to after wrapping up QoD development, but I think that project also left me some burnout, it was ~7years of dev, porting and updates after all.

But for things we can control a bit better, and while I like to tinker with my own game framework, it would be a mistake not to look into what’s available in terms of Game Engines. I’ve done a lot of contract work in Unity and GameMaker 2, including some personal stuff, but after what Unity pulled (over a year now), using Unity now leaves a sour taste, it’s not the same anymore.


Godot

Godot has been around since 2014, and gained popularity over the years, and like what happened with Mastodon when Twitter died (yes it’s dead, old twitter is gone, X is crap), Godot exploded once Unity did what they did. People became aware there was an open-source alternative, stable and ready to use, not controlled by maniac shareholders just trying to profit even if they had to fire everyone in the company.

Over the years I had read some stuff and devs talking about it, but never found the time, until a couple weeks ago.

So I downloaded, unzip it, ran the executable, and … wait it booted the entire Editor within a couple seconds …

Godot Editor

My brain thought:

wtf there’s no installer :O

Yes, it just boots, a whole engine in a 250mb executable.

Choice of Language

Godot allows a couple of languages, but there seems to be 2 main ones, and I was a bit on the fence if I should go with C# or GDScript, Godot’s custom scripting language. So I decided to talk a bit with Joana about the pros and cons, she had also recently started using Godot herself. She went with C#, and seems like most of her Unity code worked fine, which is great. But I decided to just dive into GDScript, a clean slate with “no baggage” is something that I enjoy from time to time, the idea of learning something new without trying to make existing things work sounded exciting; and I also remember the lessons from GameMaker 2 GML, at first there was friction, but there are some valid choices/ideals there that I sometimes think others could copy. Also if you want to use C#, for now, you need a dedicated Editor build and there’s no support for Web Exports (this will change in the future).

GDScript is at first glance very Python like, but it’s mostly due to it’s indentation-based syntax

var a = 5
var s = "Hello"
var arr = [1, 2, 3]
var dict = {"key": "value", 2: 3}
var typed_var: int

enum {UNIT_NEUTRAL, UNIT_ENEMY, UNIT_ALLY}
enum Named {THING_1, THING_2, ANOTHER_THING = -1}

var v2 = Vector2(1, 2)

func something(p1, p2):
	super(p1, p2)

class Something:
	var a = 10

I use Python often for scripts so it was easy to get used to it. So far, from what I’ve read, one of the downsides is if you need really intensive computation algorithms, in which maybe doing them directly in C++ or C# might be better, but that’s probably edge cases, and you can mix in both languages, so not a decision that can ruin things later on.

In terms of language I do like it, it’s clean, feels modern, and my only complaint so far is exactly the same as Python, I wish we had { } to wrap up scopes instead of tabs, but that’s a personal preference. I’m sure as months progress I’ll bump into caveats, but that can be said of all languages.

The Nodes and more

Godot uses Nodes for everything, and at first I thought “oh it’s like Unity GameObject”, but it’s not quite that, Nodes can only be used with 1 script, you can’t just add a bunch of them to a node like Unity on a GameObject.

Godot Nodes

Here if you want a new behaviour, add a child node and add that script. It seems odd at first but this comes with a very powerful “side-effect”, anything can be a scene, and you can add nodes in anything, it’s quite fascinating and powerful, seems truly abstract.

The rest is the standard 2DSprites, Meshes, Sounds, position components, UI etc. To learn this I decided to make a small prototype game and so far most stuff has been very easy to create, from UI to animations and game logic.

The part that is creating more friction for me right now, is the Editor UI/UX inconsistency, there are tons of small quirks (I’ve been live posting some) that are not necessarily bugs but tweaking would go a long way in terms of User Experience and making it more intuitive.

Took me forever to notice that “Animation” was actually a button hiding a ton of options, it looked like a pressed “Tab”, it has the same design as the 0 on the left, it doesn’t look like a button. I’m nitpicking here, because it does work functionally, but I care about this engine now and I want it to be even better.

Godot is being made for free by the community, on their spare time, the fact that it works as it does right now is magic.

IT Crowd Have you tried turning it off and on again

Sometimes I had to restart the editor to make some things work again (I read this on Reddit) and whenever some code isn’t working but I can’t quite understand why, I would just restart it. At least once a day this would happen, but it might also be due to my use of Visual Code as external code editor and it getting confused some times (I need to do more testing on this).

Right now the engine has tons of potential and I feel it’s already quite robust for 2D games, I can’t say for 3D because I haven’t had the chance yet.

Plans for Godot

As the title suggests, for me this will be the year I plan to migrate to Godot whenever possible.

I do have a “game” that I’m working on SLOOOWLY whenever I find some time, and getting it out of Unity would be a big plus for me. I initially started it as part of learning Unity for contact work purposes and I kept working on it, felt like a nightmare to move it to my custom framework due to amount of work (but doable), but moving to Godot actually sounds FUN! But it’s not for now, I have to wrap up the gameplay at least so that migrating would be easier once I have it all.

And that’s what I wanted to say, Godot is a lot of fun to work with, you’ll spot quirks very rapidly, but it’s such a light and fast engine to work, perfect for prototyping.

Godot is in the same place as Blender a few year ago, with a promising future.


See you in the next post!