I’m currently working with DarkBasic Pro on a project but I’m having difficulty working around some performance issues due to the nature of the project. I’m creating a 2d platform style game made of proceduraly generated and destructible terrain (think 2d Minecraft or Terraria). I’m planning on using textured 3d plains for the terrain, only part of which will be actually exist at a specific time due to chunk based loading.
Would something like this be realistic to create with Unity? How does it hold up to several thousands of objects on the screen at once? Is there anything I can do to improve the performance of it specific to Unity?
It’s doable, in most rendering engines, however the issue that can occur with this is how the data is structured on your end.
Having 1000 x 1000 meshes isn’t going to work. Not on any system in any engine. However having 1 (or 25ish) meshes that are runtime combined representations of 1000 x 1000 cubes is going to be doable. There are some Showcase examples of Minecraft clones in Unity, and most can be much further optimized and tuned to run properly.
In short it’s doable, but it’s not a built in feature of the engine(though you can somewhat take advantage of dynamic batching in Unity for a little help).
Several thousand drawcalls is going to hurt you a lot. I’d go with just a couple dynamically generated meshes and a texture sheet. You can modify the meshes at run time to remove faces/verts and change UV coords to change textures on them.