GoZen Update: 2024 – Week 13

Alpha’s getting really close. This weekly update may seem a bit empty to be this close to alpha, but that is so I can have a more well written update next week. My current progress which I won’t talk to much about in this post mainly has been on the media pool, timeline and project view. More on that in next weeks article. 😉

CalVer

We changed over to a different versioning system as I just don’t see myself keeping up with figuring out what number to put in a ‘major.minor.path’ system. So we changed to calendar versioning, aka CalVer. Benefits with this is that it’s more clear to the user from when their update is, with the added benefit that it takes no effort on my side as it basically gets the date of release. :p

Right now the version is set to 2024.4.4, the date of today, when converting to an integer it becomes 20240404, every date under that in this system is a lower number, and every higher date is a higher number, easy to know if you are running something outdated. That kind of a system is also possible with a major.minor.patch system, so that’s nothing new just some information about how version checking works. 😉

Master branch update

The version checking will work by taking the project config file in the GitHub repo, and getting the version from there. This means that the ‘Master’ branch will be the stable release branch. After alpha is over and we head into beta, people will have to switch to the beta branch for all their PR’s. This may make things slightly more complicated for people who are new to using Git and GitHub by working in multiple branches, but that’s the way it will be moving forward after the Alpha stage.

Media pool

The media pool has soon a lot of progress, we can finally add files to the global folder and project folder. Important features such as renaming/moving files and folders is still not possible, but that’ s a problem for later. At the time of writing this I’m working on dragging and dropping files from the media pool onto the timeline. This whole system is a mess right now and it reminds me why I was so looking against working on the timeline in the first place. ^^”

Builder

The builder, build.sh, saw an important change as we moved over to Python for the building. Makes it easier to work with and also allows for better interaction between all the moving parts of the project such as the building of gozen_ffmpeg and the localization. I do plan on creating extra GDExtensions to replace some of the current GDScript, but that’s for later. With this builder change also came some structure changes, so are the files and folder for building the GDExtension and localization out of the src folder and into the main folder. Gives better clarity to find files and makes the src folder a bit cleaner.

Code re-formatting

Thanks to Slander I was able to improve the code readability by a lot. This was done by adding ‘a_’ in front of argument variables and ‘l_’ in front of function variables. It is more text to look at, but it’s a lot easier to see where variables came from. During this entire re-formatting I also decided to stop using ‘:=’ for assigning variables. In the moment itself it’s helpful as it is less code, but looking at it later makes you wonder what type of variable one is and takes time to go through the functions to find out what type you get.

Except for those changes, only some aesthetic changes have been made such as better spacing and removing unnecessary variables where needed. I’m glad I did these changes now as it already took me a good 2 hours to complete this change, can’t imagine how much time this would have taken after I’m further along with the project.

GitHub Project

I started giving the GitHub Project page also a bit more attention recently, it’s still not fully up to date but that’s not the goal for now. The goal is to have it setup nicely for when issues and pr’s start coming in. The GitHub project page is meant to be used by people working on the GoZen code as it will be easier to tell thew status of certain issues and if someone is working on it or not.

This page will see more updates in the future when we head into Alpha. It’s difficult to properly plan things out as this is my first big project which I’m working on. It’s also possible that I’ll just remove the project page all together and just use the issues and pr tabs with better tags instead. Who can tell what the future will bring. I just don’t want to spend too much time managing a management tool which nobody excepts me uses, if that would be the case then I should just use pen and paper. :p

Crawling to the finish line

I may call the alpha the finish line, but once I reach it I’ll be taking a short break of some days to re-charge my batteries before I start bug fixing. If there are major bugs which doesn’t allow the testers to actually use GoZen … well then I guess no vacation for me hahaha. Once I have a better idea of when alpha will be released I’ll be planning a live-stream, so stay tuned for that. 😉