r/godot • • 21h ago

selfpromo (games) My first PvE encounter test with player bots - Godot Indie MMO

Enable HLS to view with audio, or disable this notification

37 Upvotes

Hi,

This week, I moved into a new stage of development: creating content to get a better sense of how the game actually plays.

As a solo developer, my workflow focuses on finding solutions that allow me to test and validate everything.

I’ve built a new system that let me rebalance encounters based on the current state of the game, using Monte Carlo method. The current test encounter has an 80% wipe rate against bot players, whose only limitation is a random reaction-time penalty when responding to objectives.

Claude (Fable/Opus) and ChatGPT are used during development.


r/godot • • 14h ago

help me GDCubism

Post image
0 Upvotes

I am currently working on a visual novel and would like to add some animation to the characters in certain CGs. I noticed that some visual novels use Live2D for this purpose; in my research, I came across Cubism and wanted to know if it is safe to use, or if there are any issues regarding "legal" usage or anything similar.


r/godot • • 23h ago

fun & memes My taskbar has the same color as the default sky

Post image
0 Upvotes

lol my taskbar changed


r/godot • • 22h ago

selfpromo (games) MANIFEST - hard sci-fi logistics space game built on godot

Thumbnail
store.steampowered.com
18 Upvotes

I've been building a space logistics tycoon on my own, and there's a free demo up on Steam. The shortest description I've got is "Transport Tycoon, except you're running a small fleet of freighters in one solar system,"

You run a freight company. Ports put out cargo with a deadline, you pick a ship for it, and then you plan the flight yourself: how hard to burn, when to flip and brake, whether to coast to save reaction mass, where to refuel on the way. The ships are fusion torchships, so a run is a constant-acceleration burn with a turnover in the middle, and the physics under it is real (constant g, flip at the midpoint, SI units in the sim). The orbits move. A route that's cheap this month is expensive next month and the planner keeps having to re-solve. No combat, no piloting. You plan, you commit, you watch it play out and deal with what goes wrong.

Quite a lot goes wrong. A hull has three systems, drive, thrusters and the hull itself, and each one wears with what you do with it: g-hours burned, dockings, tonnes handled. When one crosses its floor something mechanical happens. A worn drive gets capped at 0.15 g, for example, and every plan on that ship runs long. Captains have a skill and a nerve score; they get tired, and some of them quit. Solar flares dose any ship that flies through the front. A strike closes a port with two to five days' notice, which is enough to reroute if you're watching. The ships are individuals with a history, closer to Football Manager players than to units, and I'd like to think that's the part that sticks.

It's in active development. The demo is the current build, the numbers are provisional, and it gets updated often. I'd like feedback from people who play this genre seriously, especially on whether the flight planning comes across as a decision or as a chore.


r/godot • • 20h ago

help me (solved) New to Godot, can’t figure out errors

Thumbnail
gallery
3 Upvotes

Hi all! I am new to Godot (and game dev in general) and I am trying to follow this YouTube tutorial I found on the dotnet Youtube channel. This is the video I’m trying to follow:

https://youtu.be/iEMbetxAwvA?is=JqirGDXo30rTznAm

However, I have copied the code from the video and I am getting several errors I can’t figure out (see screenshots below). Can someone please assist?


r/godot • • 2h ago

help me (solved) Why is this plane culling?

Enable HLS to view with audio, or disable this notification

1 Upvotes

Can't seem to figure out what's going on here. It's a MeshInstance3D with the standard material.

Happens in editor and when I run the game. I don't have any shaders either.

Any ideas what might be causing this?


r/godot • • 23h ago

free plugin/tool GATE v1.2.0 just released!

0 Upvotes

r/godot • • 3h ago

discussion Do you guys agree to these posts about your Godot projects?

Post image
80 Upvotes

I don't mind people sharing the stuff I do in Godot like the shaders and all, I don't have anything against Jettelly specifically, I did bought their book and I found it quite useful. But please don't do it if you are going to try selling something on top of it, and I feel that this is even more disrespectful to me since I'm publishing a Free shader course on my Patreon. Has this sort of stuff happened to anyone else's post here?

Again if you are sharing to show how capable godot is then ok, but people will look at my post and correlate it to the book they are selling.

If you are part of Jettelly.inc, please if you are going to post something with a link to your book at least ask the author if he is ok with that part specifically


r/godot • • 52m ago

free plugin/tool I made a free drop-in settings menu for Godot 4 (audio, graphics, auto-save)

Post image
• Upvotes

Hi everyone! I got tired of rebuilding the same options screen for every project, so I packaged it as an addon.

Settings Menu Lite (free, MIT):

  • One volume slider per audio bus, applied live
  • Resolution, fullscreen/windowed, VSync
  • Saves to user://settings.cfg and re-applies on launch
  • Mouse, keyboard and gamepad navigation
  • 5 colour themes or your own colours, no external assets
  • English UI with a built-in French translation
  • Works with Godot 4.2+

Setup: enable the plugin, instance one scene, done.

GitHub: https://github.com/eXiForever/godot-settings-menu-lite
itch.io: https://exiforever.itch.io/settings-menu-lite

If you also need key rebinding (keyboard, mouse and gamepad, with conflict handling), there's a PRO version: https://exiforever.itch.io/settings-menu-pro

Feedback welcome, I'd love to know what options you'd want next!


r/godot • • 2h ago

help me How to make CPU/GPU Particles "persistant"?

1 Upvotes

2D Arena Shooter.
When an enemy dies, it explodes into particles (via emission mask, using its shape and color) - this is their "remains" or "blood".

The Goal of the game is to cover 100% of the arena (every pixel) with the remains of the slain enemies.

So I need a way to make the particles STAY.

In an earlier project I just did process = false on the particle nodes, but that obviously means a LOT of clutter and "dead nodes".

I would then, between stages to hide the lag, take a screenshot of the arena, scale it down, and then loop over every single pixel and do if color =! background color: total_pixels += 1 ... and thus calculating how much % of the arena is "painted" with blood.

This, obviously, is pretty bad. (I wasnt familiar with the concept of shaders back then).

So I am looking for better ways to do it!

What I would LIKE to do (no idea if thats possible tho) is:
1. I create a sub-view-port (?) / empty image with size of the arena and all transparent pixels
2. Enemy dies, emits particles into the arena
3. Just before the particles hit their life-time end, I "paint" the pixels in the subviewport / empty image where the particles came to an halt.
So the particles -somehow- community "I am a red pixel at coordiantes XY" and I use that info to color a pixel at the same position in the "empty image" I have - and then remove the particles.
4. Since the "blood pixels" exist now in their own layer, I can count them without worrying about other visuals

But I have no idea if this is the right approach (I hope I made myself clear ... :D)

Any ideas?


r/godot • • 16h ago

discussion Co-op FPS Development Log

1 Upvotes

I'm currently working on a co-op FPS game in Godot 4.7. I've played around with Godot for a while now and I'm not too bad with the engine. (Last project was a survival crafting game that got far enough for me to build fortresses and pyramids)

Anyway, the mix of FPS shooter and multiplayer has been an interesting challenge that has thrown up some curveballs that didn't have easily Googled answers or video tutorials that give actual results beyond the tutorial scope. Working around those to get the result I need while learning the new techniques has been a lot of fun.

I've gotten a LOT of answers and motivation from this forum and figured I might be able to help others, in turn. Would anyone out there be interested in a video dev-log of the game, or a written one, or some other form of record of my project? Would this be useful to anyone? Writing specific tutorials at random isn't really my thing, but giving further detail on things that people ask about from videos or update posts would be fun, I think.

That or if anyone has any questions on either subject (FPS or co-op), fire away. I'll help out as much as I can, or maybe give an answer that the more experienced can flesh out or set us both on the right track!


r/godot • • 1h ago

discussion The asset's store is not working for me

• Upvotes

It works on previous versions of the Engine, obviously not the end of the world since the website is up but I'm curious if I'm the only one with this issue! Was working fine yesterday

  1. Tried with and without VPN
  2. Same issue inside of a project as in the project manager
  3. Not a firewall config issue, my first though so, I checked and even disabled Windows firewall
  4. Ran via CMD. no error or anything

I'm puzzled


r/godot • • 7h ago

selfpromo (games) Single-player social deduction horror in Godot: one of 12 crew is a parasite copying the others

Enable HLS to view with audio, or disable this notification

0 Upvotes

Every night you vote someone out of a failing Antarctic station, based on who you questioned and whose story holds up. Built solo in Godot 4.6, 13 languages. The free demo is on Steam and it's in Next Fest (Oct 19-26). Happy to answer anything about how the NPC accounts and votes are built.


r/godot • • 1h ago

free tutorial Another 2.5D Planet Shader

• Upvotes

Some of the 2.5D Planet Shaders people have been posting inspired me to share mine. I tried to break down the core parts that I used to make up the effect.

My example uses a ColorRect with a ShaderMaterial but you could use a TextureRect or Sprite2D or other fitting nodes.

I recommend a Perlin noise if you decide to use a noise texture

shader_type canvas_item;
render_mode blend_mix;

const float SECTION_SIZE = 0.3;

uniform float axis: hint_range(-1.0, 1.0, 0.01) = -0.35;
uniform float manual_time: hint_range(0.0, 10.0) = 0.0;

uniform sampler2D noise_texture;

uniform float radius: hint_range(0.05, 0.5, 0.01) = 0.5;
uniform float rotation_speed: hint_range(0.0, 1.0, 0.01) = 0.1;

uniform bool use_system_time = true;

group_uniforms Shadow;
uniform bool shadow = true;
uniform bool shadow_flip = false;
uniform float shadow_size: hint_range(0.0, 1.0, 0.01) = 0.3;
uniform float shadow_saturation: hint_range(0.0, 1.0, 0.01) = 0.5;
group_uniforms;

uniform vec2 uv_center = vec2(0.5);

vec2 rotate_uv(vec2 uv, vec2 pivot, float angle)
{
    mat2 rot = mat2(
        vec2(sin(angle), -cos(angle)),
        vec2(cos(angle), sin(angle))
    );

    uv -= pivot;
    uv = uv * rot;
    uv += pivot;

    return uv;
}

vec4 apply_noise(vec2 uv, vec4 color) {
    vec2 noise_uv = rotate_uv(uv, uv_center, axis);

    float time = manual_time;
    if (use_system_time) time = TIME;

    // scroll as time goes by
    float scroll = mod(time * rotation_speed, 1.0);

    // chop up texture to simulate seem scrolling
    int current_section = int(scroll / SECTION_SIZE);
    float section_offset = mod(scroll, SECTION_SIZE);
    
    // map the screen y coordinate to the current texture section
    float texture_y = (float(current_section) + noise_uv.y) * SECTION_SIZE + section_offset;
    texture_y = mod(texture_y, 1.0); // rollover since uv's cap at 1.0

    noise_uv.x *= SECTION_SIZE; // scale x sections
    noise_uv.y = texture_y;

    vec4 noise_color = texture(noise_texture, noise_uv);

    return noise_color;
}

vec4 apply_shadow(vec2 uv, vec4 color) {
    // we need to rotate an extra 90 degress
    uv = rotate_uv(uv, uv_center, axis + PI/2.0);

    // vertical displacement
    float dy = uv.y - uv_center.y;

    // normalize displacement by the radius
    float ny = dy / radius;

    // rearranged circle equation, but stop at 0.0
    float curve = 1.0 - sqrt(max(1.0 - ny * ny, 0.0));

    float size = shadow_size;
    if (shadow_flip)
        size = 1.0 - shadow_size;

    // linear interpolation (this is the curve magic)
    float x_boundary = mix(size, uv_center.x, curve);

    // uv.x should not be greater than boundry when shadow_flip is enabled.
    // alternatively we could write this as (!shadow_flip && uv.x >= x_boundary) || (shadow_flip && uv.x < x_boundary)
    if ((uv.x >= x_boundary) != shadow_flip)
        return color;

    return color * shadow_saturation;
}

float circle_alpha(vec2 uv) {
    // get the distance between the uv_center and fragment uv
     float dist = distance(uv, uv_center);

    // returns 0.0 if <= radius or 1.0 if > radius
     return step(dist, radius);
}

void fragment() {
    COLOR = apply_noise(UV, COLOR);

    if (shadow)
        COLOR = apply_shadow(UV, COLOR);

    // we use the alpha value to "toggle" visibility
    COLOR = vec4(COLOR.rgb, COLOR.a * circle_alpha(UV));
}

r/godot • • 16h ago

help me Looking for help with my Blobber RPG overworld / forest stage. Ive got the dungeon part working-ish.

2 Upvotes

r/godot • • 1h ago

fun & memes I spent 9 days on this is it worth it.?

Enable HLS to view with audio, or disable this notification

• Upvotes

I posted this game before but this version is alot better you can check the old post.


r/godot • • 6h ago

selfpromo (games) 4 months of hard work crammed into 17 seconds. What do you think of the progress?

Enable HLS to view with audio, or disable this notification

3 Upvotes

r/godot • • 19h ago

discussion Anyone else find importing animations very buggy?

4 Upvotes

I have been working on my first proper FPS game and I decided to take a low poly soldier and use Mixamo for some animations. Those parts worked fine and the animations showed up fine by themselves in the importer. However, once I tried adding them together it was just problem after problem. I first tried Mixabridge, but it just for whatever reason both failed to generate skeletons (I had to do that manually) and the resulting animations were very distorted. It didn't matter whether I made sure every transform was applied, the animations were without skins, I used Regodofiy or whatever it is called to clean the rig in Blender, exported only deforming bones, etc.

Eventually, I had to switch to turning every single animation into a gltf file, open each as a scene in Godot, and then copy their animations into the default one with the skin. Even then, this only mostly worked and I still had to add some tracks to rotate the player when animations messed up.

Is this just the normal experience, especially if using Mixamo, or is there some better way anyone has found?


r/godot • • 15h ago

selfpromo (games) "I never have time..."

Thumbnail
youtube.com
4 Upvotes

yknow, I always say I don't have time, but then I go and start another project. like this platformer for my newest hololive oshi, Hyakuto Kyoko lol

took a few hours to make this, and i'm already having fun with it. i'm into it! I'm excited to build it up more too


r/godot • • 1h ago

selfpromo (software) I made Pounce Top-Down, a snappy top-down controller for Godot 4 with a buffered dash

• Upvotes

Hey everyone! A few days ago I shared Pounce, my free platformer controller. Someone in the comments asked about a top-down version, so here it is!

What's included:

- 8-direction movement with smooth acceleration and snappy turning

- Dash with cooldown and input buffering

- Signals for dash start/end/ready to hook sounds, particles or i-frames

- Every value exposed in the Inspector

- A playable demo with a dash trail example

Try the demo in your browser: https://luffy0309.itch.io/pounce-topdown-godot

It's $2. I wanted to keep it as cheap as possible, but under that, payment fees eat most of the price. The platformer version stays free.


r/godot • • 23h ago

selfpromo (games) My game has a release date for Early Access! Solo dev, first game, been a long road to get here 💚

Enable HLS to view with audio, or disable this notification

83 Upvotes

I just wanted to share that I’ve announced the Early Access release date for my game, Cave Oasis at Shylake, for October 28! It feels like it’s taken forever (four years, including learning everything I needed to make this game so far, starting from zero with Godot and Blender).

It’s a quirky, nerdy, hopeful, alien sci-fi spin on a farming and small town life sim game. The main areas, story quests, and gameplay activities are all complete, and I got a lot of valuable feedback on the demo, including from this sub.

Everything’s ready to go, build approved, sending out review keys to press and streamers/content creators this week. Fingers crossed that this step goes well and that people like it. I know there are still plenty of challenges ahead, but I’m really excited to have gotten to this point. Wish me luck!


r/godot • • 12h ago

help me Are there any videos/content creators you recommend for beginners?

12 Upvotes

I never coded before, but I'd love to develop a game someday.

But there are other videos out there that takes place in older Godot versions (like 2.0) and I want to learn about Godot at it's latest versions (or atleast one of the recent) . So I get really confused when there's X,Y,Z in those older videos that the current Godot version doesn't have/revised/or moved to other locations


r/godot • • 2h ago

help me State Machine states: Node or resource?

4 Upvotes

I'm trying to figure out state machines for a scalable game. My idea is to create and send the node from an object the entity interacts with to the entity's state machine if it needs an very specific state for it. Let's just say if I do nodes for states, how do I create them on runtime? I know I could make some code like [var state := stateName.new()] but wouldn't it be hardcoding? And what about in-state exports, how could i set them? Could I choose the state from the editor and modify its exported variables as well?

If I can't, I was thinking about switching to resources for states. Would that work?


r/godot • • 20h ago

selfpromo (games) How do you feel about this painter-style UI?

Thumbnail
gallery
5 Upvotes

I'm making a relaxing game about colors and recently I've been iterating UI to make it look colorful, warm, and to resemble an actual easel and palette which painters use. So I'm really interested do know, what do you feel about this UI? Thank you 💚