Qt 5 unleashes a flood… of particles.

Hooray, Qt5 is out! One of the new features I’m most excited about is the particle system, which replaces the old and simple labs one (easy porting guide here). What I’m really excited about though is seeing what people come up with when using it.

The QtQuick.Particles module lets you easily add some particle effects to make your application sparkle, both literally and metaphorically. At DevDays I got to see both some new demos, like http://quitcoding.com/?page=work#cinex, as well as the classic demos, like SameGame, using particles on a variety of hardware. But unfortunately I didn’t get a chance to talk to all the particles users then, which is a shame because I’d love to hear their feedback.

Traditionally particles are the domain of the graphics demo hackers, who need no APIs and write crazy-fast single use engines every time. I have not seen much in the way of runtime particle APIs for the designers, trying to provide easy-to-use yet powerful functionality that still renders at 60FPS. Not to mention the benefits of the tight QML integration, like the ability to place emitters on other scene objects or to define the particles using QtQuick Items. Naturally I’m chuffed with all the Particle system’s capabilities but I’m not the typical user. So I’d like to hear any feedback that initial users of the particles API have: parts you like, problems you encountered, whether you used anything other than Emitter{}, ImageParticle{} and ParticleSystem{} (there are so many other types in the module, but you only need those three).

As an initial version, QtQuick.Particles 2.0 has a lot of potential and is still a little rough around the edges. I’ve got my own opinions, but I’m keen to hear what the core use-cases are from actual users to determine what should be improved in the next version. Is anyone using:

And do the examples cover them well enough to convey the sort of possibilities they unlock? Particles is a really hard API to cover, because the appeal of the effects is dependent both on being able to control the parameters of the logical particles and choosing the right sprites. As much as I test it, I’m just not enough of a graphical designer to come up with loads of innovative sprites. So I have an extra keen hunger for feedback from people using sprites other than what’s bundled with the Qt examples.

After the holidays I’m even more enthusiastic about the promise of particles. It’s not just that every game I played seemed to have particle effects for flavor, it’s also that the flourishing number of mobile UIs is leading to rapid UI innovation. I’ve seen designers use particles for subtle effects that enhance functional UIs, I just can’t do them myself. I hope to see more people using particles in this strange and wonderful way, as well as in every game written in the next decade.

Bonus video: Here’s a demo I did for Qt 5, which unfortunately wasn’t ready in time for the launch.

It has two visual modes toggled with spacebar – drawing with the new canvas and drawing with the new particles (because I had a hard time using both at once without looking terrible). I haven’t bothered to add an audio track, but the original idea was to make an analogy about the difference between Qt 4 and Qt 5 with the transition from retro to ‘modern’ gfx. Plus a snarky comment about how Qt 4 couldn’t even do the retro properly 😛 . Code at https://git.gitorious.org/aalperts-microgames/missilemaster.git .

PS: I miss the Qt Labs blog, but hopefully planet Qt is even better due to a more diverse selection of writers 🙂 .

2 thoughts on “Qt 5 unleashes a flood… of particles.

    1. That’s the link to the git repo. It works if you browse with git clone instead of a web browser 😉 .

      I’ll change it to link to the gitorious web page. I agree that would make more sense as a clickable link.

Leave a Reply

Your email address will not be published. Required fields are marked *