You code with your scripting language what you want to do with your particles etc... I used this kind of a scripting language. Once coded the desired particle efect with the script language, I parse it to check that it stands for thr languages specification.
After parsing the command I insert it in a "lookuptable" holding the commands in the order that we want to process them(same as in the script code, normaly from up to down

What I'm trying to say here is that every command in the script language has an operation assigned to it by the engine. When you create the desired particle effect with your script you kind of tell the engine what to render, when, how etc..
The great thing about this is that you don't have to rebuild your engine code to make a change in a particle effect. Thing of the time you'll save and allso the size of your code and the size of your executable.
Now you don't have to stop here, you can create a scripting language that may operate on other things than particle effects.
Like model rotation, lightinh operations, pre data assembly, scaling etc..
I think that a well designed script language can save you time and effort and for what come to speed hit, well thats where you have to be creative with the rendering code that communicates with your script language.
As I said above some sort of a fast good optimized "lookuptable" will do the trick. Well I don't know that well, but with carefull coding, design, imagination and steel nervers

Besides you can create a tool to handle the scripting language operations. Let's say a level editor that creates maps for you. You import model and put them in X place all over your 3D world. When you save the "map" in to a file you can use the script language to describe the models and their places.
And if you want to speed up the parsing of your script language, you should save the data in binary form.
Well dunno if this thoughts make any sense, but I think this kind of an approach will do well if it's done properly.
[edited by - LionheartAdi on June 17, 2003 5:55:06 AM]