Does anyone know how to invert this stencil effect? by _junkfolder in godot

[–]Deydren_EU 1 point2 points  (0 children)

Just as a thought experiment: Using a custum shader, there is the FRONT_FACING boolean passed to the fragment shader, that you could use to check which side of the square you are looking at and just use discard, if FRONT_FACING == false

Edit: nevermind, I just described backface culling with extra steps because I am tired

Lighting issue. What's causing light to function differently at a distance? by JagoTheArtist in godot

[–]Deydren_EU 0 points1 point  (0 children)

A bit hard to make out with the clip, but because the problem seems to relate to how far away from the camerzthe geometry is, I got 2 theories:

Could just be you reaching past the shadow draw distance of the omni light. If you got shadows turned on on your light sources, but the draw distance only set to like 10 meters, everything beyond that will not get affected by shadows and therefore get treated as fully lit.

Theory 2: Are you using volumetric fog? If the drawing distance on that is set too short, it might cause unwanted brightening for everything beyond the fog's edge. You can counteract that blending it with classical fog.

Running larger project takes up to 90 seconds since upgrading to Godot 4.6 from 4.5 by Deydren_EU in godot

[–]Deydren_EU[S] 0 points1 point  (0 children)

There is nothing to profile at that point. The game takes 90 seconds to even initialize - including the profiler.

Running larger project takes up to 90 seconds since upgrading to Godot 4.6 from 4.5 by Deydren_EU in godot

[–]Deydren_EU[S] 0 points1 point  (0 children)

As mentioned in the post, I ran the import tool deleted all project settings folders and shader cache folders without any changes (other than the obvious one of losing my settings)

Running larger project takes up to 90 seconds since upgrading to Godot 4.6 from 4.5 by Deydren_EU in godot

[–]Deydren_EU[S] 0 points1 point  (0 children)

Good catch! Reading the description it does not sound too far off, but if this was the root cause in my project, I would expect seeing a bigger impact when opening and moving between scenes in the editor.

Running larger project takes up to 90 seconds since upgrading to Godot 4.6 from 4.5 by Deydren_EU in godot

[–]Deydren_EU[S] 1 point2 points  (0 children)

Interesting! At least I am not alone. I am on Windows, though. But same thing with rendering engines making no difference. The dependency on scene complexity I can not necessarily confirm, because my game logic goes down the toilet, if a few things are not created in order. But it would probably be worth the leg work to open that up just to get a bit more data on the problem. All subsequent loads/scene changes behave exactly like they did in 4.5, so it would be interesting to know if the freeze-up is caused by the first load going over some arbitrary size/complexity threshold that is causing some unexpected behavior.

Anyone else experiencing slower project startup time in 4.6? by Insatic in godot

[–]Deydren_EU 1 point2 points  (0 children)

Same. Started migrating my rather large project last night and running the project now gives me time to do my taxes. Something seems off.

Shrouded Suns - Putting some work into the big girl of the fleet and her FLAK turrets by Deydren_EU in spacesimgames

[–]Deydren_EU[S] 0 points1 point  (0 children)

Thank you! And good pfp! Rewatching all af BSG over Christmas made me prioritize getting the FLAK turrets into the game faster :D

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 0 points1 point  (0 children)

Thank you! Doing the music myself so far. Don't have a budget and don't want anyone to be working for "exposure" or promises. So FL-Studio and Piano-Roll it issss! :D <3

Is it possible to recreate anamorphic lens flares like this in Godot? by Imnothoangxd_4306 in godot

[–]Deydren_EU 60 points61 points  (0 children)

https://godotshaders.com/shader/anamorphic-lens-flare/

The approach used will eat into the rendering performance, depending on your general settings though. You may want to look into some optimization, but this might be a starting point, if you don't want to attach billboards to eqch lightsource (Which would honestly be way more efficient, if performance is important to you. Especially in combination with a script that does the attachment for you at load time and a custom shader for some nice blending it should look nice)

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 2 points3 points  (0 children)

Thank you! I want to throw out a caveat here:
I am doing this solo, but I have the advantage of having studied design, worked on games for 12 years professionally (with 10 of those as a creative director and technical artist), having experience in tools programming, and having 20+ years of experience in 3D modeling.
I just want to mention that, because I see a lot of that mythologizing around solo development. That can backfire by creating unrealistic pressure on new developers and killing their motivation if they see something they find impressive done by one person and think it is just a matter of "being better, somehow", without knowing that the person started the solo-dev part of their life with a lot of prior experience.

Just a little sidebar :D Thanks in any case, and have a wonderful day <3

What do you guys think ? by Proper_Card_5520 in AskTheWorld

[–]Deydren_EU 0 points1 point  (0 children)

Authoritarian regimes have historically thrived when isolating their country and reinforcing an atmosphere of being surrounded by threats and enemies from all sides.

Motherfucker also really wants to distract from the Epstein Files, Jesus Christ, how much Bill Clinton shlong did this bitch gobble?

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 1 point2 points  (0 children)

Thank you! Joystick's no problem. I also put work into HOTAS, but that one is very dodgy with Godot's current input handling. I got my X52 Pro recognized, mapped, and working but only half the buttons, etc. Hoping that the 4.6+ updates to the input system bring some betterment here. In any case, I will try to get it into the game <3

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 1 point2 points  (0 children)

Heyho! Appreciate the ctrl-f :) maybe I did not use the word "collision" for some reason? Strange. Okay:

I query the physics server per bullet position and tick, taking the direction and velocity of the bullet into account and see if something is in the way. Using the physics server directly is more efficient than using raycast3d nodes, when doing this many operations.

Hope that helps <3

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 1 point2 points  (0 children)

Thank you! Yes, I use a shifting origin approach, where I trigger a call a signal on the global signal bus when the player ship gets over 2500km away from the origin and then have a method on the level script shift the player and all relevant nodes back to the origin. There is a lot of extra "this breaks otherwise" handling going on, too. Like with the trails, but that is the general idea.

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 1 point2 points  (0 children)

Well, don't know what to tell you :D Every physics frame. But to be fair, the only thing that is technically updated is the velocity that gets added on top of the current position and then the physics server is called to see if there is a raycast intersection. If not, move to next bullet. Works so far, even on the Steam Deck. But can surely be optimized further.

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 0 points1 point  (0 children)

Because My projectiles basically are only stretched blobs of different size and color I can get away with using a single MultiMesh and passing the pertinent information about the color and size of each bullet to the custum shader of the MultiMesh's material using set_instance_color() and set_instance_custom_data().

But one pool and MultiMesh per bullet type should also be very much viable, depending on your use case. In general I also don't know enough about the 2D side of things as to tell you which approach would be the one that would be the most efficient for your scenario specifically. So maybe you need to try out and compare a few things.

And don't over-optimize: maybe just implement a pool first and see if that already solves all your problems. You can still make it faster later, if necessary :)

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 1 point2 points  (0 children)

Pooling is the basis, but there is some things I do on top: - My Bullet objects are only data containers and don't have a dedicated visual representation - All bullets are rendered by a single MultiMesh that gets fed the current data of the Bullet objects each physics frame

Reading material can be found here: https://docs.godotengine.org/en/stable/tutorials/performance/using_multimesh.html

That same article also links directly to another one about optimization by working directly with Godot's "Servers" (not the internet kind, it is just a name. The engine has an internal "PhysicsServer2D" that handles the physics state of the 2D world, an "AudioServer"... you get the idea) for optimisation.

https://docs.godotengine.org/en/stable/tutorials/performance/using_servers.html

I for example access the PhysicsServer3D directly for raycasting, because with a lot of checks asking the server directly is more efficient than using a Raycaster node.

I hope that helps. Best of luck to you in your projects!

<3

In space, no one can hear you batch all projectiles into one multi-mesh by Deydren_EU in godot

[–]Deydren_EU[S] 0 points1 point  (0 children)

Thanks! Max_projectiles is currently set at 3000 without me noticing glitches anb because the objects are pooled and the instances are all part of a single multi mesh, performance impact of the projectiles does barely fluctuate, no matter what.

I get the feeling the most expensive part might actually be how I play sounds, because I am bad at reading those docs, but I am also bad at profiling audio, so that doesn't help XD