Game Development Community

dev|Pro Game Development Curriculum

The future of IPS and ParticleSystem refactor

by Lukas Joergensen · 08/15/2014 (11:31 am) · 15 comments

ParticleSystem Refactor updates!


Documentation

Every class in the refactored particle system is now, or will be, documented using proper Doxygen documentation format such that you can generate the .chtml using Doxygen! Check it out!

I believe that if I'm gonna do this refactor and hopefully get it into stock T3D, I might as well go all the way and do it properly, so I'll keep updating the code with proper Doxygen comments. If there is parts of the ParticleSystem that you think needs documentation, just tell me and I will make sure to document it properly.

MeshEmitters

https://winterleafentertainment.com/portals/0/Images/Promo/IPS_2.jpg
If you already own IPS, you'll be pleased to know that I've managed to cut the size of the MeshEmitter class in the refactor from 789 lines to 551, drastically reducing code complexity and also improving performance. (Compared to original IPS MeshEmitter documents it's a much larger reduction, but I like to pretend that I never wrote the original IPS code.. It's horrible :P)

If you don't own IPS you'll be pleased to know that the refactor now features MeshEmitters!
MeshEmitters are a common feature in game engines and it helps to show how to create drastically different ParticleEmitters through almost no changes in the code. Also implementing an interface for getting a ShapeInstance for the ParticleSystem to work with will help drastically with other similar features.

The IPS Pro

Chances are you haven't noticed it but I've actually pulled IPS from the WLE store.

Now this doesn't mean that I'm not supporting the product anymore, nor that it's completely off the table, but this ParticleSystem refactor actually contains a lot of the most essential improvements to the particle system.

With these changes in, IPS offers a lot less than it did previously and that brought me some complications.

First of all, I've been wanting to open source the architectural changes for a while now, and it's something I've brought up a lot of times but for some reason there was never the interest in getting the architectural changes into T3D.

Lately I've been seeing a bit more interest, but then another problem hit me: Can I really open source such big parts of the IPS without injustifying the customers?

I've come to the conclusion that, yes I can because the main selling points for a lot of the customers would have been the seperate features and not the architectural changes. I've often tried and highlight them, but the customers were almost exclusively interested in the features.

Also there are so many features in IPS that 1. it's getting harder to maintain, 2. it's severely overreaching the initial scope of the project and the pricepoint doesn't really match the amount of work put into this, nor the size of the product.

So I've decided to cut it into smaller sizes! I'll be changing my business model to be selling "feature packs" rather than the architectural changes, so I'll be selling "MeshEmitter" packs and "Environmental Emitters" and stuff like that (haven't decided on anything yet). I'll be back with more updates when I know more specific details!

Also, if any IPS customers have an issue with this move, please contact me at ljorgensen [at] winterleafentertainment.com

#1
08/15/2014 (9:43 pm)
Awsome I may have to get IPS Pro witch brings me to another point if U took it out of the Store how do We get it now ? thanks U guys r Aweome

Terry
#2
08/15/2014 (9:46 pm)
> If you don't own IPS you'll be pleased to know that the refactor now features MeshEmitters!

AWESOME! Now to add flamethrowers as weapons to show this feature off!

Also, I couldn't help:

i.imgur.com/EKVSZxq.png
#3
08/15/2014 (10:32 pm)
I didn't see refactor on the store eather :(

Terry
#4
08/16/2014 (1:29 am)
@Terry the "feature" packs should begin to pop-up as i get them converted, they will be converted after I feel like the refactor Closes in on the finishing stages.

Meanwhile you can download the ´ParticleRefactor for free here, but it is an "under Development" branch so lack of documentation and a´few bugs here and there is certain :P

I'd love help with code reviews and debugging though, so feel free to download the refactor code and test it !

@Chris Please do! I've always wanted people to show off the stuff they make with the IPS but haven't seen anyone actually do that yet! :(

I'm glad you like it! And I hope this will make it into stock T3D somewhere around 4.0!
#5
08/17/2014 (6:39 am)
Thanks Lukas..You're awesome!
Quick question does the particle refactor still effect the old particle editor? I still have some particle stuff that was built around the old editor and I wouldn't want to break those adding the refactor...
Thanks!
#6
08/17/2014 (6:49 am)
@Kory, yes unfortunately. Making the particle editor work, would mean pretty much a complete rewrite of the particle editors..

I was doing that for IPS, but the code is pretty complex and confusing so I never got it to an acceptably stable stage.. It might be possible to make it work for a special type, of emitters and renderers, but it wouldn't be generalized, and it's a lot of work.

What is it you have built around the old editor though?
#7
08/17/2014 (7:48 am)
My programmer ported the blood particles from zombiebash (the blood particles from the player(s), enemies, particle splats on the screen, and etc)...Plus the old FX Pack #1 (ported from TGE/a)..I would still like to use those as well, but I'd be foolish not to take advantage of the particle refactor (especially the mesh emitter :)..)
#8
08/17/2014 (9:25 am)
Doesn't sound like that actually has anything to do with the particle editor. It will break the datablocks, but it should be relatively easy to split up the datablocks into the new components.
#9
06/22/2015 (6:53 pm)
how's this going or is it still going?

found your site had information on IPS-Pro, but links to product dead-end.
#10
06/23/2015 (3:18 am)
@Pierre, yes the product is off the market untill the ParticleRefactor has either been accepted or rejected by the SC.

There hasn't been any development in a while, but it's working and it's standing still because I'm waiting for the SC's decision.

The reason this doesn't just go straight in, is because it breaks backwards compatibility for all ParticleEmitters, meaning you have to rewrite those. It has been tested pretty well by now though, but I'm always looking for more people to test it!

Also if you can merge it in yourself, it should work just fine. I might write up some simple merging instructions if you're interested.

Edit: Oh, also it currently breaks the ParticleEditor.
#11
06/23/2015 (12:45 pm)
@Lukas I've got the lite version, and as you know from the Question on particles topic, that I'm looking for a lot of the features in the pro version.

I'm happy to talk with you about this, PM me when you get a chance.
#12
06/25/2015 (4:52 am)
@Pierre well that GitHub link I gave you, links to a free ParticleSystem Refactor that you can use. If you implement that, then I can help you get those shapes rendering.

Also the Lite version is a horrible mess :P should probably ditch that.
#13
06/25/2015 (5:58 pm)
@Lukas ended up getting the IPS bundle, currently reading through the documentation to get my head around it's workings, but it looks like that will provide a good starting point for me to work from.

Will most likely message you with the odd curly question for sure. ;)
#14
07/01/2015 (5:34 pm)
@Pierre, sorry for the late response, feel free to contact me at any time with any questions on the IPS. I'll also be writing a blog about the open-source version over at forums.torque3d.org soon.
#15
07/01/2015 (9:59 pm)
@Lukas thanks. Wish didn't currently have a cold, it's making it hard to get my head around the basics, that I do know, but for the moment completely forgotten, maybe in a week when I get my thoughts back I'll get back into it more and contact you with any questions I have.