276
 
 

Hi everyone! This time I’d like to show how a 2D shader can be used in a 3D scene, which can have plenty of applications in 3D games.

277
submitted 1 year ago* (last edited 1 year ago) by to c/godot@programming.dev
 
 
  • Compositor Effects And You: Unlocking Godot's Potential For Advanced Graphics Techniques - Acerola
  • Events Are The Way To Go(dot) - Eric Peterson
  • Building cross-platform non-game applications with Godot - HP van Braam - GodotCon2025
  • Making Stylized 3D Games In Godot - Shane Denhardt & Kiril Pashev
  • Improving Your UI in Godot - Rawb Herb
  • Introducing 3D Tiles For Godot -Leonidas Neftalí
  • Narrative Design for Solo Devs - Nicholas O'Brien
  • HolyOS - making a fake operating system in Godot - Davide Di Staso
  • I Make Games On My Phone (And They Actually Work) - Chad Stewart
  • State of Godot and the Web - Adam Scott
  • The Youtube Crash Course for Game Devs - @stayathomedev
  • Adding new Script Languages to Godot - Jeff Ward
  • LibGodot - Embed Godot Engine Everywhere - Gergely Kis
  • Xogot - Miguel de Icaza
  • Enjoyable Game Architecture with Godot & C# - Mark Wilson
  • Unit Testing Games - TDD/Godot/GUT - Butch Wesley
  • Keeper to Keepers: Adding Multiplayer to Dome Keeper - Chris Ridenour
  • Introducing Aspire - Local dev for your full stack made easy - Maddy Montaquila
  • Building a Godot Plugin with GDExtension - Scott Doxey
  • I Work For Godot, AMA - Emilio Coppola, David Snopek, Adam Scott
  • Multiplayer Basics in Godot - Travis Hunter
  • Markov Chain with a Shotgun: Open Language Models in Godot - Simon
  • Embedding Godot: spicing up your app with SwiftGodotKit and more - Miguel de Icaza
  • Lessons from 25+ Game Jams with Godot - Marek Belski
  • From Local Networking to Scalable Solutions - JamesClancey
  • Custom Resources for global state management - Sam Szuflita
  • Time Management in Game Development - Matthew Ponder
  • Going Mobile with Godot - Joseph Hill
  • Log.gd, a Godot pretty-printer - Russell Matney
  • Synths and Sound Design in Godot with Csound - Werner Mendizabal
  • Preparing Anime-Style 3D Characters for Godot Using Blender - Jesse (CoderNunk)
  • Cross-Disciplinary Collaboration in Godot -Casey Dahlgren, Sarah Nuse
  • Using Godot for mixed-reality livestreaming - badcop
  • Profiling Godot Engine Games on Android with Arm Performance Studio - Ian Bolton
  • Making Operation Outbreak - Andrés Colubri & Harmony Honey Monroe
  • The Player to Contributor Pathway - Heather Drolet, Justin Borque
  • What's new in XR & Android - David, Fredia, Logan
  • Bringing the Arcade to the Museum with Godot - Annalivia, Tyler
278
submitted 1 year ago* (last edited 1 year ago) by to c/godot@programming.dev
 
 

After a bit of searching, I found that the best way to create an Area2d using a map was the built in function to create CollisionPolygon2Ds hidden in the "Sprite2D" tab. Took a bit of looking around to find that. After doing that, I grouped relevant territories together into Area2Ds (e.g. Australia + Tasmania, most of the Indonesia islands).

The only issue I have with it now is that it combines a bunch of the countries, particularly America (the continent) and Afro-Eurasia. It was pretty bang on for most of the islands though, see Australia, Japan, Madagascar, and New Zealand. Greenland got a bit of Canada so I'll need to fix that.

I've also made a small script that draws a Polygon2D with the correct map colour for . The default is red, so you can see that I have currently set America blue, Afro-Eurasia purple, the British Isles pink, Australia and New Zealand green (the latter being slightly bluer), and Japan yellow. These colours are just for testing and I think it looks pretty good.

I will probably find individual maps for each country and create collision shapes using those for the countries in Afro-Eurasia and America (i.e. almost all of them...). One thing of note, I have split the collision shape of Papua into West and East by duplicating it and manually deleting the points on either side, then putting each half into separate Area2Ds. This is obviously not feasible for Afro-Eurasia and America, but I might do that for Ireland to split the north and south.

One annoying thing is that I can't seem to select multiple points and delete them all at once in Godot. Anyone know what button to press to do that? Is there some sort of toggle? Another really annoying thing was adding the "territory(dot)gd" script to each and every Area2D, you can select multiple objects and remove their scripts, but not attach (you have to attach one by one...).

here's what my project looks like:

edit: replaced .gd with (dot)gd...just in case

279
 
 

Now the realms of each Anemoi use different unique tilesets which I think turned out really well! For Boreas, the north winter wind, it is cold and snowy (snow particles tbd) with warm lamps and glowing ice blocks. For Zephyrus and Notus, it is warm and grassy with colourful flowers and bushes that emanate light. The first level is the realm of Prometheus and has a nice red carpet and has a collection of books, chairs, and desks. Classroom-like as it is the tutorial level.

There are still a few things to do: I need to make the tileset for the Eurus level as well as more decorations for the tutorial level (esp. lights as it currently appears out of thin air)

I also need to make more levels using the Dionysus tileset, currently I only have one that is half-done.

here are some screenshots:

280
 
 

Hey, everybody! We've completed 10 episodes of the series on modeling 3D scenes using raymarching technology, so it's probably time to try something a bit simpler again. The shader you're looking at right now looks quite nice and usable, and it's not too complicated to program. Let's dive in.

281
 
 

cross-posted from: https://lemmy.blahaj.zone/post/30613855

Feedback for my first (mini-) game?

I finished this first game of mine about three months ago. Back then i was too anxious to post it. I would love some feedback on it generally. i am aware of some bugs, and generally know how to do it better nowadays, but i didn't want to touch the code anymore. I'd describe myself as Gamedesigner first, coder second, and artist last. so i would be especially interested in how the game feels to you.

Thanks to everyone who took time out of their day for this :3

282
 
 

🌻 Highlights

  • PhantomVar<T> for properties without a backing field
  • Base::to_init_gd() to access pointer during initialization
  • Gd::try_dynify() for runtime trait downcast
  • Further improvements to match_class! dispatch

📚 Further reading

Full Changelog.

283
 
 

I'm trying to make a game situated during the Cold War in a style a bit like HOI4, but instead of fighting with divisions and doing stuff like encirclements, it's turn by turn like Pokemon, and there would be more of a focus on unrealistic scenarios over historical.

Is it possible to create a collisionshape2d using an image of a map of countries or provinces? Making all the polygons sounds painful.

284
 
 

Hi everybody. I think there's one more topic I haven't touched on yet, which also belongs in our series on raymarching technology. It's about creating arbitrary shapes using planes with various positions and rotations. So let's take a look at how we can compute the rendering of the so-called Platonic solids.

285
 
 

Hi everybody. It's still summer 2025, and to take a short break from further improvements to our raymarching shader, this time we'll create something really simple. We'll use the Voronoi algorithm, which we know from several previous tutorials, but we'll map it onto a sphere, so we’ll end up with something like a slightly strange planet or a dead star.

286
 
 

Most probably not a great idea, thanks to Godot I was able to go from idea to Steam page with trailer in 5 days.

I needed to do that very quickly for reasons, and Godot is amazing, to just throw something together, iterating really fast, and exporting in video format.

The integration with Blender is chef kiss

287
 
 

Hello, as the title says, I am very new to Godot. I just finished following the 2D Game Tutorial, and I have a question on this part: https://github.com/godotengine/godot-demo-projects/blob/bf4d1038d623c355f3b49e613a2c9b686eebb312/2d/dodge_the_creeps/main.gd#L44

Basically, I had the idea to play around and try to give the mob a curved path, so I tried mob. in Godot's script editor looking for the completion engine to find me things similar to .linear_velocity only to find nothing, and also that linear_velocity didn't even show up as an autocomplete suggestion. No errors or warnings, and the code runs fine.

Question 1: Why does linear_velocity not get suggested? How can I change that, so I can have the editor help me learn the language and APIs?


Question 2: Unrelated to the above. I like Vim motions. Any suggestions on either:

  • Installing a Godot plugin to get Vim bindings?
  • Setting up Godot to use Neovim as my external editor?
  • Just using Neovim externally to edit my GD scripts?

Just looking for thoughts on what people use and like.

288
 
 

I hope they got all the regressions now, this has been the longest beta period of any version yet. I really want 4.5 to release so I can upgrade my project already!

289
290
submitted 1 year ago* (last edited 1 year ago) by to c/godot@programming.dev
 
 

Hi, I've been playing around with Godot to learn some game development skills, but I've run into a problem. I'm trying to display some 2d "cards" on the screen, and their texture is being generated by a shader. However, each card looks exactly the same, where I'd like some variation between the cards.

So I passed a seed value into my shader using:

instance uniform float seed;

And in my GDScript code:

func _ready() -> void:
    color_rect.material.set_shader_parameter("seed", randf() )

I've also tried:

func _ready() -> void:
    color_rect.set_instance_shader_parameter("seed", randf() )

Nothing breaks, but each of my cards are still identical, as if the seed value is the same for all three cards. From what I've read, the 'instance' keyword should let me pass a unique seed value for each object using the shader, right?

291
 
 

I am trying to Implement multiplayer into my relativly empty project but for some reason the player that joins doesnt get a camera assigned and cant walk/move their camera, I followid this tutorial: https://www.youtube.com/watch?v=G28bNlgICJg but it doesn’t seem to work properly. I am using a MultiplayerSpawner and MultiplayerSynchronizer

I put the code in this godot forums post: https://forum.godotengine.org/t/help-with-multiplayer-players-that-join-can-see-anything-or-walk/118322

Any help is Appreciated

292
 
 

Hi everyone! It looks like we’ll be spending a lot of summer with the raymarching series because I’m back with a new episode — the number nine already. This time, I’d like to take a look at calculating and rendering light reflections, which can be useful if we want to use reflective materials.

293
 
 

I'm using godot-rust bindings to provide some additional functionality to my codebase. I wrote methods associated with a struct that I would like to use in my game and made a few unit tests to ensure that they're working correctly. After godotifying my struct with attributes described in Hello World section of the godot-rust book I got a slew of errors, some of which are about initialization of the struct in test functions. After clearing them all and executing MyClass:new_alloc() at the beginning of a test function the compiler complains that Godot engine is not available. I hit a roadblock because I don't know how to execute tests in Godot environment. Changing #[test] to #[itest] makes the code compile but that's because it executes 0 tests; from what I see itest is meant for developing godot-rust anyway. What is the preferred way of unit testing godot-rust code?

294
submitted 1 year ago* (last edited 1 year ago) by to c/godot@programming.dev
295
296
 
 

Hi everybody. It's vacation season, so this week I'll fill the schedule with something simpler. I'll add a short video to our raymarching series about other basic 3D shapes and ways to modify them. Let’s do it.

297
 
 

I'm working on a two player 3D game that involves both player character models facing toward one another most of the time.

I worked out that i can use translate_object_local(Vector3.MODEL_<side>) for movement around a point that a model faces toward (there's probably a better way to do that, but that's not what i'm focused on for now), but i'm struggling to make that focus point an object instead of just coordinates.

I've tried a few things inside func _physics_process(delta): look_at($Beacon.position.x, Vector3.UP, $Beacon.position.z) to rotate around the Y axis and face the object Beacon (CharacterBody3D placeholder for player 2) crashes with the error "Invalid access to property or key 'position' on a base object of type 'null instance'."

Putting var look_here = position in the script for the beacon and then look_at($"../Beacon".look_here) in TestChar (test character) makes the character rotate around the world origin.

Adding a Vector3 variable look_here_P1 to Beacon's script and then adding or subtracting to its X and Y positions with beacon's movement keys should make TestChar face a point that's in the same place as Beacon, but i don't know how to either make TestChar use that that variable from Beacon's script, or move the variable to TestChar and make Beacon update it now that it's in another script.

Making Beacon emit a signal every time it moves in a particular direction and then using those signals to update a Vector3 variable in TestChar's script doesn't seem to work, i think either it doesn't update the variable's position or look_at() in _physics_process doesn't check for a new target to look at.

Is there a simple way to make an object always look at another object? I'm sure there must be but i can't seem to figure it out. Thanks in advance.

298
299
submitted 1 year ago by to c/godot@programming.dev
300
view more: ‹ prev next ›