TimelineFX now available!

Community Forums/Showcase/TimelineFX now available!

Pete Rigz(Posted 2009) [#1]
TimelineFX is a particle engine for Blitzmax with the power to create a vast range of particle effects in your games and applications quickly and easily. It comprises both a Blitzmax module and a powerful editor to quickly create effects using any particle shape or animation you wish. Once you have created an effects library with the editor you can easily integrate the effects into your game using the module.

The module is completely free under the MIT license, and the editor is now available for purchase. You can download the module and a trial version of the editor (which can be unlocked once purchased) from the following links:

Link to download the editor
Link to download the module

Please visit the web site for more info, help, tutorials, updates and of course to purchase the editor at www.rigzsoft.co.uk

Thanks to all who have given feedback so far, I'm of course looking forward to more so that I can keep on improving and making it better!

GfK(Posted 2009) [#2]
Looks good. Wish this had been available a year ago. Would've saved me loads of time.

[edit] Just found the sample effects. Cor. O_O

M2PLAY(Posted 2009) [#3]
Amazing Software!!!
Good Work!!!!

Grisu(Posted 2009) [#4]
Top Gun!

Htbaa(Posted 2009) [#5]
Congrats on the release! Just took a sneak peak at the documentation of the module and it's well documented as far as I can see. Big thumbs up on that one.

Not sure if I'll get it anytime soon as gamedev has halted more or less for me... At least for the time being :-).

slenkar(Posted 2009) [#6]
you could create a youtube video to show it off?

Boiled Sweets(Posted 2009) [#7]
Loads then immediately closes. What gives?

Pete Rigz(Posted 2009) [#8]
Thanks all. There's a few vids on the site here and here.

Boiled sweets what are your system specs? Does OpenGL work ok on your PC?

MGE(Posted 2009) [#9]
"Loads then immediately closes. What gives?"

!@#$% same here... still. :( :( :(

Pete Rigz(Posted 2009) [#10]
Are you still trying on the integrated graphics MGE as I've set the minimum requirements a bit above that for the editor. I'm in the process of building an extremely old pc out of spare parts I've got lying around so it will be useful if I can replicate this issue.

Brucey(Posted 2009) [#11]
Pete, I have a wxGLMax2d patch which may sort out those MAVs on those folks who have crap drivers :-)

Pete Rigz(Posted 2009) [#12]
Cool, thanks Brucey :) Where can I get it, SVN?

Maybe I'll have to wxDC the graph as well so the only opengl going on is the preview window, as my only guess at the moment is that some cards/drivers can't handle 2 bits of opengl going on.

Brucey(Posted 2009) [#13]
Where can I get it, SVN?

Yeah. Take a copy of what you've got already, just in case I've changed something else in wxGLMax2d for 2.9 which breaks with yours. (Unless you are already using the 2.9 version, you should only update that particular module).

Pete Rigz(Posted 2009) [#14]
OK, I'll give it a try.

I just booted up an old pentium 3 650mhz, 128mb, geforce3 ti 500 running windows 98 and was pleasantly surprised to see vaders run at around 70fps on average, despite getting to level 52 where there's plenty of bullets flying about.

The editor didn't work though (something about wxIdleWakeUpModule not initializing), but then neither did Blitzmax IDE so I don't fancy my chances getting it working on that :) Will install win2k on there and use it as a test bed.

Boiled Sweets(Posted 2009) [#15]
Celeron 550 2ghz, 1 gig ram, mobile intel 965 gfx.

Boiled Sweets(Posted 2009) [#16]
yes opengl works fine

TaskMaster(Posted 2009) [#17]
Celeron 550 2ghz, 1 gig ram, mobile intel 965 gfx.

Does it laugh before it closes?

Just kidding.

Must be a notebook, huh?

Pete Rigz(Posted 2009) [#18]
Ok, so it's the intel gfx again, similar to MGE I guess? at least it seems to be just those ones. I've just uploaded another version with Brucey's patch to wxglmax2d, so if you want, give it whirl - same download link as above.

Out of interest, did you try to run Weibo's ParticleMax? That uses opengl in wxwidgets as well so if it does work, then I suspect it must be because I'm using opengl in 2 separate places in the app, causing the intel gfx to have a fit.

Thanks for your help testing :)

GfK(Posted 2009) [#19]
Well, before we start making voodoo dolls of Intel graphics adapters again, my laptop has GMA965 graphics, and it works perfectly.

Pete Rigz(Posted 2009) [#20]
Interesting, is that with the latest version I just uploaded or the one previous one?

QuickSilva(Posted 2009) [#21]
This looks great! Haven`t read the whole thread yet but was this completely created with BMax? Editor included? Looking forward to giving it a whirl.


GfK(Posted 2009) [#22]
Interesting, is that with the latest version I just uploaded or the one previous one?
The first one.

[edit] I just tried 1.01, and it turns out there was a minor problem with the first version - I just didn't realise. The preview window didn't extend all the way across the screen. I just moved the particle emitter so I could see it fully.

Works fine in 1.01 though. Intel GMA965 again.

Pete Rigz(Posted 2009) [#23]
Ahh ok, so Brucey's patch must have fixed that. Thanks for testing, maybe it's just a driver issue... You guys have the latest drivers and what-not?

QuickSilva: Yep, 100% Blitzmax with a hefty pinch of wxMax for the editor.

_Skully(Posted 2009) [#24]
Looks Pretty cool... although that game is unplayable on my laptop... the player dies before I can even move it LOL and, likely due to my lack of video processing power, the effects move in pulses :(

The effects were sweet though!

RifRaf(Posted 2009) [#25]
Very very nice. Works perfect here on Nvidia Go chip + 900mhz cpu

Boiled Sweets(Posted 2009) [#26]
Works now - ta

Pete Rigz(Posted 2009) [#27]
Great, looks like Brucey's patch might have sorted that problem then.

_Skully, I dread to think what GFX you have ;) I just uploaded a new version of Vaders where you can toggle the background effects on and off (off is the default). My work PC went from 75fps to about 350 so it should help. direct link here.

QuickSilva(Posted 2009) [#28]
BTW, I forgot to mention that you spelt Mark Sibly wrong in the about box, you may want to change that :)


Pete Rigz(Posted 2009) [#29]
oops, will fix that, thanks :)

_Skully(Posted 2009) [#30]
Whatever you did fixed it with, or without, the background effects its flowing nicely now. I`ll be keeping this little gem in the back of my mind.

Looks fantastic.

_Skully(Posted 2009) [#31]
Does TimeLineFX have the ability to shift all effects by X,Y? thinking from a tilemap perspective, if the focus of the map moves the effects should follow the movement.

Pete Rigz(Posted 2009) [#32]
Yes, the particle manager has a setorigin command for exactly this purpose ie.
')More info about the basics can be found here.

beanage(Posted 2009) [#33]
I love this technology, excellent development!
Will buy it next time i have money :/

Andrej Vojtas(Posted 2009) [#34]
This is such an excellent timing, and such a complete product you have.

All is there: editor, documentation, tutorials, game example with source.
Single surface drawing and tweener integrated.

The example effects library is very cool, especially the full screen ones. Cosmic alien spiral is my favorite one ;) Energy Orb shows some creative use too.

Congratulations! I think a lot of people will find this very useful.

Pete Rigz(Posted 2009) [#35]
Glad you like it!

From my point of view I don't call it complete as there's so many things I'd still like to add :)

Pete Rigz(Posted 2009) [#36]
Just made a new update to this, both editor and the module. Added a new attribute called stretch, which stretches the particles depending on how fast they're travelling, this can give a great sense of motion to effects. Of course you can scale how much this happens by using the graphs. I've included a new effects library that comes with the editor to show the new attribute in action. There's a few other additions like:

* Added new attribute - Stretch. This will stretch particles depending on how fast they're travelling
* It's now possible to import more then 1 shape or animation at the same time
* The file menu now has a Recent list of most recently loaded effects libraries
* You can now organise effects in the library more easily by creating folders, dragging and dropping, and changing the order that effects appear in the list.
* Single particles now loop over thier overtime graphs.
* You can now drag and drop shape files from any file manager onto the shapes tab to load them into the editor
* New Background option - Use image: Load any image to be used as a background for the preview window
* Added a default icon for new effects added to the library

Plus a few more bug fixes.

_Skully(Posted 2009) [#37]
I don't think I have ever bought a library from someone else, I usually just code my own... you're really starting to tempt me with this one Pete!

Tachyon(Posted 2009) [#38]
I assume the editor is Windows only, but is the module cross platform?

Pete Rigz(Posted 2009) [#39]
The module is cross platform yes, there's at least 1 person using it on a Mac. The module is free to download so you can always download it and vaders for a test run.

The Editor is currently Windows only.

Brucey(Posted 2009) [#40]
The Editor is currently Windows only.

Boo :-p

_Skully(Posted 2009) [#41]
He did say "Currently" lol

Ok, what particular things create that barrier? is it the GUI used that is not cross platform?

Brucey(Posted 2009) [#42]
I imagine the only real issue is lack of developer operating system availability.

_Skully(Posted 2009) [#43]
Adding linux is easy enough... OpenSuse for one is particularly easy to install. Mac is a different story of course.

I'm sure there are some trustworthy people that would compile linux and Mac versions too.

Wiebo(Posted 2009) [#44]
Are there Lunix or Apple users you can trust?


Pete Rigz(Posted 2009) [#45]
hehe, basically windows only means, I still need to pull my finger out and get a Mac :)

AlexO(Posted 2009) [#46]
this is a really nice library. It'll be really useful on my project as it'll save a boatload of time from me having to roll my own :). Great job!

_Skully(Posted 2009) [#47]
ya its sweet and priced quite reasonably

beanage(Posted 2009) [#48]
Have you been inspired by the source engines new particle system designing your tech? The coolness of some of your effects remind me of the style effects in ep2 and dod:s look like (thats a freakin' compliment)!

(edit: no propably ValvE was inspired by TimelineFX when they ran outa ideas with their old particle system o0 :)

(edit2: why dont ya launch a project together with NateTheGreat? Unimaginable what might come out joining his SPH tech and your particle visualization algorithms!)

Pete Rigz(Posted 2009) [#49]
Thanks for the compliments! My biggest inspiration probably came from particle illusions, a particle system for video editing.

Episode 2 had some great effects, mainly due to some cool shaders. I'd like to make use of shaders somewhere down the line...

If anyone's interested I made a new emitter library with some environment effects like rain and snow, plus there's a few waterfall effects which I'm particularly pleased with! :) download here: http://www.rigzsoft.co.uk/files/Environment.eff

Bobysait(Posted 2009) [#50]
I suppose it's really impressive, Animations are wonderfull BUT !!!

Alpha is disabled in the editor ( I have not tested the module )

this is what I get...

(see my config in sig)

Pete Rigz(Posted 2009) [#51]
That doesn't look very nice :) Which of your configs is that happening on, or is it both?

Does it happen with vaders, the mini game I made with TFX? download link here: http://www.rigzsoft.co.uk/files/Vaders.zip

Thanks for trying it out :)

Bobysait(Posted 2009) [#52]
Vaders works very wel ( nice FX ^^ )

So, it just happens with the editor ( on my first config amd 64*2 4800+ Radeon HD 4850 )

for info : OpenGl runs very well on this config, but I have some alpha problems in FarCry 2 when Antialias is in use ( it occures the same problem that in the editor... Do you use AntiAlias ? )

Armitage 1982(Posted 2009) [#53]
Waw amazing work Pete !
If only TimeLineFx was available a year before I wouldn't have lost months to develop mine since this one is much more specialized !
Unfortunately my Particles editor is built-in game so I won't probably be able to use it without a complete rewrite :s (also because you are using a different tweening system from mine).

I see you are using the singlesurface mod from Indiepath.
I wasn't aware of that mod before ( http://blitzmax.com/Community/posts.php?topic=51647#793815 ).

Is the official declaration on OpenGL performance are still true ??
(OpenGL - 42% Less Video Ram 28% speed increase AND 57% faster than DirectX (nVidia Fx5200))
Probably ?
Did anybody run into a problem by using the OpenGl version of this mod over time ?

I don't want to miss the opportunity to speed up the rendering part of my game, that would be nice :)

Hope I would be able to use your engine in a next game :)

Pete Rigz(Posted 2009) [#54]
Noting different is used in the editor that isn't used in the module, except the fact that it runs in a wxCanvas. It just uses the default max2d settings... I take it you have the latest drivers?

Bobysait(Posted 2009) [#55]
I use two different graphics card on the config listed... so I use a driver that allows the two cards to run. It's not the last ATI driver, but it's not old at all ...

But now, I've got a new problem
It launch and SPlotch !

( SPlotch = It crash... )

Pete Rigz(Posted 2009) [#56]
Thanks Armitage. I think the speed up is very small if at all on modern GFX cards, but you may find those figures are close to the truth on older cards. Out of interest, what kind of timing code do you use? TimelineFX has its own timing module, but should work with any as long as you can pass a tween value.

Armitage 1982(Posted 2009) [#57]
Thanks for your opinion on this Pete.
I have looked at the source code and I see what's the point of this mod.
Effectively this could speed-up drawing on older cards.
But unfortunately I think this won't work out of the box with helper functions like DrawTexturePoly that directly play with UV parameters.

I'm using a combination of the Box2d Timing for smooth objects positional and a custom Tweening formulas (similar to the Adobe Flash one) for frame animations. I propose a list of various Tweening formulas for varying values over time which is not as precise as editable Bezier curves like in your editor.
Using your particles would be very possible but since I want to offer particles creation in my level editor I think I would need to rewrite a lot of things to fully handle your particles engine.

What I really like in TimeLineFx is the object oriented parental features. Particles can emit others particles like in particles Illusion ! Realistic particles can be achieved this wait. There is also a nice set of parameters.

I know you will have a lot of success here with your particle engine.
It's an obligation :)

Pete Rigz(Posted 2009) [#58]
Cheers Armitage.

Bobysait: Your not having much luck there are you? hehe. Erm, I'm not sure why it would suddenly stop loading like that, maybe you could try deleting the config.ini from the installation folder. Other people having difficulties like this seemed to point to driver issues, but that was on older GFX cards. I'll look into the anti-aliasing thing though, thanks for testing!

GfK(Posted 2009) [#59]
Think I might get this after all in a few weeks time, when I have some spare ££s.

Had another play with the editor earlier today. Brilliant bit of software.

_Skully(Posted 2009) [#60]
Pete Rigz,

I'm also using a custom system for drawing tiles as well due to my requirement to have scrollers and parallax effects and didn't want to store the images in different ways.

Have you played with collisions yet? I'm just getting into converting some of the Max2D collision functions to work with my system since I need pixel level collisions... just wondering if any of that code is already around .I hate reinventing the wheel when I don't need to.

Pete Rigz(Posted 2009) [#61]
Thanks GFK.

Collisions is actually what I'm working on now :)

_Skully(Posted 2009) [#62]
Ya me too... looking at creating the quads using partial uv coords... hope it works!

GfK(Posted 2009) [#63]

I notice that TimelineFX has its own timing module. I admit I haven't looked into the code as yet but I was wondering - how does this integrate into pre-existing timing methods?

I have a timing framework which looks like this - can't recall where I got it from:
format_code(' While (Not KeyDown(KEY_ESCAPE)) And (Not AppTerminate())
Until Self.timing.SUelapsed

If Self.timing.SUticks>1000 Then Self.timing.SUticks=1
For Self.timing.SU=1 To Self.timing.SUticks
Flip True
End Method')
This works perfectly but if I were to throw TimelineFX into the mix, would I have problems?

_Skully(Posted 2009) [#64]

Doesn't having
Until Self.timing.SUelapsed

waste CPU cycles?

Pete Rigz(Posted 2009) [#65]
You shouldn't have problems, TimelineFX uses fixed rate logic with tweening just like that, so it would go in something like:

While (Not KeyDown(KEY_ESCAPE)) And (Not AppTerminate())
Until Self.timing.SUelapsed

If Self.timing.SUticks>1000 Then Self.timing.SUticks=1
For Self.timing.SU=1 To Self.timing.SUticks
Flip True
Just have to make sure you use SetUpdateFrequency to tell TimelineFX what the update frequency is. The only thing is I can't see where your tween value is, but basically you just have to pass that to DrawParticles() to use render tweening. You don't *have* to pass it, but obviously things are a lot smoother if you do.

GfK(Posted 2009) [#66]
Hi - its fixed step timing, no tween value. Various timing methods seems to have their pros and cons, but this has always seemed to be the most solid. Although we all have our own preference I guess. My game runs OK on a P3-733 with this timing code, so I'm happy.

Thanks for the reply.

Pete Rigz(Posted 2009) [#67]
Yeh that's fair enough, well it will work without tweening just fine, that timing code looks basically much the same as mine, just without a tween value. Although it looks like you could just calculate a tween value anyway if you wanted to, I think it would be tween:float=Float(Self.timing.SUelapsed Mod Self.timing.SUtime) / Self.timing.SUtime, so if the particles weren't looking smooth enough you have that option.

So do you have a high update frequency then? I'm interested by the different timing methods people use :)

I reached a point in TimelineFX when I wondered if I should make it work with delta timing but decided against it in the end.

GfK(Posted 2009) [#68]
I use 60FPS. I get about 1/4 of that on the P3 but the timing code compensates for it so everything runs at the same speed, with fewer rendered frames.

BTW - check your email. ;)

Htbaa(Posted 2009) [#69]
@Pete Rigz: If a game does use delta timing (I use it by default actually) will this play nicely with the TimelineFX module?

Pete Rigz(Posted 2009) [#70]
I don't know, I guess it might depend on whether you can run the 2 timing codes at the same time which may well be possible, but possibly not ideal, you might have to experiment with that...

GFK: At work at the mo, but will check when I get home :)

GfK(Posted 2009) [#71]
GFK: At work at the mo, but will check when I get home :)
Doh! Don't work late!! :p

GfK(Posted 2009) [#72]

Dunno how often you check the TimelineFX forum but I just posted a couple of problems there. :)

GfK(Posted 2009) [#73]
First 'proper' effort with TimelineFX. Really easy to use - am extremely impressed. Anybody who doesn't buy it, smells of wee.


Htbaa(Posted 2009) [#74]
Nice explosion Gfk.

I've done a couple of attempts with the demo of the editor. But is it just me or is it just not possible to create new effects because of the demo?

I really feel like buying it but I'm currently not doing any game I can use it for. Currently only using BlitzMax for developing modules and simple Applications. Let me think about it ^_^.

Pete Rigz(Posted 2009) [#75]
lol, nice effort GfK, maybe try using stretch on the small particles that fly out. Creating particle effects is definitely an art form :)

Htbaa: I just double checked whether you can create effects in the trial version and you can, you just can't save at all. Edit -> New Effect. Then right click the new effect and select new emitter.

Wiebo(Posted 2009) [#76]
Creating particle effects is definitely an art form :)

I found out that creating particle images is a real art form.
Your engine looks cool Pete. Congrats. I'll stick to my own though :)

GfK(Posted 2009) [#77]
Yep, does look better if I use stretching and decrease it over the particle life, together with the velocity.

Pete Rigz(Posted 2009) [#78]

I found out that creating particle images is a real art form.

Couldn't agree more, a good particle shape can improve things a lot. I usually hunt around for photoshop/gimp brushes, like here: http://browse.deviantart.com/resources/applications/gimpbrushes/#order=9 and use those to make shapes.

Pete Rigz(Posted 2009) [#79]
Just uploaded a Mac version of the Editor if anyone's interested. Give it a try and let me know if you find any bugs. Thanks again to Brucey for the help switching over to the Mac :)

http://www.rigzsoft.co.uk/files/TimelineFXEditor.zip (Currently Intel Only))

CodeGit(Posted 2009) [#80]
Hi Pete

I purchased TimelineFX and it is a great product. I am using it to generate animated strips of explosions for my game. Is it possible to enhance the product in such a way as to allow a user to choose what colour to use as the transparent colour when saving/rendering as a bitmap strip?? For example, I need to use RGB(255,0,128) as my transparent colour which is pink. Maybe you can allow use of the alpha channel of a .PNG file? The problem is that the program always assumes that black is the transparent colour and this is not always correct for all aplications. If there is a way to do this and I have just misunderstood, I apologise.

Pete Rigz(Posted 2009) [#81]
Hello, there was a problem on some machines where animations were not being exported with alpha but this should be fixed with the latest version. If your animations are being exported with a black background despite checking the Transparencey checkbox when export, then check to see if you have the latest version and that should fix it. If it exports correctly then there shouldn't be any background colour at all, just transparent.

MGE(Posted 2009) [#82]
Stupid question, but does this export the strips in transparent.png format? Thx.

Naughty Alien(Posted 2009) [#83]
..is there any example of candle, torch and fireplace here...no smoke involved...I would really like to see those examples...interesting nice editor if animation strips can be exported..

CodeGit(Posted 2009) [#84]
Thanks Pete. I will check for a newer version.

Pete Rigz(Posted 2009) [#85]
Stupid question, but does this export the strips in transparent.png format? Thx.

Yes, animations can be exported with alpha channel eg:

Naughty Alien: I'll try and put together a few examples.

Pete Rigz(Posted 2009) [#86]
Some quick candle/torch/fireplace examples: http://www.rigzsoft.co.uk/files/flames.eff

Naughty Alien(Posted 2009) [#87]
..beautiful ! this is what I really needed long as i can export animated strips..does animated strips can be any size i desire (size of single image in strip) ?

Pete Rigz(Posted 2009) [#88]
Glad you like them, they could probably be improved a bit with a little more time spent :) The maximum size for each frame is 512x512 and anything in between.

_Skully(Posted 2009) [#89]
In a split window scenario how would TimelineFX handle that? Is it just a matter of viewporting the window and changing the world offsets with a double render?

{edit} In other words how would I fit it into TileMax

Pete Rigz(Posted 2009) [#90]
I think rendering twice for each view port, changing the origin for each one like you say *should* work fine, I've never tested anything like that yet though. I like the animation on that guy that runs about btw :)

_Skully(Posted 2009) [#91]
I wish I could take credit... he's a placeholder from the internet. I wanted a character with lots of animations... in this case 30 frames but all I have is right walking and (scaled -1,1 for left)

MGE(Posted 2009) [#92]
I'm almost sold on this, but before I dig in and spend alot of time, I appreciate your continued q&a. ;)

For exporting, can you define how large each "frame is" and then on the exported texture(s) can you define the size of each texture?

I want to be able to adjust the row/columns on each texture.

And it's also common to place "empty pixels" in between each frame. Can you adjust this border? The empty pixels is vital for gpu usage where artifacting can occur due to how the gpu filters textures when using a single surface system.


Pete Rigz(Posted 2009) [#93]
The number of rows and columns is assigned automatically so that the texture width/height is kept to powers of 2, for example a 32 frame animation where each frame is 128x128 would have a texture that is 1024x512. Did you have something specific in mind? There's also the option to export as one long strip but I doubt you'd need that :).

I like the idea of a border around each frame, I'll add that.

MGE(Posted 2009) [#94]
Thanks. Actually, re-thinking this, as long as it can do this it would ace. ;)

a) Define the size of each frame in the exported animation. Would be great if it was flexable to be any size, but powers of 2 would be fine. 32x32,64x64, etc, up to 512x512.

b) Each frame is saved as: namef1.png, namef2.png, etc, etc, up to the number of frames. Then we could piece the frames into our own textures anyway needed.

Is that possible? (Fingers crossed.)

ImaginaryHuman(Posted 2009) [#95]
I tried the Mac version, it's pretty nice. The realtime window seems just a little slower than it could be.. I saw like 5-600 particles and just seemed that it was starting to lag into the 25-30fps area with not a whole lot of rendering. What is used to render the particles, just like BlitzMax's DrawImage?

Other than the slight sluggishness it's a nice app, and reminds me of Particle Illusions, and is almost of a similiar quality, so well done.

Pete Rigz(Posted 2009) [#96]
MGE: You can already have any sized frame you want up to a maximum of 512x512, so for example you could have 49x193. As for each each frame saved separately I'll add that into the next version, along with the option to put a border around each frame like you mention before.

ImaginaryHuman: Thanks. I'm still trying to tweak the preview window on the mac as it just doesn't seem as responsive as the Windows version for some reason.

MGE(Posted 2009) [#97]
Ok, Pete thanks. After that next update, you'll get a purchase from me for sure. Please update this thread when it's ready. :)

Naughty Alien(Posted 2009) [#98]
Hi Pete..I did purchase as i said after tests i have done..very nice piece of software...I hope my animation strips can be exported with transparency...cant wait to try ;)

_Skully(Posted 2009) [#99]
Have you tried a dual / multiple render yet?

Pete Rigz(Posted 2009) [#100]
Skully: Haven't tried anything like that yet, might give it a go tomorrow though.

MGE: I've added those extra features, will probably release tomorrow once I've done the Mac version.

MGE(Posted 2009) [#101]
Awesome! Again, please update the thread to confirm the actual release. ;)

Pete Rigz(Posted 2009) [#102]
Ok, 1.09 is now available, and in addition to this the trial version allows you to export up to 4 frames of animation just so you can test things out a bit more easily. You can download directly from here: http://www.rigzsoft.co.uk/files/TimelineFXEditorSetup.exe

Windows only at the moment, Mac version will follow soon!

MGE(Posted 2009) [#103]
If I may, can I ask why you chose such an elabortate export method when all you really need is:

a) Choose export format.
b) Enter the # of frames in the animation.
c) Enter the width and height of each frame.

And then the program does everything else automatically including scaling/rendering the entire animation to fit in the requested frames?

Having to manually adjust the scale of the animation to fit in the requested frames is a massive time killer. Especially on some fx where you're not quite sure you got "every pixel" in the recording.

But......the program is awesome, you did a very good job with this. You need more explosions libraries big time. I would pay 9.95 per library if it had a at least 2 dozen fx in each library. Something to consider. ;)

Naughty Alien(Posted 2009) [#104]
i agree with MGE regarding paying for specific libraries..I would pay for additional libraries if they mee my needs, like you did with fireplace/torch/candle (of course more of these should be in library for payment), but i will pay for sure , same as i did for editor..one of the best software pieces i have..very very nice...

Naughty Alien(Posted 2009) [#105]
..by the way, Pete, do you mind to create some short example with few flowing lava fx (lava surface) ?

ziggy(Posted 2009) [#106]
I've bee testing this module and editor (demo) and all I can say is I love it.
the way everything is properly organized on classes, making code flow a dream to follow and particles do look great. additionally it has a very detailed documentation.
I just miss some examples on the docs and some small tutorials. Other than that, it seems perfect for what I'm looking for...

Pete Rigz(Posted 2009) [#107]
MGE: I agree that would be a good feature, and is something that's been on the to do list a while. It requires a bit of thought as the "best fit" can depend on quite a few factors, especially if the handle of a particle shape is offset somewhere other then centre. Maybe I'm thinking it's more complicated then it actually is though! I guess I should just pull my finger out and do it. :)

I'll have a think about making and selling "pro" effect libraries, if there's a market there...

Naughty Alien: I'll have a go at some lava effects, you mean like from a top down view? This brings me onto another thing I'd love to have which is an effect type for paths, so particles can follow a specific route.

I've gotten a bit slack with my to do list, need to re-organise it again and decide what I'm going to do next :) I was doing collisions so I can add reflectors/attractors but got sidetracked with Mac version.

Ziggy: If there's any particular tutorials you're after let me know, and I'll try and add them. I kind of like doing tutorials because I tend to look at things from a different perspective and end up fixing and improving a few things. :)

Naughty Alien(Posted 2009) [#108]
hey Pete...yes..lava from top down view, so i can modify is slightly and export for mapping over my mesh urface..in combination with heat shader it will rock, like i did with candles ;)..it should be in slow motion with cracks emitting variable light ..it will be awesome to have few of this variations...I have got some very decent vfx for my game, done with Editor and soon you will see in my game ;).. Lava pack would be an awesome...ill use it absolutely..it should be straight direction, paths direction , with some heat bubbles on surface, etc..

GfK(Posted 2009) [#109]
For what its worth I've managed to get some nice effects out of this but it took a while to get to grips with it. The way I worked it all out was to first, find a sample effect that was kind of like what I wanted, then pick my way through all the parameters to find out how it was done.

I do think that some tutorials would help immensely as I was pretty confused about it all at first, so, maybe a walk-through on creating a simple explosion effect or something?

Best program I've bought in a while, though. Well worth the price.

ziggy(Posted 2009) [#110]
I miss some tutorials on the module area, maybe just a small tutorial to see exactly what each class do. The simple one shows a bit about a particlemanager, an effect and an emitter, but it seems to be much more behind the scenes!

Also, I'm getting very confused on the editor. Not sure how to create a simple explosion, or whatever. haven't followed still the tutorial on the BlitzCoder yet.

MGE(Posted 2009) [#111]
"Also, I'm getting very confused on the editor."

Yah, that's the only reason I havn't purchased it yet. I'm not sure I'm going to be productive enough with it time wise. That's why I'd be more willing to purchase the editor plus several effect libraries. That way I could just tweak them a bit to suit my needs.

Pete Rigz(Posted 2009) [#112]
More Editor tutorials it is then :)

There's a few tutorials here in case you haven't seen them yet, and there's a few other help sections on teh web site.

MGE(Posted 2009) [#113]
Seriously.... 99% of your potential customers are just going to want to load a pre existing effect to their liking, tweak a bit and run with it. And I'm sure most would rather buy a library of ready to go fx then learn how to do them on their own. ;)

I would consider your time here, if you're willing to spend time doing tutorials, I bet most of your potential customers would tell you to just create a bunch of ready to go fx instead. Plus you could make some money for your time spent as well. Sure a few basic tuts are nice, but so many tools are developed and they just don't have enough "plug and play" addons ready to go and peeps lose interest. The more fx libraries you have (free or for sale) ready to go, the more peeps will want to purchase the editor.

Just sumpin to think about. ;)

_Skully(Posted 2009) [#114]
Doesn't it come with a bunch in the editor?

Pete Rigz(Posted 2009) [#115]
There's couple that come with it, and there's a few more you can download from my emitter forums on my website, but I should do a proper download page for them really.

_Skully(Posted 2009) [#116]
Like a Showcase...

MGE(Posted 2009) [#117]
Like a "shop" if you ask me. :) :) :)

Htbaa(Posted 2009) [#118]
Purchased it earlier today. Anyone knows some resources with free brushes?

Edit: I see Deviantart has a lot of em, but none of them are PNG. Can I convert those?

Pete Rigz(Posted 2009) [#119]
If you have Photoshop or GIMP (which is free), you can load brushes into that, draw them onto a new canvas and then just save as PNG.

GfK(Posted 2009) [#120]
I had the same problem. I found some packs of brushes for sale, but to be honest they're generally aimed at graphic designers, not particle systems.

Creating your own in Photoshop/Paintshop is easy with just some basic filters.

Htbaa(Posted 2009) [#121]
I found a tool called abrViewer.NET which can convert abr archives to separate PNG's. Only problem with it is that all brushes are black, and as such I need to manually change them to white. After that they work perfect in TimelineFX.

Htbaa(Posted 2009) [#122]
Have been playing with altering the existing examples and exploring the different features of the editor. Haven't figured out all the attributes yet but have only read through the manual once. Which was very clear by the way.

I like the looping feature for exporting an animation to a spritesheet. Although I'm not sure if I should use real time particles or pre-rendered. I think real time gives me more flexibility.

GfK(Posted 2009) [#123]
Although I'm not sure if I should use real time particles or pre-rendered. I think real time gives me more flexibility.
I'm using realtime particles too. I have so many effects throughout my game, it'd be VRAM suicide to use pre-rendered animimages.

Oh - at some point this week (time permitting) I'll be doing a review of TimelineFX over at Blitzmonkeys.com.

Pete Rigz(Posted 2009) [#124]
I think if you use the same effect lots of times throughout a game, eg. an explosion effect in a shoot em up, then that might be a good candidate to use an animation instead. Or you can combine the 2, and reduce the particle count of effects by using animated particles as I did with the explosion effects in Vaders, this can make for more complicated effects at a lower price in terms of cpu, and you can re use the animated particle in other similar effects. But of course, go over board and like GfK says, your vram will disappear quickly :)

Htbaa(Posted 2009) [#125]
Hmm just figured out that I can't use delta timing with the TimelineFX module, as stated earlier in this thread. That's too bad, as it means I need to rewrite some parts of my basecode. No biggie, but I have never done anything with tweening (concept is a bit vague for me at the moment) so any pointers are more than welcome :-).

Edit: By the way, using IncBin for loading a library doesn't work.
Edit 2: Could it be that it won't load a effect library with IncBin because of the locations assigned to shapes inside the xml file? I created a new library after imported some effects from on of your examples, and this is what's is stored inside the xml file.

format_code(' <SHAPES>
<IMAGE URL="Z:\TimelineParticles\ParticleShapes\BlastWaveAnim.tpa" WIDTH="256" HEIGHT="256" FRAMES="32" INDEX="0"/>
<IMAGE URL="Z:\TimelineParticles\ParticleShapes\Flare2.png" WIDTH="128" HEIGHT="128" FRAMES="1" INDEX="1"/>
<IMAGE URL="Z:\TimelineParticles\ParticleShapes\Flare4.png" WIDTH="128" HEIGHT="128" FRAMES="1" INDEX="2"/>
<IMAGE URL="Z:\TimelineParticles\particles\Glow1.png" WIDTH="256" HEIGHT="256" FRAMES="1" INDEX="3"/>
<IMAGE URL="particles/Spark1.png" WIDTH="256" HEIGHT="256" FRAMES="1" INDEX="4"/>
<IMAGE URL="Z:\animtests\Boilingsmoke3.tpa" WIDTH="128" HEIGHT="128" FRAMES="32" INDEX="5"/>
<IMAGE URL="Z:\animtests\fireburstcontinuous2.tpa" WIDTH="128" HEIGHT="128" FRAMES="64" INDEX="6"/>
<IMAGE URL="Z:\TimelineParticles\ParticleShapes\BlastWave10.png" WIDTH="128" HEIGHT="128" FRAMES="1" INDEX="7"/>
<IMAGE URL="Z:\TimelineParticles\particles\plume.png" WIDTH="128" HEIGHT="128" FRAMES="1" INDEX="8"/>
<IMAGE URL="Z:\TimelineParticles\particles\plume2.png" WIDTH="128" HEIGHT="128" FRAMES="1" INDEX="9"/>
<IMAGE URL="Z:\TimelineParticles\ParticleShapes\BlastWave4.png" WIDTH="512" HEIGHT="512" FRAMES="1" INDEX="10"/>
<IMAGE URL="Z:\TimelineParticles\particles\laser.png" WIDTH="128" HEIGHT="128" FRAMES="1" INDEX="11"/>

Inspecting the file with WinRar it shows the images are at the root of the file. Or are these file paths not being used?

Pete Rigz(Posted 2009) [#126]
The paths aren't actually used, it just uses the file name and extracts them from the zip. Incbin should work, I think other people have used it without any problems, is it saying it can't find the files then? I'll give it a test here.

There's an example of tweening in the module folder (tweener/doc/tTweener.bmx) which might give some pointers. Although I've just noticed I need to update it, before you run it replace

X:+speed / Tweener.UpdateFrequecy


X:+speed / Tweener.GetUpdateFrequency()

on line 27.

It was a spelling mistake in the variable name I fixed a while ago, looks like I forgot to update the example :)

Naughty Alien(Posted 2009) [#127]
..hey Pete..any news about Lava pack? :)

Pete Rigz(Posted 2009) [#128]
Hi Naughty, haven't gotten around to it yet, I've just been doing a lot of experimenting, mostly with fire and explosion effects, but I'll probably end up with a few things I can use from that for some lava effects :)

Htbaa(Posted 2009) [#129]
Hahaha, couldn't you just mention I should play with the frequency of the tweener? Impressive how smooth the rendering is when the framerate gets low. I changed the frequency of the tweener to 15 and the movement of the first oval is very smooth, whilst the second oval is very laggy.

So I'm convinced :-).

Edit: Hmm, still not fully getting it. If I increase the frequency of the tweener to, lets say, 240, then does this mean it'll try to display 240 frames per second? Because the animation of the explosion was quite fast :-).

Me being used to delta timing, this is confusing to me. Shouldn't the explosion just animate at the same speed as it does in the editor?

Pete Rigz(Posted 2009) [#130]
You need to make sure the TimelineFX module knows what the update frequency is by using


If it's not the same as tweener.updatefrequency then things won't be in sync, and the effects will update either faster or slower then they should.

MGE(Posted 2009) [#131]
Pete - Awesome program but I just don't have the time to build my own effects, so for now I'm going to have to pass on buying the product. However, if you create a library of explosions effects either free or as a commercial add on, I will purchase the editor and the library. It's much easier to tweak something already made.

Please consider creating an entire line of commercial fx for this program. There's a much larger market for this than just the Blitzmax market. I hope you realize this. ;)

Naughty Alien(Posted 2009) [#132]
agree 100% with MGE...i cant wait to see some decent lava fx pack with all movable, static lava surfaces and so on..i have long wish list but this one is priority at moment :)

Pete Rigz(Posted 2009) [#133]
Yep, I realise it :) I'm making good progress, it's been good just sitting down and using the software - I mentioned it before but creating effects is an art form that takes practice. Of course it highlights even more why ready made libraries make it more appealing, but it's still early days yet. I'm getting there steadily :)

Dabhand(Posted 2009) [#134]
Typo of the year goes to.... Pete Rigz for his comment in the Vaders example:-

Line 233

'if its shit by a player bullet then blow it up

*Dabz sniggers*

Great mod by the way, very pleased with my par chase! :)


Pete Rigz(Posted 2009) [#135]
lol, I'm good at typos me :)

Glad you like it :)

Htbaa(Posted 2009) [#136]
Question. How do I make sure the particles are rendered at the right position on screen (or not at all) when scrolling?

Lets say my playfield is 10.000 x 10.000 pixels big. I store my camera position in 2 globals (MapPosition_X and MapPosition_Y). The camera focuses on an object which has it's own coordinates, which can be something like 5800 x 6000, but gets displayed in the center of my screen as the camera focuses on it.

To calculate the right coordinates for rendering I do something like
format_code('DrawImage(image, x - MapPosition_X, y - MapPosition_Y)')

Where or how can I set the coordinates of my effects? If I want to emit the particles from some object and my camera focused object flies by then I want the effect (smoke for example) be positioned at the same spot as the object that's emitting it.

So far I've played with tlEffect.SetPosition and tlEffect.SetWX/Y but no luck so far. Any pointers would be nice :-).

Pete Rigz(Posted 2009) [#137]
You can set the origin of the particle manager using MyParticleManager.SetOrigin(MapPosition_X, MapPosition_Y). All particle drawing is offset by the origin of the particle manager. You might have to do something extra to line it up as by default a particle drawn at 0,0 coordinates is drawn at the centre of the screen.

So, if your mapposition is 0,0 and the coordinates of one of your game objects is 0,0, then is it drawn at the centre of the screen, or the top left of the screen?

If it's the top left then you'll probably need something like:

MyParticleManager.SetOrigin(MapPosition_X+GraphicsWidth()/2, MapPosition_Y+GraphicsHeight()/2)

_Skully(Posted 2009) [#138]
Had time to test dual render yet?

Htbaa(Posted 2009) [#139]
Ah thanks Pete, that did the trick!

Pete Rigz(Posted 2009) [#140]
Not yet Skully, hopefully I'll get around to it soon, just been concentrating on creating effects recently :)

Naughty Alien(Posted 2009) [#141]
..good good..effect packs are more than welcome :) man, i did extraordinary nice stuff with modified candle and fire stuff :) i got brilliant results with it combined with heat refraction shaders .. ;)

SpaceAce(Posted 2009) [#142]
This is pretty darn awesome. A few years ago, I owned one of the most popular (and not cheap) particle packages and the only thing it really had over this was annoying complexity. Excellent work, this might have to be my next BlitzMax-related expenditure.

I have noticed quite a few places where small changes would be nice (I'm good at this - ask jens). If you'd like, I can send you an email or register at your forums. Let me know how best to contact you.


Pete Rigz(Posted 2009) [#143]
Sounds good Naughty Alien, I'd love to learn shaders at some point

I'm always happy to hear ways of improving it SpaceAce, I've got my own list of things I want to improve and tweak especially since concentrating on creating more effects with it. You can post on my forums or email, whichever you like :)

ziggy(Posted 2009) [#144]
Just wanted to mantion this library and editor, once you get used to them, are both a pleasure to work with. I'm using some FX now in my current game and they're giving the game a very nice "touch"!

Pete Rigz(Posted 2009) [#145]
Cheers Ziggy!

I've added an emitter download section on the web site --->here<--- which include thumbnail previews of each effect in the library.

Amongst those effects are a couple of new ones including an explosions library with about 60 variations of explosions.

Naughty Alien, I had a quick play with lava effects, here's a few experimental ones: http://www.rigzsoft.co.uk/files/emitters/Lava.eff

I'm going to keep the emitters as free downloads, but at some point, probably after the next long list of updates are finished, I might put the price up a bit of the editor. That obviously won't effect anyone whose already purchased it :)

Htbaa(Posted 2009) [#146]
Screenshots look impressive. Downloading them now. Thanks!

Update: I like the toon explosions :-)

DaY(Posted 2009) [#147]
i also Highly Recommend this tool

if ur on the ropes about weather to buy or not just do it its a great bit of kit :)

Naughty Alien(Posted 2009) [#148]
hey Pete..thanks for trial..this should be good start, but I was pointing on to something like this examples

and of course, tileable so i can apply it on to my surfaces as I wish..so some should be in motion, some static with just variable glow intensity..that would be awesome :)

Pete Rigz(Posted 2009) [#149]
New update with a couple of new features and lots of bug fixes. Available on the downloads page for PC and Mac. You'll also need the latest version of the module if you want to use the zoom attribute properly which is available either via the downloads page. Let me know if you run into any issues!

I'm aiming for the next update to have a feature to export animations that are seamless around the edges so they can be used as animated textures.

Whats new:

* New feature: Auto fit for animations. Clicking Auto fit will size the effect to fit into the frame size of the animation automatically.
* New Graph Attribute: Global zoom. You can now scale the overal size of the effect using this effect attribute.
* You can now create a new effect with emitter by right clicking on a shape, this will assign the shape to the emitter aswell
* Creating an icon for an effect now also creates a 64x64 thumbnail which can be found within the efects file in Thumbnails folder
* Fixed x-axis of Weight attribute (visual error)
* Fixed tool tip on graph when adjusting a node in the top right of the graph
* Fixed bug causing folders not to be deleted properly
* Fixed bug causing changes in the order of effects within folders not saving properly
* Fixed a bug where a copied sub effect could not be deleted properly
* Loop marker now updates properly on the active graph when the effect's length value is changed
* Fixed a bug causing a crash when exporting animations with odd sized frames eg. 96x256
* Default effect icon now shows properly for effects within folders
* Fixed memory leak within the Animation Properties Dialogue
* Reverse Spawn Direction setting now saves properly to the effects file
* Fixed a problem with reverse animation direction causing a crash in animation properties
* Fixed a bug causing playback of an effect in animation properties not to work properly after exporting the animation.
* When you cancel the save dialog when exporting an animation, it no longer goes ahead and renders anyway
* Fixed a bug causing animation properties to get stuck updating very long animations
* Fixed a crash when the animation dialog was closed and either the x, y, width or height fields lost focus.

ZJP(Posted 2009) [#150]
Works only for Bmax.
It is possible to have a sort of rendering to a texture buffer for Blitz3D? ;)


Pete Rigz(Posted 2009) [#151]
I did use Blitz3D a while back and even released a little terrain engine with it, but alas, my Blitz3D days are over :) But of course, you can still export animations with TimelineFX and use in blitz3d, and the seamless textures are almost done too.

theHand(Posted 2009) [#152]
Pete Rigz, do you plan to allow for larger image exports (1024x1024) in the future? That would be the dealmaker for me, even if you raised the price to £30/£30+.

Pete Rigz(Posted 2009) [#153]
The only reason it's 512x512 maximum at the moment is simply because I have to grab from the screen and it's difficult to fit anything bigger onto the screen. However, the answer probably lies in rendering direct to a texture so I'll have to see the possibilities that lie there.