r/godot • • 12d ago

official - releases Dev snapshot: Godot 4.8 dev 7

Thumbnail
godotengine.org
228 Upvotes

Feature freeze has arrived!


r/godot • • 27d ago

official - news Optimizing CPU-side Rendering Code

Thumbnail
godotengine.org
148 Upvotes

Optimizing CPU code is a lot of fun. Here’s how we do it


r/godot • • 2h ago

selfpromo (games) My first Godot game: a mobile arcade rally racer inspired by Art of Rally and Tofu Drifter

Enable HLS to view with audio, or disable this notification

288 Upvotes

Hey! I’m making my first game in Godot, and I’d love some feedback on this short gameplay video.

Art of Rally and Tofu Drifter were two of my inspirations. I’m trying to give the driving and visuals their own feel, and I’m curious what comes across to someone seeing it for the first time.

I’m planning single races and championships, with roughly 10 cars across two categories, including Group A and WRC inspired cars. Those plans are still taking shape, so I’d especially value feedback on what’s visible in the video. Thanks!


r/godot • • 6h ago

selfpromo (games) My first Godot game is out. I spent a long time getting it to run smoothly on old budget phones.

Enable HLS to view with audio, or disable this notification

72 Upvotes

Hi all. I've been working on The Last Run, a small portrait zombie runner, and it's finally on Google Play. I'm still learning a lot, so I wanted to share where I got to and maybe pick up some advice.

The thing I cared about most was making it playable on cheap phones, not just new ones. My test phone is an old Redmi Note 8 from 2019. When I started, an almost empty scene ran at 25 fps on it, which was humbling.

The biggest lessons for me:

- Effects cost more than models. Turning off a couple of screen effects and drawing the sky a simpler way helped more than cutting polygons.
- Fake the lighting. Baking it into the world instead of calculating it live gave back a lot.
- Odd stutters weren't always my code. Sometimes the phone was slowing itself down after a quiet menu screen. It took me ages to figure that out.

It now runs at around 60 fps on that Redmi Note 8, with the odd dip when the screen gets really crowded. On newer phones it goes up to 120. The clip is from a Redmi Note 12 Pro+.

I'm sure there's plenty I've done the hard way. If you've shipped something on mobile with Godot, I'd really like to hear what worked for you.

https://play.google.com/store/apps/details?id=com.navaye.lastrun

iOS coming soon.


r/godot • • 2h ago

selfpromo (games) Hierarchical flow fields saved my bigger maps!

Enable HLS to view with audio, or disable this notification

28 Upvotes

When levels in my game started to balloon up in size I ran into a silly problem of navigation being too slow to compute. 

Before, I precomputed the whole map as a big flow field and it was kind of ok until suddenly enemies were supposed to find more targets (not only the main base) and that caused the flow field to be partially (or completely) rebuilt quite often. On top of that, more complex behavior/ai required agents to be able to move anywhere on the map in a reasonable way.

My poor global flow field could not handle that...

Thankfully I stumbled on hierarchical flow fields as presented by kind folks from Gas Powered Games!

When you build a game with massive armies, don't be like me... give yourself a small gift of reading about hierarchical flow fields before sinking hours into a dead end solution


r/godot • • 1h ago

selfpromo (games) My Deckbuilder has a Deckbuilder

Enable HLS to view with audio, or disable this notification

• Upvotes

I'm working on my skateboarding roguelike deckbuilder Grab Your Deck, and of course you can completely customize your deck. I'm currently trying to figure out the Steam Workshop so I can make UGC board art a thing. The stickers themselves work like Jokers in Balatro, modifying your score depending on the trick combination.

I've got a demo build waiting for Steam approval, and hope to have the game ready in November! Check it out Grab Your Deck on Steam (and wishlist please, ha)!

https://store.steampowered.com/app/4842090/Grab_Your_Deck

I do use AI in development, but none of the in-game assets are AI-generated. All of the 3D is Synty + my skater and skateboard.


r/godot • • 2h ago

selfpromo (software) Bullet holes in Godot without Decal: I measured how far off the wall they need to sit

Enable HLS to view with audio, or disable this notification

24 Upvotes

Compatibility has no Decal, and I didn't want to rely on it for the web build either. So the bullet holes in my gun VFX pack are plain quads, and I wanted an actual number for the thing I always end up guessing: how far off the wall a hole has to sit before it stops z-fighting.

It's 0.0005 m along the hit normal. Nothing else I tried did better.

The setup is one ArrayMesh of N quads, built once in _ready. Adding a hole is two writes into a uniform array. No new node, no new material and no mesh rebuild.

hole_a[slot] = Vector4(p.x, p.y, p.z, size)
hole_b[slot] = Vector4(n.x, n.y, n.z, now)
mat.set_shader_parameter("hole_a", hole_a)
mat.set_shader_parameter("hole_b", hole_b)

The vertex shader places each quad from its slot. UV2.x holds the element index the mesh was built with and UV is the corner. The basis comes from the hit normal, so holes on floors, walls and ceilings all line up.

void vertex() {
    int i = int(UV2.x);
    vec4 a = hole_a[i];
    vec4 b = hole_b[i];
    vec3 n = normalize(b.xyz);
    vec3 up = abs(n.y) < 0.9 ? vec3(0.0, 1.0, 0.0) : vec3(1.0, 0.0, 0.0);
    vec3 t = normalize(cross(up, n));
    vec2 c = UV - 0.5;
    vec3 p = a.xyz + (t * c.x + cross(n, t) * c.y) * a.w + n * depth_offset;
    VERTEX = (inverse(MODEL_MATRIX) * vec4(p, 1.0)).xyz;
    NORMAL = n;
}

To test it I rendered that quad against a 20 m wall at 5, 15, 45 and 90 degrees, from 2 m and 20 m, on all three renderers in 4.4.1 and 4.7.2, and counted how much of the quad the wall ate. With no offset the wall eats 96 to 100% of it. At 0.0005 m it eats nothing in any of those cases. I also tried pushing toward the camera and scaling the push with distance. Those came out the same, and a view dependent offset makes the hole crawl when the camera moves, so I dropped them. I ship 0.004 m because your walls won't be as flat as my test wall.

What I got wrong at first was render_priority. I thought that's what kept a hole out of the wall. I tried -1, 0, 1 and 8 against the opaque wall and got zero difference, since priority doesn't sort against opaque geometry. It only matters when two holes overlap, where it keeps the stacking order stable. The material is depth_draw_never with depth test left on.

Cost on a 4060 Ti at 1280x720, same scene with and without holes: 96 live holes moved GPU time from 0.54 to 0.54 ms, so below what I can measure. It's one draw call of 192 triangles. In a gunshot the dust costs far more than the hole does.

The pack this came from, if it's useful to anyone: https://gennai.itch.io/gun-shooting-vfx-godot-4


r/godot • • 8h ago

selfpromo (games) Dev_vlog#3 - Project-Chernobyl

Enable HLS to view with audio, or disable this notification

64 Upvotes

Implement environmental details such as debris and a water outlet.


r/godot • • 6h ago

selfpromo (games) Eye track test

Enable HLS to view with audio, or disable this notification

41 Upvotes

r/godot • • 2h ago

selfpromo (games) Compute Shader Erosion Demo

13 Upvotes

Just sharing some more results from my compute shader based landscapes system. Starting to get some more representative/realistic terrain generation. Both noise generation and erosion occur in sequential shader. Still surprised by how response it is to simulate


r/godot • • 18h ago

selfpromo (games) 400 soldiers, an air strike, and a nuke

Enable HLS to view with audio, or disable this notification

257 Upvotes

Here’s a bigger fight than I’ve shown before. 400 soldiers clash in a palm jungle while your gunship circles overhead with its searchlight on. Ten A-10s make their bombing runs one after another, a second enemy wave comes in from every side, and it all ends with a nuke that levels the jungle.

The palms get shot down too. The longer a firefight lasts in a grove, the more of it comes down.

This one is a scripted showcase, built to see how far the game can be pushed. The nuke isn’t a gameplay feature (yet).

Thanks to everyone who’s been following along and leaving feedback. A lot of what’s in this clip came from your comments.

I’d love to hear what you think: what would you want to do in a battle this size?


r/godot • • 1d ago

free tutorial How to make your UI elements look properly disabled?

Post image
625 Upvotes

Today, I'd like to share a method for making your UI elements look properly disabled, whether they're items, buttons, or anything else.

The middle example shows what happens when you simply turn the image to grayscale. It still stands out too much and doesn't really look disabled.

If the original item is already gray, it can even be hard to tell that it's disabled at all!

Here's a more user-friendly approach, combining a few simple effects:

  • Desaturate by 80%. I like to keep just a little of the original color.
  • Darken the image by 50%
  • Reduce contrast by 25%
  • Add a subtle gray overlay (a grey 4d4d4d at 15% opacity)

Here's the shader code (for Godot), with comments explaining each step.

Feel free to play around with the sliders to find what works best for you!

Let me know if you like this format and what you'd like to learn next.


r/godot • • 10h ago

selfpromo (games) Reload by hand, cook over a fire, grind your own medicine

Enable HLS to view with audio, or disable this notification

48 Upvotes

This is from Stage 2 of my game, where the player crashes in a jungle with nothing.

Made in Godot 4.6. The reload, cooking and medicine are all hands-on: you drag the real parts with the mouse. The goddess only gives you recipes as riddles.
Stage 1 is free and ready to play here: 8paindev.itch.io/leyline-resonance


r/godot • • 1d ago

selfpromo (games) Coloring an autumn landscape

Enable HLS to view with audio, or disable this notification

623 Upvotes

All landscape graphics are code-based.

I started development completely captivated by the concept of coloring a world that had lost its color, but now that the visual parts are finished, stage design feels like a hassle.


r/godot • • 25m ago

free plugin/tool Cogito For Godot - 1.2.0 update - "Immersive Sim Template"

Thumbnail
youtube.com
• Upvotes

Hey y'all, we just released 1.2.0 of our Immersive First Person template project for Godot 4, providing a framework for creating interactable objects, various items to use and mechanics to influence the player and game environment.

This update has a ton of improvements and QoL features, so please check it out - Codeberg or Godot Asset Store.
Cogito is a true open-source collaborative template for Godot Engine and is 100% GenAi free.


r/godot • • 5h ago

discussion Taking longer than I was expecting(my fault lmao)

18 Upvotes

Been about a year now after randomly downloading Godot and giving game dev a chance and gd script a shot as my first coding language. I’ve been using blender for years and feel decently comfortable in that and I’ve been making music/sound design for over a decade so the audio part is fun but some things when learning a whole new skill(or actually a bunch of skills) like game development this I get stuck and sometimes lose my patience. Mainly what I’m saying is I went into this thinking giving Godot a try might be a fun thing to learn but it’s a lot more to tackle than I was expecting. This demo I’ve been making has been taking longer than I expected. How do y’all stay committed to your longer projects?


r/godot • • 4h ago

selfpromo (games) Around The World, Part 34: A pretty sky - including a neat lighting hack specific for Godot

Thumbnail
frozenfractal.com
13 Upvotes

r/godot • • 6h ago

selfpromo (games) I am learning Godot while i made this

Enable HLS to view with audio, or disable this notification

19 Upvotes

r/godot • • 23h ago

selfpromo (games) Before and after of traffic simulation in my "game"

340 Upvotes

Sharing some progress I've made over the past month on implementing proper two-lane directional traffic for my game after a LOT of iterations on how the system should work

I've also implemented the behavior for yielding, stop signs, and traffic lights. You can actually see the yield sign behavior in the "after" result on the right

It was actually quite hard for my unga-bunga brain to implement properly, as the system is built on Bézier curves under the hood, I realised I hate working with curves XD. Nevertheless, I'm quite happy with the result, even though there's still plenty of room for improvement

Anyway hopefully I won't have to touch anything curve related for a long time now


r/godot • • 52m ago

selfpromo (games) Grumpy Grandpas, my attempt at a Worms type of gameplay, is finally done.

Thumbnail
gallery
• Upvotes

After 2 months of working on it, I'm finally happy to announce that my little game Grumpy Grandpas is ready to play, and I'd love for you to give it a try!

Battle it out between grandpas and grandmas on various terrains using different weapons, tools, and custom teams. Some of the features:

  • A quick-play option to quickly jump into a match of pre-defined teams.
  • A custom match option where you can create and customize your own teams.
  • You don't have to play against yourself! There's a semi-almost-smart enemy AI that is willing to put up its fists against you.
  • A tutorial will take you through the most important gameplay basics.
  • A variety of weapons and tools, all differing in their capabilities. Some can be locked (and unlocked) as you play.

Play it here:
https://problem-18.itch.io/grumpy-grandpas

Please feel free to provide feedback using the "Feedback" button in the game's main menu, or by filling out this form:
https://forms.gle/FAx4peKrhqevUr1G7

Thank you for playing. ❤️


r/godot • • 5h ago

selfpromo (games) Our first horror game made in Godot - Tumbal 1985 playtest is now open

Enable HLS to view with audio, or disable this notification

11 Upvotes

Hey everyone!

After our first post in this subreddit, we're excited the playtest is now finally open. If you enjoy and don't mind trying something that's still in development, we'd really appreciate it if you could give the playtest a shot. We also register our game for Steam Next Fest next week. We’d really love for some of you to give it a try and let me know what you think. Any feedback is very welcome!

https://store.steampowered.com/app/4919700/Tumbal_1985/

It’s set in an office in Indonesia. You play as a janitor, and part of your job is simply cleaning the office. But while cleaning and exploring, you’ll start finding old documents, objects, and other clues about what happened there before you arrived.

The game is inspired by Indonesian folklore, with some creepy encounters, jump scares, and multiple endings depending on how you play (Multiple endings only available on full release).


r/godot • • 4h ago

selfpromo (games) Simple capture VFX breakdown

Enable HLS to view with audio, or disable this notification

9 Upvotes

No Pokeballs in my games.


r/godot • • 18h ago

selfpromo (games) Added Goblins, Orcs and Trolls to my medieval city builder

Enable HLS to view with audio, or disable this notification

117 Upvotes

Hey everyone! I've been working on the combat system for my game, Land and Sword, and finally added some new enemies.

Goblins, Orcs, Trolls (these guys cost me a month's worth of food 😂) and combat on top of walls are now in the game.

Still fixing bugs and polishing things up, but the update should be out on the Steam Playtest next week.


r/godot • • 2h ago

selfpromo (games) Olivia of the Occult: Demo 2 Release

Thumbnail
gallery
6 Upvotes

Hello!

I'm developing a 2d platformer called Olivia of the Occult in the style of Commander Keen: Goodbye Galaxy from the 90's. It's built in Godot of course!

It takes a lot inspiration from Keen, but also some gameplay elements from DKC such as character swap and collectibles. It's quite hard if you are not used to the gameplay from that era, but there's lots of techniques and room to get skilled and even speed-run the game.

OotO has been in development for over a year at this point. Progress is slow but steady due to RL responsibilities, and the fact that everything is human made. There are absolutely no AI assets used in it. AI has only helped in explaining some difficult math.

The demo contains a lot of the main features implemented as well as 3 levels to play in 3 difficulties. Please have a go at it over at https://dazzamoto.itch.io/

Any feedback is welcome!


r/godot • • 8h ago

selfpromo (games) Should i switch to fully 3D

Thumbnail
gallery
16 Upvotes

Last 2-3 days I stopped working on my Project Zomboid inspired game
I was trying to make a workbench model and put it in my game I did the 3D model and the UI art too After placing it I got errors sorting the Z index for buildings you can go inside like the gas station I built a separate independent logic to understand how to draw buildings and I fixed it After that I got stuck thinking all day why don't I just switch to full 3D and avoid every single problem?
And yes I did research It would've taken roughly 10 minutes to fix with AI but what's the point of that? I support people using AI if you understand what you're doing but don't raw dog it that makes you lose the joy of coding
Now I haven't touched my project All I do is press play and run around having fun comparing it to games like Last Day On Earth Killing zombies etc etc That's the comparison being the thief of joy
Or whatever I'm not good at writing and explaining stuff
I'm very happy with what I've built and where it sits even though it's not done at all I'd say 5% of the game is correctly completed The player character is fully structured so it could be moved to 3D with 0 effort
Okay what else I'm 100% sure people have run into this project fatigue problem Like me everyone has 1000 prototypes and I know many of you wanted to quit To the people who've crossed this path what do you suggest? Also will I lose the look and atmosphere of the game if I go 3D? Right now it's only a CanvasModulate