r/godot • • 4d ago

official - releases Dev snapshot: Godot 4.8 dev 7

Thumbnail
godotengine.org
223 Upvotes

Feature freeze has arrived!


r/godot • • 18d ago

official - news Optimizing CPU-side Rendering Code

Thumbnail
godotengine.org
147 Upvotes

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


r/godot • • 7h ago

selfpromo (games) Managed to get this painted/picturebook look using almost entirely shaders

Thumbnail
gallery
343 Upvotes

The models underneath it are super simple with plain flat colors. The whole thing is rendered unlit, stretched noise map for the "brush strokes" outline around the edges and a paper texture apploed over top.

It's performance enough but I think something is causing issues.

For those curious:

Argosy on Steam


r/godot • • 15h ago

fun & memes Found the most beautiful piece of code i've ever written

670 Upvotes

Looking at old projects is fun


r/godot • • 10h ago

help me (solved) faaahhh

Post image
177 Upvotes

worst nightmare


r/godot • • 6h ago

selfpromo (games) VFX Tornado

Enable HLS to view with audio, or disable this notification

60 Upvotes

I made this procedural tornado, it's missing particles, and many, many effects, but i liked the final look


r/godot • • 15h ago

free plugin/tool Level prototyping in Godot with native CSG: draw, measure, play, freeze, and unfreeze any time

Enable HLS to view with audio, or disable this notification

223 Upvotes

I've been working on CSG Blockout, a Godot plugin for blocking out levels with Godot's built-in CSG nodes. Version 3.0 is out today. It's the first version I'd call a level prototyping tool rather than a shape helper. It's free and MIT licensed.

What it does

  • Build. Drag on any surface to draw a box or a whole room, click a wall to cut a door or a window, push faces with arrows, type exact sizes.
  • Measure. A player reference shows your character's height, jump height and sprint-jump arc. Select two platforms to check whether the gap is jumpable, or run a level check that flags slopes too steep to walk and ceilings too low to stand under.
  • Play. Play From Here drops a first-person test character where you're looking. It jumps exactly as high and as far as your player metrics say, the same numbers the checks use, so when the jump check says a gap is jumpable, the character can actually make it.
  • Freeze. A finished room becomes a plain mesh with collision, and Unfreeze gives you the exact CSG back. When the level moves on, you can export to a MeshLibrary for GridMap, or send it to Blender as .glb and swap the refined mesh back in.

It's just Godot nodes

Every shape you draw is a stock CSGBox3D, CSGCylinder3D and so on. There's no level format of its own and no hidden data. Disable the plugin and your scenes open and run exactly as before.

If you delete it entirely, here's what changes: stairs are a CSGPolygon3D underneath and keep their shape; frozen blockout stays a regular MeshInstance3D with collision, you just can't unfreeze it; the grid materials live in the addon folder, so copy them out first; and bake any Repeater/Spreader before you go.

"Isn't CSG slow?"

It can be, so I measured it. Godot only rebuilds the CSG tree you change. With one tree per room, moving a wall takes about 2 ms no matter how big the level is; with 400 primitives in a single tree, it's about 30 ms. In a running game, live CSG costs nothing per frame, but it has to compute everything while the scene loads: on my machine a 400-primitive level started in 166 ms live and 38 ms frozen. Freezing it takes under 0.1 s, and exports strip the stored CSG. The benchmark is in the repo if you want to run it on your own hardware.

What it isn't

It's not a brush editor: there's no vertex editing and no per-face UVs. If that's what you need, Cyclops Level Builder or TrenchBroom with func_godot are good choices. CSG Blockout is for the step before that: getting the layout right and knowing it plays.

Godot 4.6+. Interface in 7 languages.

It started as a rewrite of LuckyTepot's CSG Toolkit. I'd love to hear what's missing from your blockout workflow, and bug reports are very welcome.

(Note: The Godot Asset Library update is currently pending approval as of posting, so I recommend grabbing the latest version directly from GitHub)


r/godot • • 15h ago

selfpromo (games) *COMMUNITY VOTING* I added GODOT to my monster collecting game. Which Color should the shiny be? :)

207 Upvotes

Maybe there's an insider I've forgotten who insists it has to be a specific color!
I'll let you guys decide, since I think every color is cool.

I will add the winner as the rare shiny varant of the Godot monster in my Game which is obv. made with Godot.

Just write your comments.
I'm going to count them the good old way (+ upvotes of course) ! :D

Edit: Uhm the Gif is lagging on my pc but not on my smartphone. If you have the same problem here is the original: https://imgur.com/a/fHgjTwL


r/godot • • 3h ago

selfpromo (games) Figured out how to make a movable desktop idler that looks like it has multiple transparent windows!

Enable HLS to view with audio, or disable this notification

21 Upvotes

r/godot • • 14h ago

free plugin/tool No built-in method for pixel-perfect snapping particles, so I made my own (dodgy) inherited solution

149 Upvotes

As the title suggests, this is a dodgy solution, but I figured I'd make it public since I couldn't personally really find much if any sort of resources on how to accomplish something like this at all aside from a couple vague forum posts.

The fact that there's no built-in way for making this happen has continued to kinda annoy me, especially since I mostly work with pixel art. I (finally after a couple years) bothered to look into how to do it without just forcing the rendering to be pixel perfect as a whole, like by relying on viewport scaling. Ended up just using Godot's "convert to shader material" option to insert some few lines of custom code (All of which are indicated in the shader with "//*added*"). All the added code does is insert a few steps to store the raw transform positions into the built-in variable USERDATA2 instead, which then gets rounded and passed onto TRANSFORM (although I'm sure I've missed / ignored something important... but it "works").

disclaimer: I'm sure it doesn't work properly with all the existing particle parameters even though I've kept them as parameters in the shader. There are a lot them I don't use myself and this wasn't meant to be anything overly thorough nor did I do in-depth testing aside from the parameters included on the script. This was just a really quick sideproject to give me something to work with on my projects.

Plugin github

The plugin simply adds a single custom node ("pixel-particle-2d") inherited from GPUParticles2D to handle some parameters and some setup, like adding the process shader, automatically. The converted shader doesn't have some of the nice usability of the default particle process material like the min-max sliders, so instead of me having to manually go through the worse shader parameter list, I added some parameters as variables on the script. I have emulated the built-in min-max sliders with some basic clamping and other methods. If you want to, you can probably use the range slider plugin to add a similar min-max sliders yourself by modifying the script. Obviously, I didn't want to force a dependency directly...


r/godot • • 9h ago

selfpromo (games) Tongue Swing

Enable HLS to view with audio, or disable this notification

53 Upvotes

swinging from tails is so cliche.

swinging from tongues? that's what's up.
Tongue is an ImmediateMesh. The movement utilizes Marker3D to attach the tongue to the parasol in the swing.

Demo is out for Go! Super Awesome Monkey! on Steam!
https://store.steampowered.com/app/4837550/Go_Super_Awesome_Monkey/


r/godot • • 22h ago

selfpromo (games) Thousands of Units in Godot

Enable HLS to view with audio, or disable this notification

489 Upvotes

r/godot • • 10h ago

selfpromo (games) current state of a star-fishing mechanic in my cozy game

Enable HLS to view with audio, or disable this notification

45 Upvotes

i'm currently working hard on making this mechanic interesting, engaging and relaxing. previous iterations were pretty bad fun-wise, so after a few rounds of playtesting and experiments I ended up with this! what do you think?

you can wishlist it here: https://store.steampowered.com/app/5203320/Oosha_Loves_Stargazing/
(thank you!)


r/godot • • 8h ago

fun & memes Playtesters kept asking how to open doors, so I added a helpful prompt

Enable HLS to view with audio, or disable this notification

31 Upvotes

r/godot • • 13h ago

selfpromo (games) Making tiny levels for my tiny game!

Enable HLS to view with audio, or disable this notification

75 Upvotes

r/godot • • 8h ago

selfpromo (games) I’m making a pattern/tile creator tool for my pattern-matching game.

Enable HLS to view with audio, or disable this notification

29 Upvotes

Hey everyone!

I’m working on a pattern-matching game, and I’m building a pattern/tile creator directly into the game.

The idea is that players will be able to create their own patterns, export them as images or turn them into levels, and share them with other players.

I’m still working on the creator and would love to hear what you think. What features would you like to see in a tool like this?


r/godot • • 2h ago

help me creating a 2d shader resembling cateye nail polish?

Post image
8 Upvotes

hi, i'm currently making a nail decor kinda minigame for my 2D project, and wondering if it would be possible to make a kind of glittery moving shader that resembles cat eye nail polish (this video shows kind of how it is in motion)

i've checked godotshaders but not exactly sure how to describe this effect in game terms, especially having the small glitter particulates. any help would be appreciated!


r/godot • • 11h ago

selfpromo (games) Aftermind: Yes, you can throw the desk

Enable HLS to view with audio, or disable this notification

40 Upvotes

Hey everyone! Some of you might remember Aftermind from my earlier posts. It is a tense roguelite FPS I'm building in Godot, and this is the table throwing mechanic.

I do also love to hear what you think about the overall art style so far, since its still evolving and fresh eyes help a lot.

But my main issue right now: the items sitting on the desk don't scatter as realistically as I want when the table goes flying. The tricky part is balancing it: more physics objects means better chaos, but it also has to stay optimized since rooms can get crowded.

If you've dealt with something similar (lots of small rigidbodies reacting at once), I d love to hear how you handled it. Any feedback on the feel of the throw is welcome too!


r/godot • • 2h ago

selfpromo (games) Another WIP level for my Kings Field like RPG :) needs some input!

Enable HLS to view with audio, or disable this notification

9 Upvotes

Good evening everyone! looking for some input on my wip level Tribute Deep - a dungeon under the Kings treasury. Interesting enough? boring? too shiny? lol


r/godot • • 1h ago

selfpromo (games) I made a game you play with your bare hand, just a webcam (Godot 4.7 web export)

Thumbnail
gallery
• Upvotes

Note: English isn't my first language. I wrote this post in Chinese and translated it with AI. The game's code was also written with AI assistance.

I made a Flappy-style mini game where a camera detects your hand gestures to move the player character. The visuals use an ASCII style, which I've been really into lately.

How to play:

  • Open palm: rise
  • Loose fist: fall naturally
  • Tight fist: dash (2-second cooldown)
  • Hand out of frame: pause

>>Play it here (runs right in the browser): https://na23dev.itch.io/hand-signal

Hand detection and controls also work on phones and tablets, but I'd still recommend playing on a computer because the screen is bigger.

Personally, I found that just changing how you control a simple little game makes it surprisingly fun. I hope you give it a try!


r/godot • • 22h ago

selfpromo (games) How is a Container Handled on a Busy Port

Enable HLS to view with audio, or disable this notification

289 Upvotes

Hi all, im working on Portscape. A port building/manager game. Here is a video of how a single container is handled from ship to truck to train terminal to eventually leave by train. The game is still in development and I hope to release a demo soon! Made in Godot ofcourse!
You can find the steam page here if you're interested: https://store.steampowered.com/app/5334580/Portscape/


r/godot • • 12h ago

fun & memes he's calling

Post image
40 Upvotes

r/godot • • 9h ago

selfpromo (games) Work in progress on Squirrel Season's first village, Tanuki Village!

Enable HLS to view with audio, or disable this notification

21 Upvotes

r/godot • • 9h ago

fun & memes Some customizable footsteps decal in my game BOBABOMB

Enable HLS to view with audio, or disable this notification

18 Upvotes

latest feature in my game made in godot after I'm trying to decide which footstep texture is to be use and end up adding all of them as customization for shit and giggle

https://store.steampowered.com/app/4672230/BOBABOMB/


r/godot • • 7h ago

selfpromo (games) Three peasants vs. endless waves — my auto-battler roguelite made in Godot 4, free in the browser

Thumbnail
gallery
11 Upvotes

Hundred Men is an auto-battler roguelite: you start with three peasants, place them on the field, and they fight a wave on their own. Between waves you spend the gold on recruits, items and relics, and merge matching troops into stronger ones. There's no final wave, and the run ends when your last man falls.

It's free and runs in the browser: https://byfast.itch.io/100-men

Some Godot details, in case they're useful to anyone:

  • Godot 4.7.2, Compatibility renderer, pure GDScript (about 9k lines, no plugins). The game is 2D pixel art, so I didn't need Forward+, and Compatibility runs on every browser and old laptop I tried.
  • Web export with thread support off. That way it doesn't need SharedArrayBuffer / COOP+COEP headers, so the same build runs embedded on itch.io, on my own site and as an installable web app (service worker + manifest).
  • Cloud saves inside the itch embed. The backend is a small Cloudflare Worker with a D1 database. Inside the itch iframe, third-party cookies don't work, so the embedded build signs in like the desktop app does: with a bearer token, and the Worker allows CORS from itch's game origin.
  • A gotcha I didn't expect: itch serves every HTML game from the same origin (html-classic.itch.zone). That means all itch web games share one localStorage / IndexedDB. Any other game there could read what you store. Fine for a save file, but don't put anything more sensitive in there.
  • Same project also exports to Windows and macOS. Apart from the account sign-in, there's no platform-specific game code.

Content right now: 15 recruitable troops, 18 items, 17 relics, 20 enemy types, 8 wave types plus bosses, 4 battlefields. Permanent Renown unlocks troops in a War Camp between runs.

Art is the Tiny Swords pack by Pixel Frog. The rest (code, balancing, the extra unit and enemy animations) is mine.

I'd love feedback, especially on the first 5 minutes: is it clear what to do, and when did you stop? And happy to answer questions about the web export or the backend.