GoZen Update: 2024 – Week 11

A big small update, probably the best way to describe this one. Progress was made, but not as much as I would have liked (as usual :p). Anyway, progress has been made so let’s go over the changes!

Godot version 4.2.2 RC 2

Because of the bugs which really slowed down progress whilst working on GoZen, I decided to move over the Godot 4.2.2 RC 2 as this is a release candidate and stable enough to actually work on. This being a release candidate means that the official release is getting closer which should mean less overall bugs, hopefully this full release comes before I release the alpha. ^^

We were using Godot 4.3 dev 2 before as dev 3 and 4 had some annoying bugs, but in dev 2 scenes kept corrupting and in dev 5 the file dialog decided to not work anymore. For now I’ll stay away from using the dev build for GoZen, and even the release candidates for 4.3 so I can fully focus on GoZen without having to worry about more possible bugs or annoyances.

Code style update

So the coding style has changed slightly to make things more readable, not a big change though. Also, I’ll try to keep tabs to a maximum of 4, everything over that starts to become more difficult to figure out what’s happening. So yeah, small update as most things changed are the style of comments which I used to break the code into pieces.

GDExtension update

Work on the FFmpeg side of things has resumed a little bit whilst trying to make the render menu. A lot of changes have been made to the GDExtension so let’s go over them.

No more importer

I replaced GoZenImporter by GoZenVideo. Biggest reason for this is because of how the video file will be accessed for getting frames more dynamically by seeking through the file. Initial idea was loading the entire video into memory … which caused a lot of issues involving crashing your system and filling your entire memory + a couple extra GB for just a 1 minute clip. ^^”

No more PipeRenderer

The first version of the render system is something we also said goodbye to as it was not very performant and contained some amount of bugs. Also, I didn’t see a way of making it easily work in the future with also compiling the video audio to it. So this rendering system is gone and all rendering will be fully handled by the GoZenRenderer.

Rendering menu

As I am writing this I am finishing up the last couple of parts of the rendering menu. Of course without a timeline nothing can be rendered yet, but technically the system should be working once we have a timeline in GoZen and can actually put together videos :p

Documentation update

Documentation will be made using Writeside, a program made by JetBrains. As GoZen is open source ,we have free access to all tools from Jetbrains. I really like their software but I do hope that better Godot support will come to Rider in the near future as the current support on Rider for Godot is really lacking.

I’ll slowly work on this as parts of GoZen are stable enough and won’t be changing. This documentation at first will help people to get into GoZen development and will hopefully help later for people to create custom modules with.

Tutorials

Tutorials will be one part of what I plan on writing inside of Writeside, simple tutorials with videos attached to them. They are supposed to help beginners on how to edit videos with GoZen, but can also be used for people who already know video editing to know how to achieve certain effects in GoZen. All tutorials will aim to achieve something specific.

Manuals

The manuals part will contain general guidelines of the UI and features. Different from tutorials and also different from the coding documentation.