Migrated to Hugo

- 4 mins read

I’ve been using Jekyll for this blog for more the 12 years. It was great at the time, but over the years I found myself getting more and more frustrated with the only constant in the Ruby/Gem/Bundler stack: never ending breaking changes. I don’t really know what’s going on in that space and that’s the second issue I had with Jekyll, I treated it like a blackbox cause I had no desire to get into Ruby and still don’t unless I need to professionally.

Godot GDScript/C# Benchmark

- 3 mins read

Yesterday I found this Godot little bench I created a few years ago to quickly evaluate whether Godot GDScript’s interpreter is fast enough for a commercial project that could possibly target Nintendo Switch. This was important because I’ve been biten by cpython in the past (py2.7) where a simple 2D arcady game struggled to reach 60 fps on certain underpowered laptops to my disappointment.. and GDScript while not python is almost identical in many ways.

I’ve decided this year to let go of my original blog domain (zenithsal.com) and move the blog to my CMG domain: https://zenithsal.cloudmillgames.com.

I’ve been monitoring visits to the original domain and I was surprised to see so many visitors on a daily bases. My guess is it has something to do with the cheatsheets for tic80 and typescript that I’ve published on this blog a while back. It’ll probably take some time for search engines to point visitors to the new URL, but that’ll be fine as both cheatsheets have been “mirrored” in many other places online.

The Dead Internet

- 10 mins read

Little by little the internet is dying. I felt like ranting on a private discord server which led me into a rabbit hole after. This was my rant raw:

man the internet really sucks nowadays, most forums are gone not even in archive, search engines are crippled with ads and target dumb audiences, every piece of software that’s not opensource is spying on us “to enhance your experience”, pretty much every social discussion network wants to be a walled garden like discord, reddit is almost there.. it seems most people have migrated from internet to social media focused on doom scrolling and pointless angry arguing. It feels like LLMs are the only good thing that happened recently.. but wait til they’re enshitified as well and start to cripple themselves (to enhance experience naturally), spy on us and push ads which will happen once their growth slows down

After last post I had a few realizations when I compiled raylib and tested the same examples on my aging Macbook Pro that I’ve revived. The module music example crashes the same way! so the RPiZ/3 were innocent. And the colored cubes example is very expensive to run on the Intel Iris 5100 too which is not a slouch. So I had to redo these two tests to make sure I made a correct evaluation.

I’ve always found the RPiZ interesting due to it being so limited and slow (lol) kind of why I like Amiga A500 or Atari ST.

My vision for the RPiZ was to use it like it’s a low level development gaming platform with a respectable GPU compared to older GPUs before DirectX9. The problem is that modern day linux (Raspbian included) is way too much for this little chip that it makes it almost impossible to use for GUI-based development and the super-outdated and bloated X11 tasks the hardware too much that any OpenGL performance is completely unpredictable and choppy.

I’ve been using Fedora Kinoite on my main laptop for about a year now. Kinoite is a spin of Fedora Silverblue. This is the first and only immutable operating system I’ve used to date.

To explain why immutability is so important in my view, let’s take a look at some examples from other systems.

Mutability by bad decisions

Let’s start with Windows. In my opinion the worst wide-spread operating system of them all. It’s basically a collection of bad decisions upon bad decisions dating back to the 90s dictated by the requirements of back-compatibility on legacy features that enterprises wish to drag along with them forever.

GoVolDot postmortem

- 4 mins read

GoVolDot is out! Released it a few days ago after not doing anything with it for a few weeks.

I have this weird release hesitation sometimes, I think I’m worried to let a project go, let it fly out of the window into the wild harsh world.

GoVolDot was a very interesting experience despite its apparent simplicity. The goal I had for it besides that I always wanted to remake this game and actually play it, is to run a project through an entire production cycle in preparation for bigger things in the future.

Log 1 Dawn of a new age

- 5 mins read

I’ve recently decided to dedicate myself to my passion in GameDev and attempt to make it self-employed. This was approximately 3 weeks ago.

I will try to write weekly or bi-weekly updates logging what I’ve done so far.

Week 1: Set my heart a flutter

I’ve been preping this for a while and one unfinished thing I had to get through is figuring out a suitable pipeline for me to develop Android apps for tooling that I want to manage my time and budget.

Say we’re working on a GTA-style game and we want to create a behavior sequence for a mission:

  • Car (with an AI driver) spawns at location A and waits for the player to get in.
  • Car drives to location B.
  • Player gets out.
  • Car waits for player to get back in with item within 5 minutes.
  • Mission success!

Manual State Management

The problem with straight-forward gameplay programming is it’s made of an Update() function that gets called ±60 times a second.