int main(int argc, char* argv)
std::cout << "Hello and welcome to my forge!" << std::endl;
In here you will find (programming) tutorials with a focus towards game development. Occasionally some content unrelated to game dev might popup, but still about programming.
Please feel free to browse all of the available tutorials.
Sometimes I might talk/ramble/rant about something (still related to programming/development). Because those are not exactly tutorials I have created the blog section.
If you want to see some of the projects that I have released, those can be found here.
To contact me or to know a tiny bit about me, there is the contact section. It also describes a little bit of how this site was built.
While bellow you will find a list of the latest site news, you can see the complete list here.
Happy new Year!
To kick things off, I'm releasing a new Godot addon, the Radial Impulse, which adds two new nodes (one for 2D and the other for 3D). The nodes are used to apply impulses into all rigid bodies that are within their circular/spherical area. The animation bellow is from the 2D demo.
OK yes, I know, those new nodes are still for the Godot 3 branch. I'm working on the Godot 4 port of the relevant addons as GDExtension. Several of them are fully ported. However there is an issue with the UI theme system that is somewhat preventing me from kicking off the extension thing.
That said, I wish for all the best for everyone in 2024. And, happy forging!
January 3, 2024
And after several weeks without being able to update my forge... well, now we are lifting of, with Astro!
I do delve into it a little bit more about the entire thing in this newer blog post. But in short, out of the blue, Nuxt simply started to spit error messages instead of my page.
I have updated some of the Godot tutorials. The reason? Godot 4 did change a lot and the information was no longer entirely valid. Some of those tutorials now have instructions for both Godot 3 and Godot 4.
PS: If lots of new entries in your RSS reader were triggered, I'm deeply sorry for this.
October 26, 2023
New to this site is the Projects section. It's meant to be a central place to link into all my published projects, excluding any that is "tutorial reference material".
The navigation bar has been updated to link into that section.
September 21, 2022
Audio playback in Godot is actually very straightforward. We add one
AudioStreamPlayer3D node, assign an audio stream resource then call its
play() function. However if the node is destroyed in the middle of a playback, the audio will become interrupted. This is a common case when dealing with impacting bullets, player pickups and so on.
In order to help with audio playback without having to worry about node lifetime, I created the Audio Master addon. How to use it can be found here. As usual, the addon itself can be found in this GitHub Repository.
September 15, 2022
While working in a (Godot Engine) project I ended up creating a
Resource meant to hold data. Editing its array was very clunky. But most importantly, adding a custom scripted resource into this data class was not possible. Well, it was, but the "new instance" is not filtered in Godot. That is, it display a huge list of classes derived from
So, I decided to create an Editor Plugin meant to deal with resources of this kind, the Data Asset plugin. A preview of the plugin in the animation bellow, which showcases rearranging elements of an array of custom scripted resources:
Yet, editing numerical properties were not exactly close to the editor provided within the Inspector panel. Granted, the editor uses a Control named
EditorSpinSlider, which is not fully exposed to scripting. So, I decided to also create a Control that implements something similar to that, which is provided as the
SpinSlider. A preview of the widget:
August 15, 2022