Page 1 of 1
Scripting in Multiplayer Levels
Posted: Sun Oct 03, 2004 8:15 pm
by Kyouryuu
Here's a question.
Descent 3 has a lot of interesting scripting functions level designers can use. You see a lot of these in singleplayer levels such as those by Shoku and myself. Things like particle effects, pulsing lights, animated traps, fog transitions, switches, force fields, and so on. The force field trap in Infernal Bolt is a good example of scripting in action. Same goes for the "turbo tunnels" in Half-Pipe.
You rarely see these in multiplayer maps though, and I think this is true for two reasons. One, not many people understand how DALLAS works. And two, level scripts have to be compiled on a per-platform basis. So, a level compiled under Windows (using Visual Studio's compiler or EGCS) won't work correctly on Linux (unless you built it with GCC, I guess).
For me, the former reason is not applicable. But, is the latter reason? Are we so Windows-centric already that it doesn't matter? Would we sacrifice part of the Descent community to have levels populated with special effects and interesting mechanical twists?
Your thoughts...
Posted: Mon Oct 04, 2004 3:20 am
by Sirius
I suppose not all level designers are willing to spend the time to install and run extra compilers for Linux... off the top of my head I couldn't say I'd be able to either, although I probably could figure it out.
But DALLAS isn't really too hard. Let's just say, if you can't do that, don't take up programming...
Posted: Mon Oct 04, 2004 3:55 am
by Cuda68-2
I would gladly give someone shell access to my linux box to compile there levels for linux. GCC and other compilers come with linux as a standard part of the OS.
Posted: Mon Oct 04, 2004 4:28 pm
by Boo
I tried setting up scripting, it crashed my computer.
Posted: Mon Oct 04, 2004 6:16 pm
by pipsqueak10
The closest thing to scripting in a multiplayer level I ever did was to have an object constantly spewing smoke. (Come to think of it nobody played that level either). I tried the old Fire weapon from object when trigger (portal) was activated but while it worked on my comp in single player mode, it failed in multiplayer. To the question in point, I don't think having some minor scripting in a multiplayer level would stop players from trying a level (unless of course, it was a new level in which case nobody would try the thing anyway)
Posted: Mon Oct 04, 2004 8:17 pm
by Duper
scripting for those who are not schooled in it is cumbersome and laborious.
The little I've checked into was nothing less than overwhelming. I have a single player level that is still waiting go be released but is still needing scripting.
Unfortunately, this is the main way of controlling FX in all current games. And really this only makes sense. The truely unforunate part is that this puts level designing into the realm of the elite and esoteric. :
small FX like smoke and the like I should really learn, but its the larger scripting tasks; like AI triggers for over 200 bots O_o ... each one needs a name and a cause-effect path blah blah blah .. for each one. I'm whinning, I know. But in truth, it's Bioware's fault as I got really spoiled with DMB2's GUI for things that are now scripted. Scripting gives you much greater control, I understand, however, I feel like I need to take 2 qtrs worth of classes at the local community college.
That's my 2 bits.
And for those who have done scripting tut's, my hat is off to you and Thanks!
Posted: Mon Oct 04, 2004 9:26 pm
by Kyouryuu
Cuda68-2 wrote:I would gladly give someone shell access to my linux box to compile there levels for linux. GCC and other compilers come with linux as a standard part of the OS.
This is true. But, I think what we really need is a person
experienced with Linux Descent 3 compiling to write up a tutorial about how exactly it's done. Linux is easy enough to acquire. I use it frequently. But I know not how to compile a Descent 3 script with it.
And even then, you're leaving out the Mac pilots.
So my question is more along the lines of "Does it matter?" Or, is our community so small now that Windows can be safely presumed?
Posted: Mon Oct 04, 2004 11:46 pm
by Sirius
I had a recollection that it did matter depending what the server was running... and a lot of servers are still Linux. I think.
Posted: Tue Oct 05, 2004 4:52 am
by DigiJo
i think shiva converted a lot of scripted level for linux if sourcecode was included right?
planet x from fischlein for example had a lot of gameplay-scripting like teleporters, forcefield-traps etc in, but still that leaves out all mac user cause there was never a mac sdk as far as i know. so probably it would be a good idea to have scrpited fx /eyecandy stuff, but not gameplay-relevant scripts in mp-levels. that way even mac player can have fun in the game even if they are missing some fx then.
Posted: Tue Oct 05, 2004 9:02 am
by Stryker
After some help getting the scripter set up, I'm able to script fairly proficiently. If you've ever taken a programming class, even BASIC, you should be able to handle scripting easily. It can get a bit tedious at times, but it's well worth it seeing the look on your best friend's face when he flies obliviously into a tunnel where the walls open to reveal a bot trap.
It's not very hard, you just have to experiment with it for 5 minutes or so. Spews require only one script and naming an object. It's really not that hard. I could write some tutorials on scripting for PD if yall like...
Posted: Tue Oct 05, 2004 10:49 pm
by Kyouryuu
DigiJo wrote:i think shiva converted a lot of scripted level for linux if sourcecode was included right?
That's what he says.
But it would be far more useful if he simply documented
how one goes about doing this. What version of GCC is needed, if a specific distro works better than another, and so forth. I know, at some point, I asked on one of the forums about Linux compilation for one of my levels (probably Reactor Gamma) and he never answered.
Posted: Tue Oct 05, 2004 11:32 pm
by Sirius
If you want to use more tricky tools or make the script more efficient, it's also possible to edit the script source file by hand as long as you have a decent grip of C++.