Octodemy
@octodemy.bsky.social
🕹️Learning about game dev.
📺Youtube channel: https://www.youtube.com/@octodemy
📺Youtube channel: https://www.youtube.com/@octodemy
Another episode for the Godot Raycast Car Series is here!
This time we'll try out shapecast wheels and fix a lot of the problems with the car.
Here is the video: www.youtube.com/watch?v=lecZ...
This time we'll try out shapecast wheels and fix a lot of the problems with the car.
Here is the video: www.youtube.com/watch?v=lecZ...
November 9, 2025 at 10:25 AM
Another episode for the Godot Raycast Car Series is here!
This time we'll try out shapecast wheels and fix a lot of the problems with the car.
Here is the video: www.youtube.com/watch?v=lecZ...
This time we'll try out shapecast wheels and fix a lot of the problems with the car.
Here is the video: www.youtube.com/watch?v=lecZ...
Made a debug curve visualizer for Godot to help showcase the actual values inside the curve.
The graph class can choose if they want to draw the curve and background, so I can overlay each of the wheel points on top of each other like in the video.
The graph class can choose if they want to draw the curve and background, so I can overlay each of the wheel points on top of each other like in the video.
November 1, 2025 at 3:03 AM
Made a debug curve visualizer for Godot to help showcase the actual values inside the curve.
The graph class can choose if they want to draw the curve and background, so I can overlay each of the wheel points on top of each other like in the video.
The graph class can choose if they want to draw the curve and background, so I can overlay each of the wheel points on top of each other like in the video.
Build some graph debug tools for Godot to help me visualize why things happens.
It uses the Expressions class to evaluate code so I can quickly set it all up in the inspector to check stuff.
It uses the Expressions class to evaluate code so I can quickly set it all up in the inspector to check stuff.
October 27, 2025 at 2:57 PM
Build some graph debug tools for Godot to help me visualize why things happens.
It uses the Expressions class to evaluate code so I can quickly set it all up in the inspector to check stuff.
It uses the Expressions class to evaluate code so I can quickly set it all up in the inspector to check stuff.
Who else gets annoyed when ProceduralSkyMaterial's sky and ground horizon colors doesn't match in Godot?
Learning InspectorPlugins, the first thing I had to make is syncing these colors.
Learning InspectorPlugins, the first thing I had to make is syncing these colors.
October 10, 2025 at 2:33 AM
Who else gets annoyed when ProceduralSkyMaterial's sky and ground horizon colors doesn't match in Godot?
Learning InspectorPlugins, the first thing I had to make is syncing these colors.
Learning InspectorPlugins, the first thing I had to make is syncing these colors.
Here's what I was trying....
I thought it was all due to how small the coin was.
I had been messing around with the physics solver properties for quite a while trying to "fix" this.
Who knew the model's trimesh was the culprit all along.
I thought it was all due to how small the coin was.
I had been messing around with the physics solver properties for quite a while trying to "fix" this.
Who knew the model's trimesh was the culprit all along.
October 2, 2025 at 7:48 PM
Here's what I was trying....
I thought it was all due to how small the coin was.
I had been messing around with the physics solver properties for quite a while trying to "fix" this.
Who knew the model's trimesh was the culprit all along.
I thought it was all due to how small the coin was.
I had been messing around with the physics solver properties for quite a while trying to "fix" this.
Who knew the model's trimesh was the culprit all along.
The root of all my problems...
I've thought Godot had been giving me wonky trimesh collision generation.
Now I know why....
I've thought Godot had been giving me wonky trimesh collision generation.
Now I know why....
October 2, 2025 at 7:46 PM
The root of all my problems...
I've thought Godot had been giving me wonky trimesh collision generation.
Now I know why....
I've thought Godot had been giving me wonky trimesh collision generation.
Now I know why....
Natural object placement with physics in the editor.
Right now it simulates all rigidbodies in the scene.
I think I'll add a filter to only simulate selected objects so you won't mess up your scene later.
#godot
Right now it simulates all rigidbodies in the scene.
I think I'll add a filter to only simulate selected objects so you won't mess up your scene later.
#godot
September 29, 2025 at 6:56 PM
Natural object placement with physics in the editor.
Right now it simulates all rigidbodies in the scene.
I think I'll add a filter to only simulate selected objects so you won't mess up your scene later.
#godot
Right now it simulates all rigidbodies in the scene.
I think I'll add a filter to only simulate selected objects so you won't mess up your scene later.
#godot
There is always something hidden behind meshes.
Make sure to always scan things with your stencil shaders.
#godot #stencilshader
Make sure to always scan things with your stencil shaders.
#godot #stencilshader
September 28, 2025 at 9:58 PM
There is always something hidden behind meshes.
Make sure to always scan things with your stencil shaders.
#godot #stencilshader
Make sure to always scan things with your stencil shaders.
#godot #stencilshader
It's really fun playing around with stencil shaders in Godot 4.5 now.
It's incredible how simple masks can help create some awesome new effects now.
#Godot
It's incredible how simple masks can help create some awesome new effects now.
#Godot
September 12, 2025 at 12:08 PM
It's really fun playing around with stencil shaders in Godot 4.5 now.
It's incredible how simple masks can help create some awesome new effects now.
#Godot
It's incredible how simple masks can help create some awesome new effects now.
#Godot
Have you ever wonder how to draw textures in Godot?
I've just made a new tutorial on how to make your very own paint system. Check it out!
www.youtube.com/@octodemy
#Godot #GodotTips
I've just made a new tutorial on how to make your very own paint system. Check it out!
www.youtube.com/@octodemy
#Godot #GodotTips
September 11, 2025 at 7:36 AM
Have you ever wonder how to draw textures in Godot?
I've just made a new tutorial on how to make your very own paint system. Check it out!
www.youtube.com/@octodemy
#Godot #GodotTips
I've just made a new tutorial on how to make your very own paint system. Check it out!
www.youtube.com/@octodemy
#Godot #GodotTips
Got sidetracked while exploring how sub-viewports works in 2D.
When I realized, I had made this.
Had to make some funky code to take the photos of the background layer (which had bloom&brightness adjustments), the moving objects that didn't and also not screenshot the text.
#Godot
When I realized, I had made this.
Had to make some funky code to take the photos of the background layer (which had bloom&brightness adjustments), the moving objects that didn't and also not screenshot the text.
#Godot
August 19, 2025 at 10:29 PM
Got sidetracked while exploring how sub-viewports works in 2D.
When I realized, I had made this.
Had to make some funky code to take the photos of the background layer (which had bloom&brightness adjustments), the moving objects that didn't and also not screenshot the text.
#Godot
When I realized, I had made this.
Had to make some funky code to take the photos of the background layer (which had bloom&brightness adjustments), the moving objects that didn't and also not screenshot the text.
#Godot
While I was stress testing and playing around with procedural geometry in Godot, I found out you actually lose performance by calling floori() in gdscript.
And since discarding the decimal point is exactly what I want, I guess I'll just divide it normally then.
#GodotTips
And since discarding the decimal point is exactly what I want, I guess I'll just divide it normally then.
#GodotTips
August 12, 2025 at 9:27 AM
While I was stress testing and playing around with procedural geometry in Godot, I found out you actually lose performance by calling floori() in gdscript.
And since discarding the decimal point is exactly what I want, I guess I'll just divide it normally then.
#GodotTips
And since discarding the decimal point is exactly what I want, I guess I'll just divide it normally then.
#GodotTips
Experimenting with custom StyleBox'es in Godot, I've made a Stacked StyleBox that is very useful to create buttons.
August 7, 2025 at 9:41 AM
Experimenting with custom StyleBox'es in Godot, I've made a Stacked StyleBox that is very useful to create buttons.
Got everything I wanted done using Godot's drag and drop system.
A tutorial will be coming out soon on how to use and solve all the problems I encountered along the way.
A tutorial will be coming out soon on how to use and solve all the problems I encountered along the way.
July 27, 2025 at 3:49 PM
Got everything I wanted done using Godot's drag and drop system.
A tutorial will be coming out soon on how to use and solve all the problems I encountered along the way.
A tutorial will be coming out soon on how to use and solve all the problems I encountered along the way.
I fell into the drag and drop system rabbit hole.
This is using the Godot's builtin drag drop solution.
There are some limitations, but I've found workarounds for them.
I'll make a quick video about it before I forget everything.
#godot
This is using the Godot's builtin drag drop solution.
There are some limitations, but I've found workarounds for them.
I'll make a quick video about it before I forget everything.
#godot
July 21, 2025 at 12:23 AM
I fell into the drag and drop system rabbit hole.
This is using the Godot's builtin drag drop solution.
There are some limitations, but I've found workarounds for them.
I'll make a quick video about it before I forget everything.
#godot
This is using the Godot's builtin drag drop solution.
There are some limitations, but I've found workarounds for them.
I'll make a quick video about it before I forget everything.
#godot
Here's a little prototype I made last month that led to those couple of RTS tutorials I made.
I was experimenting on how to code AI with state machines.
#godot
I was experimenting on how to code AI with state machines.
#godot
July 20, 2025 at 3:53 AM
Here's a little prototype I made last month that led to those couple of RTS tutorials I made.
I was experimenting on how to code AI with state machines.
#godot
I was experimenting on how to code AI with state machines.
#godot
Last week, I found out I was using Godot's navmesh settings completely wrong while trying to fix ramp corners.
Now things finally makes more sense.
Now things finally makes more sense.
July 15, 2025 at 11:30 PM
Last week, I found out I was using Godot's navmesh settings completely wrong while trying to fix ramp corners.
Now things finally makes more sense.
Now things finally makes more sense.
Playing around with RTS things now.
Here's the unit selection working.
Here's the unit selection working.
July 6, 2025 at 2:23 PM
Playing around with RTS things now.
Here's the unit selection working.
Here's the unit selection working.
I make a lot of small projects that never see the light of day, so I'll post here what I'm currently doing just in case.
Last month or so I was playing with making a physics raycast car.
You can follow its progress and make your own with the tutorial series here:
www.youtube.com/watch?v=9Mqm...
Last month or so I was playing with making a physics raycast car.
You can follow its progress and make your own with the tutorial series here:
www.youtube.com/watch?v=9Mqm...
June 28, 2025 at 9:53 AM
I make a lot of small projects that never see the light of day, so I'll post here what I'm currently doing just in case.
Last month or so I was playing with making a physics raycast car.
You can follow its progress and make your own with the tutorial series here:
www.youtube.com/watch?v=9Mqm...
Last month or so I was playing with making a physics raycast car.
You can follow its progress and make your own with the tutorial series here:
www.youtube.com/watch?v=9Mqm...
2D fake walls can be achieved with only tilemap layer's custom data.... kinda.
March 17, 2025 at 4:41 AM
2D fake walls can be achieved with only tilemap layer's custom data.... kinda.
Did you know?
The last selected script files will have blue names.
The more recent it is, the bluer its name will be.
#Godot #GodotTips
The last selected script files will have blue names.
The more recent it is, the bluer its name will be.
#Godot #GodotTips
December 25, 2024 at 5:50 AM
Did you know?
The last selected script files will have blue names.
The more recent it is, the bluer its name will be.
#Godot #GodotTips
The last selected script files will have blue names.
The more recent it is, the bluer its name will be.
#Godot #GodotTips
I fell into the PICO-8 fantasy console rabbit hole.
It's really fun making games with limitations.
It has an incredible community.
And the tutorial series by LazyDevs is such a great introduction.
It's really fun making games with limitations.
It has an incredible community.
And the tutorial series by LazyDevs is such a great introduction.
December 18, 2024 at 2:24 AM
I fell into the PICO-8 fantasy console rabbit hole.
It's really fun making games with limitations.
It has an incredible community.
And the tutorial series by LazyDevs is such a great introduction.
It's really fun making games with limitations.
It has an incredible community.
And the tutorial series by LazyDevs is such a great introduction.
Did you know that if you don't specify the inherited class Godot will use a RefCounted?
If you want the most basic object, you need to use extends from Object.
An Object needs to be manually freed with instance.free().
#godot #godottips
If you want the most basic object, you need to use extends from Object.
An Object needs to be manually freed with instance.free().
#godot #godottips
December 10, 2024 at 10:11 PM
Did you know that if you don't specify the inherited class Godot will use a RefCounted?
If you want the most basic object, you need to use extends from Object.
An Object needs to be manually freed with instance.free().
#godot #godottips
If you want the most basic object, you need to use extends from Object.
An Object needs to be manually freed with instance.free().
#godot #godottips
I can't believe it took me this long to finally understand how async coroutines works in Godot 4.
#GodotTips
A 'func' in Godot will be a coroutine if it has an 'await' inside it.
Calling it without 'await' will create an async coroutine and will run the function without stopping the main code.
#GodotTips
A 'func' in Godot will be a coroutine if it has an 'await' inside it.
Calling it without 'await' will create an async coroutine and will run the function without stopping the main code.
December 9, 2024 at 7:58 PM
I can't believe it took me this long to finally understand how async coroutines works in Godot 4.
#GodotTips
A 'func' in Godot will be a coroutine if it has an 'await' inside it.
Calling it without 'await' will create an async coroutine and will run the function without stopping the main code.
#GodotTips
A 'func' in Godot will be a coroutine if it has an 'await' inside it.
Calling it without 'await' will create an async coroutine and will run the function without stopping the main code.
𝗚𝗼𝗱𝗼𝘁 𝘁𝗶𝗽
You can use lambda functions while connecting signals to keep your callback's code nearby.
Lambda don't need names, to declare a lambda simply use:
𝗳𝘂𝗻𝗰():
# 𝘀𝗼𝗺𝗲 𝗰𝗼𝗱𝗲
#Godot #GodotTip #GodotTips
You can use lambda functions while connecting signals to keep your callback's code nearby.
Lambda don't need names, to declare a lambda simply use:
𝗳𝘂𝗻𝗰():
# 𝘀𝗼𝗺𝗲 𝗰𝗼𝗱𝗲
#Godot #GodotTip #GodotTips
November 25, 2024 at 9:59 AM
𝗚𝗼𝗱𝗼𝘁 𝘁𝗶𝗽
You can use lambda functions while connecting signals to keep your callback's code nearby.
Lambda don't need names, to declare a lambda simply use:
𝗳𝘂𝗻𝗰():
# 𝘀𝗼𝗺𝗲 𝗰𝗼𝗱𝗲
#Godot #GodotTip #GodotTips
You can use lambda functions while connecting signals to keep your callback's code nearby.
Lambda don't need names, to declare a lambda simply use:
𝗳𝘂𝗻𝗰():
# 𝘀𝗼𝗺𝗲 𝗰𝗼𝗱𝗲
#Godot #GodotTip #GodotTips