Godot

7234 readers
4 users here now

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

!roguelikedev@programming.dev

Credits

founded 2 years ago
MODERATORS
126
 
 

This is my first high-effort project using godot, and besides the player animated sprite and movement system (based on a tutorial by HeartBeast!) all the pixel art, sfx, music, programming, etc. was done by me. This was made as part of a physics project about black holes and Einstein's theory of relativity and is partly based on the movie "Interstellar"

I am really proud of this and I think my pixel art has really improved! I really like how the dialogue boxes turned out and the music sounds pretty decent too. The decorations (grass, flowers, rocks) turned out really great as well!

here's the itch.io link: https://spenguin.itch.io/space-holes

and several screenshots of the game:

player on earth, grass and flowers, in front of saturn rocket

astronaut parkour through hot accretion disk material

astronaut is looking at the event horizon of the black hole

player is falling in black hole

question about the property of the singularity in the black hole

answer was correct!

player has become a string of atoms and is dead, captain is worried

127
128
 
 

godot-rust v0.3 brings type-safe signals to the table.
If you register a signal:

#[signal]
fn damage_taken(amount: i32);

you can now freely connect it with other Rust functions:

fn ready(&mut self) {
    // Connect signal to the method:
    self.signals().damage_taken().connect(Self::on_damage_taken);
    
    // Or to an ad-hoc closure:
    self.signals().damage_taken().connect(|amount| {
        println!("Damage taken: {}", amount);
    });
    
    // Or to a method of another object:
    let stats: Gd<Stats>;
    self.signals().damage_taken().connect_other(&stats, |stats, amount| {
        stats.update_total_damage(amount);
    });
}

Emitting is also type-safe:

self.signals().damage_taken().emit(42);

Furthermore, you can now await signals, effectively introducing async tasks:

godot::task::spawn(async move {
    godot_print!("Wait for damage to occur...");
    
    let (dmg,) = player.signals().damage_taken().to_future().await;
    godot_print!("Player took {dmg} damage.");
});

There are many other improvements, see devlog and feel free to ask me anything :)

Huge thanks to all the contributors who helped ship these features!

~this was originally posted by @bromeon@mastodon.gamedev.place the project author on reddit. I'm just maintaining some parts of the project.~

129
130
 
 

Hi everybody. Let's continue our series on modeling 3D scenes using shaders and raymarching technology. In the previous fourth part, we managed to render the scene from any position and at any angle, which is very useful in itself, but we were still rendering each object in the same monotonous color. This time, we'll fix that detail and rewrite our code so that we can assign a different material to each object.

131
 
 

Hi everyone! I think every shader developer has at some point found themselves in a situation where they needed to determine certain values in the fragment function, especially when the shader wasn't behaving as expected. The problem is that the shader runs on the GPU, so we don't have anything like an output console available. So, how can we solve that? There are some options, and I’ll demonstrate one of them in this tutorial.

132
133
 
 

Hi everyone! We've already had a spiral tunnel, a circular tunnel, and a triangular tunnel. How about trying a square or rectangular one this time, which could resemble a classic dungeon-style game? It's pretty simple, so let's get to it.

134
 
 

Many people asked for it, so I created and released a new product: 80 shaders from my collection, ready to use in any project. Plus bonuses. 😎

135
 
 

I won't be able to make it, sadly, but maybe someone here is interested and hadn't heard of it yet.

136
137
 
 

Hi everybody. You might remember that the fire effect created using particles in Godot 4 was one of the first tutorials I published on this channel. Since then, more than a year has passed, the Godot Engine has evolved a lot, and many things have changed in the editor as well, so the original video is no longer very usable with the latest version of Godot (currently 4.4). That's why I decided to create a new, up-to-date, and improved tutorial, which we're about to dive into.

138
139
 
 

Junkyard Space Agency is an upcoming co-op space agency simulator that the developer said is like a "scrappier, multiplayer version" of Kerbal Space Program. It's being made with Godot Engine

140
 
 

Hey everybody! Let's go back to two dimensions, and take a look at how to create the effect you're currently seeing in the background of this video. It's basically something like a kaleidoscope, for which we need a source image and parameters like the number of segments, or the rotation speed. So let's go ahead and program this shader.

141
142
143
144
 
 

Hey everyone! This time, we'll be playing with fire. It's not the first time I've created a fire shader, but back then, I used a noise texture and a curve as a parameter, which significantly simplified the whole process. Now, we'll try it without such tools and generate a candle flame, which, as always, will have plenty of parameters for further adjustments. So let's get to it.

145
 
 

A few days ago, I saw a post on Reddit that inspired me to create a new local multiplayer game for me and my friends. After some late-night coding sessions, I’m excited to share Horse Race: a chaotic, fast-paced game perfect for game nights (or even solo play).

How it works:

Each horse is assigned to a specific button: the button you press to join the race. Your button is your key to controlling your horse throughout the race:

Attacking Opponents: to attack an opponent, simply press your button when you're in front of them.

Changing Direction: to adjust your horse's direction, press and release your button.

I’d love for you to try it out and share your thoughts. Any feedback or suggestions are more than welcome. Let me know what you’d like to see added or improved.

Play embedded here: https://stesproject.itch.io/horse-race

Have fun!

146
147
148
149
 
 

Hey y'all, I'm here from reddit after getting falsely permanent banned and I'm wondering if the community is good?

150
 
 

Some objects sticks with each other when those use CharacterBody2D, and moves like those are sticking together.

So, what do I need to do to solve this issue?

view more: ‹ prev next ›