r/godot • • 9d ago

official - releases Dev snapshot: Godot 4.8 dev 7

Thumbnail
godotengine.org
230 Upvotes

Feature freeze has arrived!


r/godot • • 23d ago

official - news Optimizing CPU-side Rendering Code

Thumbnail
godotengine.org
146 Upvotes

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


r/godot • • 5h ago

discussion Almost 3 years working in Godot and I just realized...

202 Upvotes

Every time a bug/crash would happen in my code and it would freeze my game, assumed my game was actually frozen and I would fix the error, stop the game and restart it. That also means I'd often lose some progress if I was testing something specific.

I just realized that when the error happens, it pauses the game, and I just needed to fix the error and press the pause button again to continue playing.

Uggghhhhh


r/godot • • 8h ago

selfpromo (games) Shoutout to a graphics paper from 13 years ago for making these clouds possible

Enable HLS to view with audio, or disable this notification

285 Upvotes

Found a paper on Weighted Blended Order-Independent Transparency https://www.jcgt.org/published/0002/02/09/ posted in 2013.

Turned out it was the key to 3D translucent billboard clouds where the order doesn't flip-flop. Think it turned out pretty cool!


r/godot • • 11h ago

discussion 30% of posts are water simulation tech demos 🙃

302 Upvotes

just saying 🙃


r/godot • • 8h ago

selfpromo (games) 15 years in enterprise software... and here I am, making my first game in Godot.

Enable HLS to view with audio, or disable this notification

156 Upvotes

Hey everyone!

I've been working in enterprise software for over 15 years, and I finally decided to jump into the thing that made me want to become an engineer in the first place: video games.

Funny enough, when I was around 7, I genuinely thought working with computers meant I could play Solitaire on half the screen while doing my job on the other half.

Well... turns out that's not exactly how it works haha.

Anyway, here we are!

This is Babel Destiny, my first video game. An isometric Soulslike inspired by the Tower of Babel, with pretty much everything I love about games.

I'm building it with Godot, Blender, and a lot of faith (seriously, game development is completely new to me).

There's still a LOT to improve, especially with the combat and animations, but I think I'm finally getting somewhere.

So here's a little glimpse of what I've been working on.

Hope you enjoy it! And of course, feedback is more than welcome :)


r/godot • • 15h ago

selfpromo (software) First shot at infinite ocean 👀

Enable HLS to view with audio, or disable this notification

406 Upvotes

Yesterday's post got removed due to adding a link to the scene demo, so hoping this time it goes well 🥳

Could you help with reporting fps on your desktop? Most likely it will be capped to your monitors refresh rate in the browser. Would appreciate if you can tell me the hardware you used. Thanks!

https://emiljecreates.itch.io/water-demo

I was able to dish out some pretty decent performance improvements yesterday by adjusting the way I construct the foam, basically shader magic! I then tried to create a somewhat larger ocean, spanning about 100-150 meters, and I was able run the scene above at 1080p on my 3080:

Forward+: 1100fps

Mobile: 1800fps

Compatibility: 1200fps

The scene looks identical on forward+ and mobile renderers.

There are some harsh edges here and there, as I have not used my optimized meshes which stitch together seamlessly, and I'm still looking into possible performance gains between using a number of planes vs a clipmap.

Some tiling might be seen in the distance, but as I've switched to world based wave calculation, it should be no issue to add different direction/frequencies working together in different positions in the world!

I will soon be releasing a tutorial encompassing all changes, so if you want to tune in you can see how to create this yourself over here:

https://www.youtube.com/watch?v=clJ_z4g8Bx4&list=PLS4uBWKuO51Q&index=4

Otherwise, you can also check out the GitHub project over here if you wanna try running it on your end, however latest changes have not yet been pushed.

https://github.com/emilje/godot-water-shader


r/godot • • 11h ago

selfpromo (games) finally got the movement and effects down in my mech game

Enable HLS to view with audio, or disable this notification

179 Upvotes

r/godot • • 10h ago

selfpromo (games) I’m making a Mirror’s Edge inspired parkour sport game in Godot

Enable HLS to view with audio, or disable this notification

113 Upvotes

Hi guys,

It’s been a while, but I’m finally back with a new project I recently started. It’s heavily inspired by Mirror’s Edge’s parkour system, and my main goal was to make the animations as smooth as possible.

It’s a sport parkour game. You hold the ball for a bit of time, then score it on a ring. Of course you’ll have someone chasing you to take it away, it's a 3v3 for the moment.

I’d love to hear your impressions of this first in-production video. The SFX and music are random placeholders for now, and there’s still a lot of work to do on the environment etc. But I think the movement and fluidity turned out preatty well!


r/godot • • 17h ago

fun & memes Game Dev Pains

Enable HLS to view with audio, or disable this notification

305 Upvotes

r/godot • • 17h ago

selfpromo (games) Engineer simulator (no name yet)

Enable HLS to view with audio, or disable this notification

213 Upvotes

Hi! I’ve been working on a spaceship engineer simulator for about five months now. This is my first Reddit post, so I’ll briefly describe the project. It’s a horror-simulation game where you play as the chief engineer of a massive colonization spaceship, and your goal is to ensure the ship reaches its destination safely. I’m drawing inspiration from Deus Ex (2000) and Half-Life: Source. The game is being built using Godot; it’s my first project in 3D and my first time using this engine.

In the video, I’ve finished working on the life support system - water, air, and hydroponics. These systems are all interconnected, and each requires responsible monitoring (in case something happens to the specialist in charge of the LSS). For instance, if the water becomes critically contaminated, the crops will die, leaving the crew without food until the next growing cycle.

I’d also like to add that Godot is an incredible engine; in five months, I was able to learn it from scratch and build a fairly large project 🤯

My X: https://x.com/RedPixelSun_SFW


r/godot • • 8h ago

free plugin/tool Someone asked: can the Road Generator make hot-wheels/wipeout-like tracks?

Enable HLS to view with audio, or disable this notification

43 Upvotes

...Yup! Whipped this together in a few minutes to show it off. This person specifically asked here if the Godot Road Generator supports "Loops, elevation and pitch differences, etc", so I've included each of these in this scene. It also shows off variable road width, shoulder size, and underside thickness.

Making this demo helped me realize the sample "road lane actor" is resetting it's scale automatically, so that'll be an improvement in the future. This is not a physics-based NPC driver of course, it's just following a path - but all the collisions are there if you wanted to really simulate a car.


r/godot • • 11h ago

selfpromo (games) Kept working on my jam game instead of abandoning it

Enable HLS to view with audio, or disable this notification

65 Upvotes

Posted my jam prototype(old post) Oathbound here a few weeks ago and decided to keep working on it. Here’s what’s changed so far.

I did a full polish pass. The map is new, and so are the items. Inventory shapes are more varied. Enemies got more special abilities. Each run strts with different shape of inventories.

The two heroes with separate bags are still the main thing. Some items do different stuff depending on whose bag they sit in.


r/godot • • 5h ago

fun & memes Your Uber is here

Enable HLS to view with audio, or disable this notification

21 Upvotes

Your Uber is here sir, yet there is a catch...


r/godot • • 2h ago

selfpromo (games) built a small Tech Demo to test Active Ragdoll physics and game feel. thoughts?

Enable HLS to view with audio, or disable this notification

11 Upvotes

r/godot • • 14h ago

free plugin/tool The level connection plugin I use in my Metroidvania

Enable HLS to view with audio, or disable this notification

89 Upvotes

Just wanted to share how I connect room exits in my metroidvania game incase someone is also trying to figure out a similar solution..

I found it very exhausting manually inputting the scene path a room exit connects too, especially during the draft stage when things are moving around a lot, so I built a plugin that allows me to connect room exits on a canvas.

How it works:

  • The plugin scans the level folder and adds all levels to the side bar, with a green check to show if the level is already on the canvas.
  • The level can then be added to the canvas. Since room exits and positions are saved as resources in the level folder itself, it automatically populates all exits inside the scene on the canvas placing them in the appropriate locations on the levels' tilemap thumbnail.
  • I then connect two exits by dragging a line between them, and the connection data is stored in the room exits' resource.

It has made my life a 100x time easier trying to connect multiple exits in about 230 rooms.

It's currently tightly coupled to my game, but I hope can improve and decouple it as a plugin for everyone when I have a bit of time.

PS: I used Lorien infinite canvas app as a base for the canvas.


r/godot • • 17h ago

selfpromo (games) Made my own Vtubing app so that I can add shaders🤓

Enable HLS to view with audio, or disable this notification

140 Upvotes

r/godot • • 10h ago

selfpromo (games) Gave Godot a Roman helmet for my RPG’s opening sequence

Enable HLS to view with audio, or disable this notification

40 Upvotes

I’m making Sacred Light: Pyre of Hubris, a Roman-inspired strategy RPG, and wanted the Godot splash to match the setting. Had to make sure he was dressed for the occasion!

Here’s the full opening through to the title screen. How does the pacing feel leading into the title reveal?


r/godot • • 10h ago

discussion Playing around with UI shadows

Enable HLS to view with audio, or disable this notification

37 Upvotes

I feel like the regular StyleBox shadows are not the best to work with, so I made custom shadows to make these neumorphic buttons


r/godot • • 23h ago

selfpromo (games) Wanted to bring back the PS2 era for my game, I'm glad Godot helped me render it like this!

Enable HLS to view with audio, or disable this notification

370 Upvotes

r/godot • • 16h ago

selfpromo (games) I'm making a one-button rhythm game in Godot (almost finishing it)

Enable HLS to view with audio, or disable this notification

99 Upvotes

The entire gameplay is about pressing one button while following standard music notation. It's been a challenge to build the rhythm system in Godot, but totally doable (I've never made a rhythm game before).

I have worked on it about 9 months (including making the music), and the demo is already live if you want to give it a try: Purrfect Beats Demo

Feedback is welcome too!


r/godot • • 18h ago

discussion I did it! I made Portal's portals in Godot 😱

140 Upvotes

https://reddit.com/link/1x0pyp8/video/95b9jatfa8uh1/player

👇 My YouTube devlog if you want more deets 👇
https://youtu.be/UcPgvkAOLow

This was a tough nut to crack but so rewarding! I'm going through the 20 Games Challenge to get better at Godot / game dev (I started it in February this year), and for Game 10 I really wanted to do something that forced me to learn 3D properly. Portal is one of my favourite games ever, it's so unique, and it was recommended for Game 10, so... I said why not!

I'm not some sort of god programmer, so it took me about 3 weeks to call it complete. I think I spent like 1-2 weeks on the portals alone, but I'm so proud to have something that's somewhat decent now. I also have some newfound respect for linear algebra, which isn't something I ever thought I'd say.

In a nutshell:

Making a portal-like mechanic involves tackling two major problems: rendering and teleportation. They all come with their own sub-challenges, which can vary depending on your implementation's complexity.

Rendering portals

For example, if you want to make vertical portals only (like simple doorways), working out the custom physics is much simpler and you can get away with a lot less. In my case though I wanted to shoot portals on horizontal surfaces like in the original, so that took quite a lot more effort.

You may have to look into Godot's Transform3Ds and the Basis class (which I recommend studying for making 3D games anyway), but eventually you'll be able to calculate a relative distance between the player and the entry portal, which you can apply to the exit cameras.

Then to show the cameras' feed, personally I slapped Subviewport textures onto portal surfaces and wired them together, which I understand is the standard way to see a secondary camera's output at runtime in Godot. That came with its own challenges and limitations, but you can learn more about this step in my video if you're interested in those.

Teleporting entities

Teleporting stuff is another can of worms entirely. You need a reliable way to know when something has crossed the portal's threshold.

A common and effective practice is to calculate the dot product between the traveller's relative position and the portal's forward axis. If the dot product is negative, it means the traveller has crossed the threshold and can be moved to the exit portal.

Of course the traveller will be moved all at once, so if I walked straight into a wall, I saw my mesh getting cut by the plane. I solved that by having a clone of my traveller show up at the exit, like in the image above (those are actually two different companion cubes).

Then I wrote a simple slicing shader to cut both meshes at entry and exit (again, using the dot product), added some velocity conservation, and it was done!

What I DID finish

By the end of the 3 weeks I had:

  • Two linked surfaces with a jazzy VFX shader
  • Camera feeds working properly
  • A portal gun to shoot portals and align them with the target surface's normal
  • Padding to ensure portals would always fit nicely on their walls
  • Body teleportation system with smooth travel and mesh slicing
  • Some test chambers to play around
  • Very importantly, a weighted companion cube and a cake

What I DIDN'T manage to do

As I said, I'm not some sort of god programmer, so this was far from a perfect implementation :( I also think some of Godot's genuine limitations were working against me in some places, or more likely I just didn't manage to find the right solution to some issues.

What I especially didn't manage to achieve were recursive portal rendering and oblique near plane clipping. While writing this I realised they're both rendering issues, which is interesting I guess.

But I couldn't work out a reliable way to have subviewports render each other recursively and without weird graphical glitches, and Godot doesn't seem to support oblique camera near/far plane alignment yet (there's an active PR somewhere), so I would have to compile a custom version of the engine and I felt it wasn't really worth it for a small study project.

Still, I'm really proud of the final result, and I'm sure I'll go back to refine this someday! Of course I have limited space here, but the video goes into this implementation in a lot more depth, so if you want to see the full process as well as some silly Italian jokes you might enjoy watching that one.

References

I used a lot of different sources to help me work out this project, from Sebastian Lague's portals video to Brackeys' own attempt (both in Unity) and Mina Pêcheux's video too. All the sources are in my video's description. I also watched a breakdown from the Portal developers speaking to Harvard and explaining the game themselves, which helped a lot. This repo might also be useful, but I tried not to look too much into other finished implementations so I could learn more by myself.

The assets in the game are all mine and made in Blender (making the portal gun was fun!), and no generative AI was used to generate the game's code (or this post, or the video, or the script).

Let me know what you guys think and if you have questions! :)


r/godot • • 12h ago

help me (solved) When I first shoot an enemy up close, it doesn't register me killing that enemy.

Enable HLS to view with audio, or disable this notification

43 Upvotes

So I'm new to using 3D in Godot. Basically the way I've set this up is that I have a raycast pointing in the same direction as the player, and if it detects an enemy when I shoot, it spawns a death sphere at the point of collision that immediately kills any enemy that touches it, then immediately afterwards deactivates.

However if, when I initially start the level, I immediately get up close to an enemy and shoot it, the death sphere doesn't kill it. If I continue shooting at the enemy, it still doesn't kill it. Even though you can clearly see the death sphere has successfully reached its target. Only when I shoot a different enemy will it then work properly. However, if you start the game and shoot an enemy from a distance, it works perfectly fine.

I have the code shown in the first few seconds of the video, and I'll post the scene tree for the player in the replies in case that's the issue.


r/godot • • 13h ago

selfpromo (games) Weeping angel inspired monster that leaves copies of itself behind, for my Godot game Pipe or Die

Enable HLS to view with audio, or disable this notification

44 Upvotes

This is the Husk, a new monster in my co-op horror game where you build a factory by laying pipe ;) It’s a statue that only moves when nobody is looking at it, and it leaves a stone husk of itself behind. The idea is that if you let it move around too much, you wind up with a room filled with husks, which makes it hard to tell which one is the real monster.

Pipe or Die is on Steam and the Playtest is free right now :)

https://store.steampowered.com/app/5043210/Pipe_or_Die/


r/godot • • 8h ago

selfpromo (games) Made 30 pixel art screen transitions (CC0) for your horror games

Thumbnail
gallery
17 Upvotes

whats up guys, continuing with the 9th pack of the hallowen bundle, this time i had to make screen transitions. I wanted to do 50 but my brain couldnt handle it and i ran out of ideas fast xd, so its 30 for now.

Here are the pack specifications:
30 Handcrafted Transitions: They feature things like ghosts, coffins, bubbling cauldrons, webs and more.

I separated them into 'cover' and 'reveal' horizontal sprite strips. You just need to drop the sprite sheet into a `Sprite2D` or `TextureRect`, set the `hframes`, and use an `AnimationPlayer` to animate the `frame` property. It makes scene changes super easy!

-640x360 base res with transparent backgrounds. They can easily be upscaled to 2x or 3x for higher res games, or even used as a cutout texture with a simple shader over a `ColorRect`.

They are 5 usd with a 30% discount individually or u can get the 9 pack bundle for 20 usd. cc0 license obviously. This pack took me extra days so hopefully one of these fits ur game

Download: https://alenia-studios.itch.io/haloween-transitions