[BETA] ParticleCandy for Corona - Particle & Effects Engine

Hi there, we discovered Corona2D some time ago and we immediately loved it. It’s simple to use but it should not be underestimated. We think Corona has the potential for a “Cocos2D” killer -although, some homework has to be done before then (adding more vital game features like blend modes, bitmap access, tinting, animation stuff etc…). Oh, and there’s no particle engine at the moment. Wait… now there is one!

I hope this is the right category to post this, but we are proud to announce the Corona portation of our Particle Candy effects engine.

ENOUGH WORDS -WATCH A DEMO VIDEO HERE

OKAY, WHAT IS PARTICLE CANDY?

Particle Candy is an extremely flexible, yet straightforward to use particle engine library to create all imaginable stuff of special effects in your Corona games like smoke, trails, fire, explosions, debris, flares, dust, clouds, shots, light rays, water fontains, blood splats, even weather effects like rain, snow -everything you can imagine.

It’s a single .lua module (which you can also extend to your needs) that you just include using require( ) on top of your code and you’re immediately ready to create professional special effects with a few lines of code only. Particle Candy allows you to create stunning effects - with a few lines of code only.

The flexible Particle Candy engine proved its power since 1995 in many commercial game titles and was originally developed for Blitz3D. It became one of the most popular Blitz libraries during the last years and is now available for the Corona iPhone / Android SDK. For the Corona SDK, Particle Candy has been rewritten from scratch to make the most efficient use of Corona features, performance and memory management. It was ported from 3D to 2D and also gained many new features and improvements.

LIBRARY FEATURES

  • Comes with many clean, easy-to-follow sample codes!

  • Clean, commented LUA code that can be extended by your own!

  • Light-weight, high-performance library (~30KB only!)

  • Supports Sprite Sheets (create particles from animated images)

  • Supports Texure Atlases (place particles images on a single texture)

  • Supports hardware suspend & resume (f.e. “Home” button on iPhone)

  • Particle engine can be freezed & resumed at any time

  • Optional debug mode with detailed error messages

EMITTER FEATURES

  • Unlimited amount of emitters*

  • Move, rotate, parent emitters like common display objects

  • Various emitter emission shapes (point, line, circle, disc etc.)

  • Scale effects to any size (distant explosions etc.)

  • Loop emitters (and define a pause delay between loops)

  • Start & stop emitters at any time, using individual start delays

  • Auto-destroy emitters when they finished emission

  • Attach as many different particle types to an emitter as you like

  • Define individual emission rates, emission durations and delays

  • Use one-shot emission or steady-over-time emission

PARTICLE FEATURES

  • Unlimited amount of particles*

  • Draw particles in different groups (layers)

  • Draw particles behind or in front of other images

  • Use force fields to influence particles (gravity fields etc.)

  • Motion-aligned particles (create water fountains, sparks etc.)

  • Let particles bounce off from screen borders

  • Define particle kill areas (remove particles on enter)

  • Define bounce-off areas (particles will be rejected)

  • Create a particle type once and re-use it many times

  • Apply forces like gravity, attraction and bounce-off fields

  • Particles fire events when destroyed

  • All particle properties can be changed in realtime!

  • Particles are fully customizable:

  • Animated size

  • Animated scale

  • Animated rotation

  • Animated fade-in, fade-out

  • Variable speed

  • Acceleration, deceleration

  • Weight (mass)

  • Bounciness

* Only limited by device memory and performance

HOW TO USE

We posted a Quick Start chapter, together with the engine’s complete command reference on our website. Usage is quite simple and very straightforward as you can see here:

PARTICLE CANDY WEBSITE

BETA TESTERS WANTED

Particle Candy for Corona is currently in the final phase, so we are looking for some involved Corona users to give it a test run and put it to the acid test. The engine is under constant development, so more features will be added soon, but speed and performance are the primary goals. Please let us know what you think about.

[import]uid: 10504 topic_id: 3193 reply_id: 303193[/import]

Cool!!!
We’ll try it in our project.
Thanks!

  • Stas [import]uid: 7301 topic_id: 3193 reply_id: 9402[/import]

Wow, great work! Can’t wait to try it out.

Tim [import]uid: 8196 topic_id: 3193 reply_id: 9416[/import]

(DROOL!)

I will try this out soon; going to download the library now…

Brent
[import]uid: 9747 topic_id: 3193 reply_id: 9431[/import]

Hi x-pressive

I would love to test it on my up coming game - Crank the Game (crankthegame.blogspot.com).
I have a working prototype that I put together in GameSalad but have now chosen the Corona path for obvious reasons. So your product will be a welcome addon.
I think I could use it in various ways as we have and underwater scene, forest scene, winter scene, burnt out scene as well as others.

Am coming to your site to check it out further.

I hope you like what you see on my side.

Cheers

Alcamie [import]uid: 9457 topic_id: 3193 reply_id: 9436[/import]

So.
I just went to the site but no beta available. How do I go about testing this for you guys’ ?

Cheers

Chris - aka Alcamie [import]uid: 9457 topic_id: 3193 reply_id: 9437[/import]

@all: thanks for your involvement. Version 1.0 of the library is available now. If you want to give it a test run in your projects (non-commercial only) and send us your feedback about usage, performance or feature suggestions, please let me know and drop a line to info@x-pressive.com

@Tim / Ansca: are there any plans for a built-in (native) particle engine with Ansca yet? This would be the best solution performance-wise (if so, we’d be happy if you would use the ParticleCandy engine as a model). A LUA library, on the other hand, can be extended by the individual developer to fit any special needs.

However, what we *painfully* miss right now are blend modes and image colorizing -usually, these two are the backbone of a particle system and would enable awesome effects (imagine flames that start bright and get darker over time when temperature decreases, like explosions etc). We did our best to compensate the lack of these features but I hope they will be available asap.
[import]uid: 10504 topic_id: 3193 reply_id: 9498[/import]

The blend modes etc… are important for many reasons, not just particles!

Saying that however ParticleCandy looks awesome and having a native version, that is much faster, would be great.

Maybe you guys can work together to build a Corona specific Obj C version that Ansca can distribute in the Game edition. It could somehow still be licensed through purchasing a key of some sort. [import]uid: 5354 topic_id: 3193 reply_id: 9666[/import]

As I already wrote Carlos, there are three vital features we’re missing atm: blend modes, colorizing (tinting) images and native coordinate transformation between layers.

The last one is neccessary to detect and remove out-of-screen particles (which Particle Candy already does now, but only if the emitter is not nested inside of any rotated parents). A manual local to global conversion (including traversing through an emitter’s parents, taking into account each one’s rotation, scaling and positon) would be too performance-expensive per particle, so we’d need a fast and native method to convert coordinates from inside any layer to global screen coords and vice versa.
@Matthew: I agree that a native, built-in version would offer the best performance we could get and I would love to see so, too. I don’t see any difficulties on porting the Particle Candy engine to Objective C since the library is structured in a very clear way. It’s quite slim and does not use any exotic stuff. If Ansca wants to set his hands on and convert it to a native extension, we would support this in every way.
[import]uid: 10504 topic_id: 3193 reply_id: 9849[/import]

Hi Alcamie,
The graphics for your game look slick and quite nice. I can help you with beta testing, I will send you the UUID.

cheers,

Jayant C Varma [import]uid: 3826 topic_id: 3193 reply_id: 10080[/import]

Great… I’m working on the scoring mechanism at the moment and should be soon for a beta build. I’m also starting to play with the particles this week coming for ejecting shells etc…

Cheers
[import]uid: 9457 topic_id: 3193 reply_id: 10178[/import]

love to beta test. let me know [import]uid: 53381 topic_id: 3193 reply_id: 37644[/import]