Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Particle System Updates #2909

Open
1 of 7 tasks
Meta-Maxim opened this issue Apr 20, 2017 · 7 comments
Open
1 of 7 tasks

Particle System Updates #2909

Meta-Maxim opened this issue Apr 20, 2017 · 7 comments
Labels
Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc.

Comments

@Meta-Maxim
Copy link
Contributor

Meta-Maxim commented Apr 20, 2017

Planning and Discussion for the new Particle System #2728

  • Long-range particlesystem registry, "Chimney-problem" - likely longer term topic
  • Optimize updater to partition ParticlePool based on emissionRate of emitters, not evenly.
  • Create documentation (focused on JavaDoc - see Tutorial module request: Particle System #2999 for a separate tutorial request)
  • Finish annotating code
  • Create tests
  • Any needed performance improvements, like better network handling?
  • Improve some of the block breaking particles (can look awkward for some blocks/items like torches)

fireworks

@Meta-Maxim Meta-Maxim mentioned this issue Apr 20, 2017
9 tasks
@Cervator Cervator added Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Topic: Rendering Requests, Issues and Changes related to lighting, meshes, camera, etc. labels May 7, 2017
@vampcat vampcat added this to In Progress in Renderer Overhaul May 21, 2017
@emanuele3d emanuele3d removed this from In Progress in Renderer Overhaul Jun 24, 2017
@emanuele3d emanuele3d removed the Topic: Rendering Requests, Issues and Changes related to lighting, meshes, camera, etc. label Jun 24, 2017
@Cervator
Copy link
Member

Cervator commented Jul 8, 2017

Bump - submitted a separate issue #2999 to cover a tutorial module. Declaring the goal here to be for general documentation (so primarily javadoc) and overall improvements still needed. Updated the original post some with a couple more checkboxes. Some discussion on Slack noted the possibility that too many things are going over the network rather than just the emitters?

@Cervator
Copy link
Member

Cervator commented Dec 2, 2017

Bump - changes are we need to also look at the cleanup process further, it seems likely that there are entity leaks somewhere. One play test just made it past 10 million entities with a variety of particle usage (mostly explosions and maybe locomotive smoke)

@Meta-Maxim
Copy link
Contributor Author

Meta-Maxim commented Dec 3, 2017

@Cervator ParticleEmitterComponent.destroyEntityWhenDead = false by default. So when the emitter runs out of particles / stops emitting the entity is left behind. You have to set it to true for the system to remove itself. Those are my first thoughts, I haven't tested anything so it could be something else.

I'll be able to look into all of this more once I get started with GCI, I have midterm exams so I'll be very busy with school for the next week or so.

@Cervator
Copy link
Member

Cervator commented Dec 7, 2017

Hey @MaxBorsch - I was wondering about your GCI status and such, thanks for the update :-)

Would it make more sense for that boolean to default to true then? But yeah midterms come first!

@Meta-Maxim
Copy link
Contributor Author

@Cervator I'm not sure which way is better. I went with false because it's the less destructive of the two and users wont get confused when their entity randomly get removed just because its particles ran out. I was imagining that people might attach particles to entities that are used for things other than just the particles, for example a fireball entity that has particles attached but also custom rendering/damage components. In that case you wouldn't want your fireball to get removed by default when its particles ran out. Although I can see why true might be better as particles are infinite by default, so you would need to first set a particle limit hinting that you want the entity to self-destroy.

@Cervator
Copy link
Member

Cervator commented Dec 7, 2017

Good point on not wanting to entirely destroy an entity if it is really something else just having particles added - but in that case wouldn't it make sense to remove any particle-related components and if that "empties" the entity then destroy it?

@Meta-Maxim
Copy link
Contributor Author

@Cervator Emitters have something like a destroyComponentWhenDead, it doesn't destroy other related components but that would make a useful and simple addition. Cough GCI task. We can have it true by default...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Doc Requests, Issues and Changes targeting javadoc and module documentation Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc.
Projects
None yet
Development

No branches or pull requests

3 participants