Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

It does use the jobs system - it should be commented so you can see what's going on!

There are actually no gameobjects at all, so pooling isn't needed. The bullets are all rendered with one draw call per bullet manager, it's about as optimised as I can make it at the minute. It should be ok with around 20,000 bullets on-screen and stay above 60fps ๐Ÿ˜ obviously you'll never need that many, but it means you've got a lot of performance budget for other things like  post-processing.

You're welcome to have a look and see how it works - that's half the reason I've put it up here and made sure it's so well commented ๐Ÿ˜‚

(+1)

one last question; does this also work for 3d or is this just intended for 2d usage?

does it use Graphics.DrawMeshInstancedIndirect? anyway i will first try for myself and then look into it to learn from it. looks very good ^^
very kind to share the work to other people.

(+1)

it is actually intended for top-down 3D because that's the game I'm currently working on ๐Ÿ˜‚ it should work with any meshes. The demo uses quads, but there's no reason you can't use a sphere or something else!


It uses DrawMeshInstanced, not InstancedIndirect. Couldn't get indirect to work before the jam, not going to have time unfortunately! That just means there's a cap of 1023 bullets per manager. I don't think you should need that!