The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates.

godotengine.org | Twitter

+3 votes

In the Controlling Thousands of Fish with particles, we have managed to reproduce that particles scenario with hundreds or thousands of spaceships (spinning instead of swimming). It works remarkably well, and even runs 10'000 ships on my computer (we 'only' need a few hundred). We can also program these to start on opposite ends of a battle field, moving toward each other.

Is there any way to identify the location of specific spaceships, and then replace that graphic with an explosion, with one fewer remaining each time that happens?

We are programming a space strategy game (sorta-like RISK). The strategic part is the high-level decisions to move ships around the galaxy. We are trying to graphically show battles in 3D between up to hundreds of ships (maybe just a few, but sometimes perhaps a couple hundred each on opposing sides of a battlefield), fast and manageable on systems with variable performance, with the battle and ultimately the outcome passively observed by players. If particles is not a realistic way to do this, would MultiMeshInstance be able to do this with good performance?

Any suggestions welcome! Thank you in advance.

Godot version v3.2.3.stable.official
in Engine by (23 points)

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.