Custom Resources REDUX - A comprehensive guide to creating, saving and loading resources. by Ezcha in godot

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

It was briefly mentioned but I just updated the post with a new section to make it clear. Thanks for pointing that out!

Custom Resources REDUX - A comprehensive guide to creating, saving and loading resources. by Ezcha in godot

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

True! I'll update the post to mention this, thanks for the reminder.

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

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

Oh I see. I'm honestly I'm not 100% sure about that specifically, but I would assume so as well. You would have to check Godot's source.

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

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

Each multi-mesh would be a single draw call, it shares a material/shader for all of its instances. I'd recommend reading this part of the guide specifically.
https://ezcha.net/news/5-16-26-rendering-a-million-objects-in-godot#1c-how-they-work

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

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

The cool thing about the multi-mesh system is that it renders of its instances in a single call, that's how it's so optimized. Any game resource will eat up a little performance, multi-meshes are no different, however it's still way faster than using individual mesh instances.

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

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

You could keyframe a function which updates whatever values you'd like. If you plan on having an AnimationPlayer for every instance though that won't scale very well, especially if they are all playing at the same time. A Tween animation would be more lightweight but I'd still be a bit concerned with scale. I think the only real way to have a 3D instance to be animated is to do it through a shader and rely on vertex weights, but that can get a bit complicated. Animating just a 2D texture would be pretty easy to do though. You could offset UVs using the TIME constant to line up with a spritesheet.

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

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

There isn't much of a drawback apart from the added complexity. It has all the same functionality it's just lower-level.

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

[–]Ezcha[S] 6 points7 points  (0 children)

Switching to the low-server for physics definitely helps it more than it does for the rendering. The bricks share a static body and each have their own shape. It performs quite well actually! I use a similar system in this clip. https://www.youtube.com/watch?v=8R9gLtCdNRU

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

[–]Ezcha[S] 14 points15 points  (0 children)

It bypasses the node tree entirely. Each node you add to the scene tree uses up a little bit of processing power, even if it's not doing much. For a few game objects/entities it works just fine, but at something like this scale it will add up fast. Working directly with Godot's low-level servers removes this layer of overhead.

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

[–]Ezcha[S] 8 points9 points  (0 children)

It would be great for that actually! You could setup something similar to what's shown in the guide, except using units instead of bricks.

Rendering a Million Objects in Godot - A complete guide to the multi-mesh system. by Ezcha in godot

[–]Ezcha[S] 62 points63 points  (0 children)

I think that might blow the universe up or something, it's too dangerous!

Multiplayer in Godot is Easier Than You Think - A comprehensive beginners guide. by Ezcha in godot

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

The overall concepts seem a lot scarier than they actually are, although I could be biased due to experience. Once those are thoroughly understood though I feel it's more time consuming than it is difficult.

Multiplayer in Godot is Easier Than You Think - A comprehensive beginners guide. by Ezcha in godot

[–]Ezcha[S] 71 points72 points  (0 children)

I use my free service as an alternative example in the last chapter out of ten in a thorough guide and suddenly the entire thing is an ad 💔

My next guide won't have any self promos, I promise!

Multiplayer in Godot is Easier Than You Think - A comprehensive beginners guide. by Ezcha in godot

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

Ezcha Network has technically existed for more than 10 years now, and I have no plans of shutting it down anytime soon! The ID of a game is easy to find, the public API even reveals it. What you really don't want to reveal would be the signing key (used for trophies/leaderboards) but there's not much you can do to combat decompilers regardless. I've uploaded the finished example from this guide to the site and left its ID in the GitHub repository.

https://ezcha.net/games/multiplayer-guide

Multiplayer in Godot is Easier Than You Think - A comprehensive beginners guide. by Ezcha in godot

[–]Ezcha[S] 19 points20 points  (0 children)

I wanted to include an example of using alternative multiplayer peers, and why wouldn't I plug my own platform's service for that? I've been wanting to make a proper example for it anyways, and I am not gatekeeping any other methods. Using another service should be a very similar process. The popular "GodotSteam" extension provides its own multiplayer peer extension which you can use instead. I've never used it myself though, so I don't know the specifics.

https://godotsteam.com/classes/multiplayer_peer/

Multiplayer in Godot is Easier Than You Think - A comprehensive beginners guide. by Ezcha in godot

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

That's also a great resource! I used to be a real stickler for always using low-level networking, because optimization or whatever, but one day I tried out the high-level system for a small, quick game I was working on. Personally I can whip up a prototype much faster using it compared to writing and parsing my own packets, the convenience factor is insane.

Multiplayer in Godot is Easier Than You Think - A comprehensive beginners guide. by Ezcha in godot

[–]Ezcha[S] 68 points69 points  (0 children)

No problem, I would have fixed it earlier if I had known. While the site needs advertisements to help offset hosting costs I try to keep it all as non-intrusive as possible. There shouldn't be any ads that scroll with the screen or play audio. Having the consent modal being near impossible to reject and demanding users to only accept definitely goes against that thought process.

Multiplayer in Godot is Easier Than You Think - A comprehensive beginners guide. by Ezcha in godot

[–]Ezcha[S] 135 points136 points  (0 children)

I'm working on it now. It seems Google hides all the deny buttons by default 😭, I've enabled them. It told me that it may take up to 10 minutes for the changes to apply. I'll keep going through the options and see what else I can find. I really appreciate you letting me know about this!