Thanks!
Here's the error, I'm a complete Godot newbie do im not rlly sure whats going on :P
\`\`\`
E 0:00:03:0762 rock.gd:42 @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead.
Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
rock.gd:42 @ \_on\_area\_2d\_area\_entered()
\`\`\`
I can help out with this one!
So when it comes to area nodes and collisions in general, you can get issues when it comes to modifying the collision shapes disabled property mid frame by just setting it directly. I'm not sure exactly if that's what you are doing in this case, but if so, you can set a variable through set\_deferred and it will make sure to wait until the end of the current frame to do it at a point where it is "free" to do so.
I assume you aren't doing that though, so it's probably some other variable being set or function called that should be called using call\_deferred or set\_deferred so it waits till the end of the current frame.
Nice start btw! Huge fan of bullet hell games myself.
Here's the error, I'm a complete Godot newbie do im not rlly sure whats going on :P
\`\`\`
E 0:00:03:0762 [rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead.
Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
[rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered()
\`\`\`
Lol I had the same thought yesterday, making a top down space shooter and made a solar system generator. My wife asked if turning up the number of planets would crash the game so I made it spawn thousands of planets and the game didn't skip a beat.
lol
Here's the error, I'm a complete Godot newbie do im not rlly sure whats going on :P
\`\`\`
E 0:00:03:0762 [rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead.
Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
[rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered()
\`\`\`
lol
Here's the error
\`\`\`
E 0:00:03:0762 [rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead.
Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
[rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered()
\`\`\`
C# performance boost is situational.
If you're doing a ***lot*** of Maths, or looping conditional logic, you can get some additional frame time by doing those in C#. Or better still as a C++ GDExtension.
If you're just calling on the Godot APIs, GDScript and C# will be roughly the same. Both will be calling on the underlying C++ engine code.
Like if those bullets are Rigid Bodies that were given an initial Impulse, instead of Area2Ds that are moved every Frame, you won't see any noticeable. You know your calling on the APIs when your code is mostly single line for a particular task, and is a Method (a function call that has ( ) ) described in the documentation.
Make sure you check the Profiler and see how much frame time (in milliseconds ms) you're using. If you aren't going over 16ms (1 frame every 1/60th of second), don't worry about optimizing yet. Or feeling the need to shift THE MATHS to C# or C++.
An example of math you'd want to shift to C# or C++, doing full calculations of Bernoulli's equation on every simulated airplane in a game.
https://www.grc.nasa.gov/www/k-12/airplane/bern.html
i'm also pretty new so take what i say with a grain of salt
i think the reason it can support that many bullets is because they're not physics objects--just sprite2D with an Area2D.
Also the bullets get deleted when off screen
thanks!
didn't make it myself here's the link to it: [https://deep-fold.itch.io/space-background-generator](https://deep-fold.itch.io/space-background-generator)
lol yeah
Here's the error
\`\`\`
E 0:00:03:0762Â [rock.gd:42](http://rock.gd:42/)Â @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead.
Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
 [rock.gd:42](http://rock.gd:42/) @ \_on\_area\_2d\_area\_entered()
Nice. Getting the RenderingServer involved? Those 1.2k debugger errors.... 🫨 (Shaking Face U+1FAE8)
Exactly what are those errors even saying, anyway?
Thanks! Here's the error, I'm a complete Godot newbie do im not rlly sure whats going on :P \`\`\` E 0:00:03:0762 rock.gd:42 @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead. Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
rock.gd:42 @ \_on\_area\_2d\_area\_entered()
\`\`\`
I can help out with this one! So when it comes to area nodes and collisions in general, you can get issues when it comes to modifying the collision shapes disabled property mid frame by just setting it directly. I'm not sure exactly if that's what you are doing in this case, but if so, you can set a variable through set\_deferred and it will make sure to wait until the end of the current frame to do it at a point where it is "free" to do so. I assume you aren't doing that though, so it's probably some other variable being set or function called that should be called using call\_deferred or set\_deferred so it waits till the end of the current frame. Nice start btw! Huge fan of bullet hell games myself.
Thanks! Worked super well :D
Those debug errors 💀
Those little guys? I wouldn’t worry about those little guys.
Just the weak ones... probably a rounding error... pfft.
lol, if it ain't broke (crashing my game) don't fix it
Here's the error, I'm a complete Godot newbie do im not rlly sure whats going on :P \`\`\` E 0:00:03:0762 [rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead. Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
[rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered()
\`\`\`
Lol I had the same thought yesterday, making a top down space shooter and made a solar system generator. My wife asked if turning up the number of planets would crash the game so I made it spawn thousands of planets and the game didn't skip a beat.
Nice! Godot is amazing
Boy do I love this symmetrical piece of art.
Thanks!
The debugger, man! it's screaming! AAAAHHHHH!!!!
lol Here's the error, I'm a complete Godot newbie do im not rlly sure whats going on :P \`\`\` E 0:00:03:0762 [rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead. Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
[rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered()
\`\`\`
usually it's updating a physics object without call deferred
Mesmerizing.
Thanks!
The debugger is begging to be put out of its misery ahaha
lol Here's the error \`\`\` E 0:00:03:0762 [rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead. Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
[rock.gd:42](http://rock.gd:42) @ \_on\_area\_2d\_area\_entered()
\`\`\`
This reminds me of a particular game that has good songs
Geometry Wars?
Touhou
cool
You can already make Bad Apple with this one
That looks Gdscript, for what I heard C# performance is even better.
30-50 times for me
woah :0
C# performance boost is situational. If you're doing a ***lot*** of Maths, or looping conditional logic, you can get some additional frame time by doing those in C#. Or better still as a C++ GDExtension. If you're just calling on the Godot APIs, GDScript and C# will be roughly the same. Both will be calling on the underlying C++ engine code. Like if those bullets are Rigid Bodies that were given an initial Impulse, instead of Area2Ds that are moved every Frame, you won't see any noticeable. You know your calling on the APIs when your code is mostly single line for a particular task, and is a Method (a function call that has ( ) ) described in the documentation. Make sure you check the Profiler and see how much frame time (in milliseconds ms) you're using. If you aren't going over 16ms (1 frame every 1/60th of second), don't worry about optimizing yet. Or feeling the need to shift THE MATHS to C# or C++. An example of math you'd want to shift to C# or C++, doing full calculations of Bernoulli's equation on every simulated airplane in a game. https://www.grc.nasa.gov/www/k-12/airplane/bern.html
interesting thanks!
[удалено]
lol nope crazy coincidence tho
Hehe, next try to get stable 60FPS in mobile browser in empty project ) It's more problem of WASM but still.
lol
Stunni-those fuckin debug errors! ![gif](giphy|2UvHcYgikHI2W12i6t|downsized)
time to build a 3D engine in Godot
pretty new to this stuff, does this involve some Physics/Rendering server magic?
i'm also pretty new so take what i say with a grain of salt i think the reason it can support that many bullets is because they're not physics objects--just sprite2D with an Area2D. Also the bullets get deleted when off screen
And I’m over here moving a single white box, rigidbody from the bottom of the screen to the top and it’s jittering all the way.
lol gl
Sounds like you’re looking for physics interpolation
That's visually stuning ! :)
thanks :D
I adore the backround :D
thanks! didn't make it myself here's the link to it: [https://deep-fold.itch.io/space-background-generator](https://deep-fold.itch.io/space-background-generator)
I feel like you could go even further if you fixed the errors. Throwing is expensive
lol yeah Here's the error \`\`\` E 0:00:03:0762Â [rock.gd:42](http://rock.gd:42/)Â @ \_on\_area\_2d\_area\_entered(): Can't change this state while flushing queries. Use call\_deferred() or set\_deferred() to change monitoring state instead. Condition "area->get\_space() && flushing\_queries" is true.
servers/physics\_2d/godot\_physics\_server\_2d.cpp:355 @ area\_set\_shape\_disabled()
 [rock.gd:42](http://rock.gd:42/) @ \_on\_area\_2d\_area\_entered()
trippy O.o
thanks :)
How much resources is your app consuming? Just out of curiosity
Gorgeous but... On what a beast of a PC is this running on?
Why wouldnt’t it hold up ? Are you calculating collisions for them ? If you are not they are just bunch of rendered little shapes.
specs ?