• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Question about particle systems and future lightweight objects

R

RanDumSocks

Guest
So I was just thinking about how much I do not like the built-in particle system, mainly because it is a black-box and want to know what is going on inside. Secondly, is the functionality. The rule-set is very limited on how they can move and with no interaction. I thought, with the new lightweight objects being worked on, I could essentially create my own particle system in an elegant way with more complex rules tied to it without defining a full object. Most importantly, I know how it works.

So I guess my question consists of two parts:

1) Is there any information on how the back-end of the particle system actually works?
2) Would storing a particle's variables like a struct and using custom update functions work just as well if not better than the built-in particle system?

Part 2 is probably impossible to answer without part 1. Let me know other people's thoughts. I hope I gave enough information to get my point across but not over-explain. I figure I spare the details of my idea of the aforementioned custom system unless explicitly asked.
 

TheSnidr

Heavy metal viking dentist
GMC Elder
Particle systems are usually run on the GPU, which is why you have such a limited set of instructions. If you want to render hundreds of thousands of particles, sending each particle to the GPU individually is not feasible. What you want to do instead is to send info about an emitter and a particle type, which tells the GPU where the particles can possible spawn, and then let it do the rest. This is ridiculously efficient, but you can no longer control individual particles.

I made a 3D particle system using this principle. It's not the same as the built-in system, but I believe they use similar techniques. You can have a look at it here

So lightweight objects are still not a good solution for lots and lots of particles. You may still get away with it if you limit it to a couple of hundred particles though.
 
Top