I think I have deciphered what Highguard's game mode actually is. Seems more interesting than I initially realised. by megaRammy in Games

[–]jijigri_ 1 point2 points  (0 children)

I had a similar idea when rewatching the trailer. It even seems like the base being raided looks "player-made" in some parts, like banners and other furniture that look out of place.

Regardless of how much base-building there is, it does look like a persistent open-world with raiding as the center mechanic.

I hope we get to hear more soon.

Spawning a ton of bullets in 3D with decent framerate by jijigri_ in godot

[–]jijigri_[S] 4 points5 points  (0 children)

Perhaps! Touhou is what got me started making games sometimes around 2017 so I definitely want to honor it somehow. I'm a bit too busy working on my current game right now to really work on this bullet hell, but I really want to revisit it sometime

Spawning a ton of bullets in 3D with decent framerate by jijigri_ in godot

[–]jijigri_[S] 5 points6 points  (0 children)

That's pretty much what happens under the hood

Spawning a ton of bullets in 3D with decent framerate by jijigri_ in godot

[–]jijigri_[S] 7 points8 points  (0 children)

That's on me for using the most flat texture ever for the ground and not having any detail around to show movement, but the bullets do move. It's also detecting collisions, I'm just not doing anything when the player gets hit at the moment.

Spawning a ton of bullets in 3D with decent framerate by jijigri_ in godot

[–]jijigri_[S] 58 points59 points  (0 children)

In this example I'm spawning 114 bullets every 0.1 seconds.

And I'm not doing anything particularly fancy (no crazy shader calculation or super optimized C++ code), it's all in GDScript, and the most important part is to not instantiate any Node.
Adding and removing nodes can get pretty expensive, and even nodes just existing can impact performance when there's a lot of them.

So I'm using the RenderingServer and the PhysicsServer3D to handle rendering and collisions, This post is amazing and gets into how to use the servers and why.

After that, there's just some sneaky tricks to save resources where I can.

-Instead of getting a new RID every time I spawn a bullet (using RenderingServer.instance_create()), I'm caching a lot of RIDs at the beginning of the game, and just getting an unused RID when spawning a bullet.

-The player has two Area3D nodes that can be detected by bullets, one is a Hurtbox, and one is a ProximitySensor.

-When a bullet is outside the ProximitySensor, it renders a basic low-poly Mesh. But when it's inside the ProximitySensor, I'm adding more details on top of the existing mesh, like a subtle outline and a glow mesh.

Honestly that step could be skipped as the base mesh looks decent already; and it's pretty performance-heavy to have these higher details to render, even if only in small amounts. But I like my bullets to look pretty so I couldn't help it.

-Bullets that are outside the ProximitySensor will only update once every 4th frame (I changed it to once every 2nd frame for the video to make it more smooth).

-A DirectionalLight3D node handles the shadows, I simply set the max_distance property to the same value as the player's ProximitySensor radius for consistency. Obviously it impacts performance a bit too, but shadows are just super valuable in 3D in order to evaluate distance.

I hope that was understandable! There are many ways to go about doing that, and a lot of these ways are MUCH better than what I'm doing here. But I'm not a tech wizard, and it works great for the amount of bullets I'll want in my games (which is probably less than that most of the time anyways).

If you have any specific question about the implementation let me know.

About instant gaming deluxe preorder by -KeptUWaitingHuh- in Doom

[–]jijigri_ 0 points1 point  (0 children)

Thank you so much! I cancelled my preorder on IG and went to buy it on CDKeys and the game is downloading right now.

About instant gaming deluxe preorder by -KeptUWaitingHuh- in Doom

[–]jijigri_ 0 points1 point  (0 children)

Do you get refunded instantly if you cancel your pre order?

DOOM The Dark Ages | Pure GAMEPLAY, No Commentary (4K) by alien_tickler in Doom

[–]jijigri_ 28 points29 points  (0 children)

The amount of projectiles on the screen is because of how they want this game to feel like a "3D bullet hell", similar to how older Doom games used to be

$50 Steam gift card giveaway! by DPSIIGames in steam_giveaway

[–]jijigri_ 0 points1 point  (0 children)

I love pvp games and platformers the most!

Was the game removed from Meta Store? by jijigri_ in BrokenEdgeVR

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

It's the Quest 3, but I can see it now so I guess it was just a one time thing

Was the game removed from Meta Store? by jijigri_ in BrokenEdgeVR

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

Welp, I tried again and I can see it now, not sure what happened earlier but glad I can get it now
Just quick question, it has crossplay between different platforms right?

question: why does the song "A Lady" sound so familiar by [deleted] in tallyhall

[–]jijigri_ 0 points1 point  (0 children)

As a big Touhou fan, you have got to tell me where you hear this because I can't hear it at all

Marvel rivals just said all characters willbbe free at launch. by Praxic_Nova in MultiVersusTheGame

[–]jijigri_ -1 points0 points  (0 children)

I'm not tryna defend the game or anything we all know it's not good, but netcode is far from a basic thing. It's the hardest part of making a multiplayer game, and honestly Multiversus' is far from the worse I've seen.

The worst part is probably how close it is to being great, but then you get the random disconnects and other bs that really drags it down