#Most performant multithreading approach for a colony simulation game?

1 messages · Page 1 of 1 (latest)

sweet tinsel
#

I’m making a colony simulation game with many buildings and AI units. They will run various calculations, and I’m worried about performance when the scene gets crowded.

For games of this type, what do studios typically use?
Is it better to create a custom multithreaded system (thread pool, work-stealing queue, task scheduler) or rely on Unity’s DOTS/Job System + Burst?
Which approach tends to deliver the best performance in large simulations, and how are task queues or job batching usually structured?

sinful zealot
#

Your question is too vague. A custom solution that matches your games needs is always better than any other pre-made solution. So yes it is better to create a custom multi-threaded system. In fact it's better to create your entire game engine from scratch to make sure it perfectly fits all your needs.

#

I'm assuming this isn't the answer you were looking for, so what is your actual concern/question here?

muted igloo
#

unity's job system is a work-stealing scheduler

hybrid crow
#

Just go for full Entities that will be the most performant

sweet tinsel
loud pelican
#

job system + burst is kind of a no-brainer
beyond that, I think entities is great for this kind of thing, and certainly easier than creating something from scratch

muted igloo
#

if you don't already know more detailed questions to ask, then frankly even Unity Entities might be a big hurdle, let alone a custom job system

#

but if you have the will and time to learn, then Unity Entities is definitely a good way to go for a large simulation