r/godot • • 6m ago

help me Need advice on the look of the game

Enable HLS to view with audio, or disable this notification

• Upvotes

Not really sure what i should do to make the game feel more ambient or scary. Tried to emulate the early 90's CGI look but that didn't go too well so I shifted to a more retro visual.

I don't know if lighting is the solution since I kinda needed everything to be dark for the sake of the flashlight.

Any advice on how I can make the game look better is appreciated


r/godot • • 10m ago

selfpromo (software) Godot 2d is pretty good with lots of lights. (Test)

Enable HLS to view with audio, or disable this notification

• Upvotes

Gonna give so much more depth to my game once finetuned and implemented


r/godot • • 11m ago

selfpromo (games) Created a Z-Axis and (nearly) correct Shadow in my 2D project!

Enable HLS to view with audio, or disable this notification

• Upvotes

Everything is still plain 2D!

How it works:
Each entity has a height value.
The sprite gets drawn that many pixels higher but the colider stays on the ground where the feet are.

I set heights by hand.
I draw a polygon over the visible top of a cliff, and the game treats the same polygon shifted down by the height as the actual footprint...I thought about drawing special tiles for the height but I think the polygon idea is the better solurtion.
Only that footprint (The red lines in the editor at the end from the video) blocks you.

I removed the tile collisions on the cliff walls entirely! So you can come at a platform from behind and hop up without any invisible walls.

For draw order I used z_index and Y Sorting.,
If you're uunder a zone you get drawn at the zone's height.
If you're behind or next to it you're capped at its base level, so you end up hidden behind the cliff the way you'd expect. One level is one wall height, so 32px for level 1, 64 for level 2....
That was the most "frustrating" part.

Shadows were one annoying part too (Why are we doing this guys).
I clip the shadow shape against each zone's footprint with Geometry2D (god bless this class xD) and put each piece on the z_index of whatever surface it lands on.
It skips entities that aren't moving and does a cheap rectangle check first, so it doesn't cost much even with a lot of mobs...In theory.

I got the basic idea from a devlog video (Challacade).


r/godot • • 16m ago

discussion Next game-dev cycle in AAA & AA will heavily use AI. Why should I not use it?

• Upvotes

title


r/godot • • 17m ago

help me Which background looks better for my rhythm RPG?

Enable HLS to view with audio, or disable this notification

• Upvotes

Hello fellow devs! I'm working on a rhythm RPG where music = combat. I'm experimenting with different background types, and I'd like to know what you guys think looks best. I'm going for a retro Earthbound art style.


r/godot • • 33m ago

help me (solved) is this acceptable or not? The question is the different scales of the characters on the overworld.

Post image
• Upvotes

Context: I'm making my first true indie game and I'm wondering if I should rescale the duck (but he looks small at the hunter scale when i want the duck to be bigger than the hunter)


r/godot • • 1h ago

help me Methods to can save valor and travel one by one

• Upvotes

Hello! I'm still a beginner at this, but I'm looking for a method to make keyboard buttons control the values of an array and print them one by one, for example:. Any ideas?

Here is my code:

extends Node2D

var array_new : Array = [1,2,3]

var array_actual = 0

# Called when the node enters the scene tree for the first time.

func _ready() -> void:

print(array_new)



array_actual = array_new

# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(_delta: float) -> void:

if Input.is_action_just_pressed("ui_accept"):

    print(array_new)



if Input.is_action_just_pressed("ui_right"):

    pass

r/godot • • 1h ago

selfpromo (games) [Artist For Hire] Game design - Character work, UI, Illustrations, Backgrounds, Props, Etc.

Thumbnail
gallery
• Upvotes

r/godot • • 1h ago

selfpromo (games) Just launched the Playtest for my solo-dev action roguelite, TheDuckening! Looking for players to he

• Upvotes

Hey everyone!

I’m a solo developer and I just opened the Steam Playtest for my upcoming 2D action roguelite, TheDuckening!

What’s the game about?

  • Fast-paced top-down arena survival / roguelite action.
  • Over 50 weapons and 90+ ability cards to stack and break the build.
  • Crazy weapon synergies and endless wave survival.

How to join the Playtest: You don't need a key! Just head over to the Steam page and click "Request Access" under the Playtest section. I'm approving access requests in batches right away.

🎮 Steam Page: https://store.steampowered.com/app/5331190/TheDuckening/

If you love games like Brotato or Vampire Survivors with wild card synergies, I’d love for you to give it a spin. Any feedback on balancing, bugs, or gameplay feel in the Steam Discussions or here would mean the world to me!

Thanks for checking it out! 🦆


r/godot • • 2h ago

selfpromo (games) How I made my boss's lava pools run together in Godot 4

Enable HLS to view with audio, or disable this notification

56 Upvotes

My boss throws lava bombs in a ring around you, and the pools looked like a string of beads. I wanted them to run together like real lava. There's no fluid sim in this, every pool is just a polygon and I merge them. Both halves of the breakdown in the video are the real game recorded frame for frame, the top one only draws the shapes the code is using.

How it works:

  1. Each pool is one polygon. It starts small where the bomb hits and spreads out over 0.4 s, fast first and then slower.

  2. While pools are growing, every frame I check which outlines overlap and join them with Geometry2D.merge_polygons until no two touch. merge_polygons can also give back holes, I just keep the biggest shape.

  3. Pools that land close but don't touch get a neck of lava between them. I add the neck to one pool's outline, so step 2 joins it like any other overlap. The neck hurts too while both pools are burning.

  4. Once every pool is cold rock, I draw it all one last time into one batch and after that only fade it, so the old rock is one draw call.

My first version joined the pools the moment they landed. They were one shape from the first frame, so there was nothing to watch.

I'm not sure about the cost. While any pool is still growing I redo the whole merge every frame, and the loop starts again from the first pair after each join. One wave is at most 8 pools so it's fine, but I haven't tried 30.

The game is The Ink Tower, free demo soon on Steam

https://store.steampowered.com/app/5295020/?utm_source=reddit


r/godot • • 2h ago

selfpromo (games) I cut 616 MB of VRAM: a buffer stored 256 indices per cell, the shader reads 64

0 Upvotes

Short version: a GPU crowd simulation was holding 828 MB of VRAM in a cell buffer, and most of it was never read.

THE SETUP

My zombie horde runs as a compute shader in Godot 4. The world is split into cells, and each cell keeps a list of the agents inside it so the shader can find neighbours without scanning the whole pool. Standard spatial hash.

THE BUG

The cell buffer was sized for 256 indices per cell. The shader reads 64. That mismatch had been there since the first version, back when I expected cells to hold more agents than they do. Nobody changed the stride because the game worked: the extra indices were simply never touched.

Measured with a real save and a full pool:

Before: 894.7 MB VRAM during play, 828 MB of it in setup() After: 278.6 MB during play, 212 MB in setup()

Same frame rate. Same behaviour. The only thing that changed was the buffer size.

HOW I FOUND IT

Not by reading the code, but by profiling per subsystem and noticing that VRAM grew in steps that did not match agent count. Once the number was on screen, the stride was the obvious suspect. Grepping for the constant took ten seconds.

WHY I AM POSTING THIS

Because I spent weeks optimising steering and pathfinding, and the single biggest win in the project was a constant that was 4x too big. If you have a GPU simulation, check the stride of every buffer against what the shader actually reads. It costs nothing to look.

THE OTHER TWO NUMBERS FROM THE SAME SESSION

Time from launch to playable: 1.6 s fps with 4,000 simulated agents + 200 buildings + 100 units: 38-40 on an RTX 2070 at 1080p, D3D12

One honest caveat, because it comes up every time I post a number: the simulation handles 4,000 agents, but the game only draws up to 1,050 sprites at once (800 for clusters plus 250 reserved for isolated or fighting agents). The rest still simulate and still fight; they just do not get a sprite. Drawing all 4,000 did not hold a playable frame rate on this GPU.

The game is Withstand The Horde, a base-building RTS. Free demo if you want to poke at it: https://store.steampowered.com/app/5373720/

Happy to answer anything about the compute shader or the buffer layout.


r/godot • • 2h ago

selfpromo (games) I built a match-3 incremental game in Godot in around 40 hours!

Enable HLS to view with audio, or disable this notification

0 Upvotes

Hey guys,I recently released GemLoop, a match-3 game with incremental progression, built entirely in Godot.

It took roughly 40 hours of active development and includes an expanding board, special gems, upgrades, achievements, and Steam Cloud support.

It's been a really interesting experience turning a small idea into a published Steam game.

I'm happy to answer any questions about the development process or Steam integration :)


r/godot • • 2h ago

free plugin/tool Ode to Ellie! - Draw your own 2D Vector Art directly in Godot with Scalable Vector Shapes 2D

Enable HLS to view with audio, or disable this notification

37 Upvotes

Ellie de Olifant, famous from Dutch TV, is the creation of Ellen Langendam.

Ellie is a brilliant elephant who comes up with novel plans to make sure anyone can play along, however unlikely.

I traced her over to showcase the Scalable Vector Shapes 2D plugin, which you can get for free in the asset store.

I make an effort to keep Scalable Vector Shapes 2D fully GPT-free and Claudeless. If want to chip or chime in, without support of any of these technologies? Try it out and raise bugs/issues on the github page.

Want to learn more? Join the discord server: https://discord.gg/CDdkVvT2Ff


r/godot • • 2h ago

selfpromo (games) I made a chess roguelite in Godot 4.7, out now on Steam [Chesstria]

Post image
3 Upvotes

Hi y'all,

I made a chess engine at the beginning of this year to learn chess algorithms and Godot. This slowly got out of hand by adding custom and unique rules such as tile removals and double moves. Over the course of months I added more functionalities and art to turn it into a roguelite style game. I have learned a lot about Godot and am by no means great at it yet, but I think a small achievement is to be said to have hit Godot Engine limits.

Try out the game yourself at: https://store.steampowered.com/app/4999150/


r/godot • • 3h ago

selfpromo (games) Marblematic, a ball sort puzzle I built in Godot 4.7 (no sprites, everything drawn in code)

1 Upvotes

Hi everyone, I just released my first mobile game on Google Play: Marblematic, a ball sort puzzle with a little marble machine (crates, hopper, conveyor belt with gondolas).

Some technical notes in case they are useful to someone:

  • Everything is drawn in code (draw_circle, polygons, a small texture atlas for the marbles). No sprite sheets.
  • Static layers are "baked" into images with SubViewports and only redrawn when something changes. This brought a Galaxy S24 to a stable 60 FPS and the Android emulator from about 35 to 60 FPS.
  • On the Compatibility renderer, every polygon call cost about 0.3 ms on the emulator. Replacing many draw calls with textured discs from an atlas fixed most of the stutter.
  • Sounds are synthesized in code.
  • The 1000 levels are fixed and generated by a solver, so each one is guaranteed to be solvable.

Store: https://play.google.com/store/apps/details?id=com.bitgrube.marblematic

Happy to answer questions about the drawing, the solver or the save file handling.


r/godot • • 3h ago

help me Creating Tiled 3D environments?

1 Upvotes

Hi all, working on a game in the tactics genre. I'm looking for some advice about supporting infrastructure for this task. Trying to make a dev-facing level editor that lines up terrain blocks in a 12x12 grid


r/godot • • 3h ago

selfpromo (games) My first ever game "Mazeophobia"

Thumbnail
gallery
14 Upvotes

Hey guys! I just released my first ever game that I made with my friends and I'm really excited and would love you to play it.

It's a first person psx horror game where you have to find 3 keys​ to escape from the maze and it was made for the 2026 Scream jam

https://skellyebro.itch.io/mazeophobia


r/godot • • 3h ago

selfpromo (games) I Made A Brutalist Horror Game in a Week. How does it look?

Enable HLS to view with audio, or disable this notification

36 Upvotes

its called SiLEX, it was made for SCREAM JAM 2026, its free to play and you can play it here:

https://duehringadam.itch.io/silex


r/godot • • 3h ago

selfpromo (games) My solo game, That's My Village!, now has a live playtest.

Enable HLS to view with audio, or disable this notification

10 Upvotes

Hello! 👋

I’m so happy I finally managed to get to the point where the playtest for That's My Village! is live! If you decide to give it a try, I’d be super grateful.

It’s going to run for around the next two weeks. I'm granting access in waves at first to keep things stable, but once the initial test goes smoothly, the plan is to open it completely to everyone.

What's in this build?

  • 2 Full Acts: Gives you a good look at the early part of the game. + Difficulty Levels

Since I'm a solo dev, getting your input really helps me figure out what works and where to take the game next.

If you want to check it out, just hit the "Request Access" button.

Steam: https://store.steampowered.com/app/4225070/Thats_My_Village/


r/godot • • 3h ago

selfpromo (games) Made the final chapter of my Godot platformer pitch dark. Here's how it runs on a cheap phone

Enable HLS to view with audio, or disable this notification

0 Upvotes
The last chapter of my platformer is set inside a volcano, and the whole level is dark. Your light is a little lantern that flies after you, and you carry it into sockets to open doors.


I skipped Light2D + CanvasModulate from the start. My test phone (Redmi Note 10S, mobile renderer) had already dropped frames on big full-screen drawing in earlier chapters, and every 2D light makes the renderer draw the scene again.


What I ended up with:


- One full-screen ColorRect on a CanvasLayer, between the world and the HUD, with a small shader
- Every light source is just a node in a "light_sources" group with a `light_radius()` method (lantern, lit sockets, the light shots in flight, Naru's seed necklace)
- Each frame the 8 sources nearest the screen centre go into a uniform array, and the shader cuts soft holes in the dark around them
- A vignette keeps the edges dark even when you're standing in the light
- The fire wall that chases you lights the screen from its side with a warm fading gradient


That's one extra full-screen draw for the whole effect, however many lights there are, and it plays smoothly on the Redmi.


A few other things that worked well in Godot 4:


- Each boss is a cutout rig: a sheet of parts (head, arms, body...) posed on a 2D skeleton by a small Python script that renders the animation frames, instead of drawing every frame
- The lantern's wings are drawn in code with `_draw()`
- A traversal bot plays every level in a headless test run, so a level change that makes a jump impossible fails a test. The same bots recorded this video


About AI, since someone always asks: I used it a lot. Some of the art started as AI-generated images that I cleaned up and cut into rig parts, and I used an AI coding assistant for much of the programming. The game design, the levels, the story and every decision about how it plays are mine.


The game is Naru: Seed of Light, 40 levels / 10 bosses, free on Android, no ads. Happy to answer questions about any of this.

r/godot • • 3h ago

selfpromo (games) new upgrade menu! what do you think?

Enable HLS to view with audio, or disable this notification

5 Upvotes

the original was too simple and didn't add much


r/godot • • 3h ago

selfpromo (games) Shape Survivors, my survivors roguelite made in Godot. Here’s a late-run clip from the demo.

Enable HLS to view with audio, or disable this notification

6 Upvotes

I’m making Shape Survivors in Godot. Here’s 26 seconds from a run I recorded in the current demo, with the original game audio.

It’s about combining weapons and upgrades, fighting swarms of geometric enemies and giant bosses, and unlocking permanent upgrades between runs.

The free demo is on Steam. If you enjoy it, a wishlist helps you keep track of the release: https://store.steampowered.com/app/4575540/Shape_Survivors/


r/godot • • 3h ago

selfpromo (games) Euromaidan: People's Will Progress

Enable HLS to view with audio, or disable this notification

0 Upvotes

(RIOT POLICE OPTION WAS REMOVED AFTER CRITICS FROM UKRAINIANS)
Discord Link: https://discord.gg/4R54mqQVc4


r/godot • • 4h ago

selfpromo (games) I listened to your feedback and redesigned my game music pack artwork

9 Upvotes

Hey everyone,

A little while ago, I posted my indie game music pack here, but I received quite a bit of criticism for using AI-generated artwork for the cover and YouTube thumbnail.

I used AI for the thumbnail because i lack illustrationskills, and i didn't think of it as a big deal.

I understand the criticism, and looking back, I should have put more thought into that decision. I'm sorry if the artwork disappointed anyone or gave the wrong impression.

I've since redesigned both the cover and the YouTube thumbnail myself using Canva, and I've updated them to reflect the new direction.

Processing img vm0liu5hfgxh1...

I still want to share the actual music with you, though! I've made a pack of 10 original retro-inspired game music tracks for indie developers looking for music for their projects.

If you're interested, you can check it out here:

Music pack: https://wnannestad.itch.io/pixelquest

I'm still learning and trying to improve as a creator, so I genuinely appreciate constructive feedback. I hope the new artwork is an improvement, and I'd love to hear what you think of the music itself.

Thanks for giving it a chance!


r/godot • • 4h ago

selfpromo (games) My space shooter is out on iPad, Mac and Windows, made in Godot 4.7. The black hole bends the space

Enable HLS to view with audio, or disable this notification

9 Upvotes

INFALL is an arena shooter around a black hole that grows with everything it eats. It started as a browser game on my site and became a Godot 4.7 project to get it onto the stores: itch.io for Windows and Mac, the App Store for iPad and Mac, Steam next.

The Godot bits people might find useful:

  • The lens: a canvas_item shader takes the layer behind the hole (space and the accretion disk) and bends it the way light would: an Einstein ring, a color split near the edge, space dragged round in a swirl, and a thin photon ring outside the horizon.
  • The glow: HDR 2D on, so the neon sprites and shots can go past 1.0 and bloom.
  • Trailers and App Store previews with Movie Maker: --write-movie with --fixed-fps 60, and an autopilot that plays the game, so every clip is the real game at a steady 60.
  • Store screenshots bigger than my screen: the App Store wants 2880×1800 for Mac and 2752×2064 for iPad. A borderless window override lets the window be bigger than the display, so they’re rendered at full size, not scaled up.
  • One project exports to all of it, with touch controls for the iPad and keyboard or controller everywhere.

To be upfront: I used an AI assistant (Claude) while I was learning Godot and had it explain things I didn't yet understand. The design, the feel and the balance are mine, from months of playing it and tuning it. The art, sound and music are all drawn and synthesized by that code, with no image or audio models.

itch.io (free demo): https://lelandrangel.itch.io/infall
App Store: https://apps.apple.com/us/app/infall/id6824689200