Worklog for Pete Rigz

TimelineFX

Return to Worklogs

TimelineFX - Everythings coming together(Posted 2009-06-13)
So what is TimelineFX? Basically it's a particle engine for Blitzmax that lets you throw particle effects about complete with editor to design them all. I've set up a website which you can find here: http://www.rigzsoft.co.uk and hopefully they'll be a demo to download soon. There's plenty more info, screenshots and a few videos there too so take a look if you're interested. I've been busy writing a few tutorials and all the help files etc., so I hope it'll be easy to use!

Big thanks to Brucey and his wxWidget wrapper, also to Gman for the zip engine mod!

Module features:

+ Fully object orientated

+ Use the particle manager object to update and render all your effects, and create as many particle managers as you need. This can be useful if you need some effects to spawn in front or behind of your other game objects or scenery.

+ Fast! All the effects can be compiled into lookup tables so despite the use of bezier curves to "draw" your particles' behaviour, no heavy calculations need to be done for each frame - you get fine control over your effects at no expense of the cpu! On top of that, attribute graphs not used are bypassed alltogether for extra speed.

+ All effects are part of an entity parent/child hierarchy allowing for as many sub-effects as you need. Emitters can spawn particles, that themselves can spawn more particles and so on, is also possible. You can also have particles that remain relative to their parents so that they move and rotate as the parent does.

+ Control the global attributes of your effects in code so that you can easily fit those effects into your game. For example, a call to SetAreaWidth and SetAreaHeight will allow you to fit your area effects into the space you designate.

+ Well documented - all the code is documented using docmods plus a mini game to show you the system in practice.

+ Also comes with a fixed rate timing module called mod.tweener so you can easily set up timing in our game/application for smooth movement.

+ Utilises Gmans ZipEngine module to store your effects files using as little room as possible.

+ Also uses Bruceys LibXML module so that saved files are stored in the flexible XML format

Editor features:

+ Create a full diverse range of effects using static or animated particles.

+ Easy to use - all the properties of the emitters and effects are just a click away with the straight forward interface.

+ Experience total control over your effects using the attributes graph. Control many aspects such as particle size, weight, visibility and velocity over the lifetime of the particle and the effect.

+ The graphs can also use curved lines for even greater control.

+ All effects libraries you save can be loaded straight into the TimelineFX module for instant inclusion into your game/application.

+ Export your effects as animation strips using the animation properties dialogue. Control the size, number of frames, zoom and even make your effects seamlessly loop! Export as full colour, greyscale or 1 colour png animation strips and if you want, load them straight into the editor and use them as animated particles in your effects!

+ Use static or animated particles - or use animation strips to select a specific frame to use as a particle - you can also make it randomly select a frame for even greater diversity in your effects.

+ Use the preview window to view all your changes in real-time as you edit effects, change the background colour, zoom in and out and have fun with the paint mode!

+ Use the Create Icon feature to create an icon in the effects library list to more easily identify your effects.

+ Easily import effects from other libraries.

+ Create effects that contain effects within effects - have that explosion debris leave is own smoke trail!

+ Use the colour bar to change the particle colour over its lifetime or have it randomly select a colour from the colour bar.

--------------------------------------
TimelineFX - Particle Effects for Blitzmax