Client Side Scripting
Tomgupper
Join Date: 2006-11-11 Member: 58529Members, Constellation
Firstly, Lovely work on the trailer, and I hope everything in NS2 is coming along swimmingly - me and my old NS friends have starting playing NS1 again in anticipation.
So essentially I have a question about scripting. I'm aware that the game has been built using LUA ( wonderful idea ) scripts for weapons etc. to make modding easier. I was just wondering the limitations that will be applied on client-side scripts ? ie, pistolscripting.
I Personally really dislike pistolscripting, blink/slash, leap/bite scripts and players who use them. Will NS2 allow such scripting ? Or will players have to rely on natural skill instead ?
So essentially I have a question about scripting. I'm aware that the game has been built using LUA ( wonderful idea ) scripts for weapons etc. to make modding easier. I was just wondering the limitations that will be applied on client-side scripts ? ie, pistolscripting.
I Personally really dislike pistolscripting, blink/slash, leap/bite scripts and players who use them. Will NS2 allow such scripting ? Or will players have to rely on natural skill instead ?
Comments
Any game mechanic that benefits from scripting should not be in the game.
The best practice is to allow and even facilitate scripting but remove game mechanics that anyone feels are exploitable. Such mechanics will be exploited with or without embedded scripting. Embedding scripting FORCES such mechanics to be acknowledged. (That is of course unless the game developers are completely ignorant and block scripts simply because they refuse to acknowledge major flaws in game mechanics.)
Any game mechanic that benefits from scripting should not be in the game.
The best practice is to allow and even facilitate scripting but remove game mechanics that anyone feels are exploitable. Such mechanics will be exploited with or without embedded scripting. Embedding scripting FORCES such mechanics to be acknowledged. (That is of course unless the game developers are completely ignorant and block scripts simply because they refuse to acknowledge major flaws in game mechanics.)<!--QuoteEnd--></div><!--QuoteEEnd-->
QFT
Classy <img src="style_emoticons/<#EMO_DIR#>/wink-fix.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink-fix.gif" />
<!--quoteo(post=1709471:date=Jun 2 2009, 12:26 PM:name=homicide)--><div class='quotetop'>QUOTE (homicide @ Jun 2 2009, 12:26 PM) <a href="index.php?act=findpost&pid=1709471"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Any game mechanic that benefits from scripting should not be in the game.
The best practice is to allow and even facilitate scripting but remove game mechanics that anyone feels are exploitable. Such mechanics will be exploited with or without embedded scripting. Embedding scripting FORCES such mechanics to be acknowledged. (That is of course unless the game developers are completely ignorant and block scripts simply because they refuse to acknowledge major flaws in game mechanics.)<!--QuoteEnd--></div><!--QuoteEEnd-->
Once again, I agree in principle, but would argue that any engine will open itself to exploits. Sure, those should be closed, but if the exploit is only feasible with automated assitance and the manpower and design costs of closing it are significant, a script limitation would be justified.
Scripting alleviates bad game mechanics (timing bhop jumps, pistol rof, +movement before there was +movement). Removing ingame scripting to prevent potential exploits does not remove the exploit; at best it moves them from the mainstream into the corner.
That being said, I think you missed what Nem0 was saying. I think he was simply saying that if patching the engine to disable the problem is incredibly time intensive, then a simple limitation on scripting could probably fix it (think _special).
That being said, I think you missed what Nem0 was saying. I think he was simply saying that if patching the engine to disable the problem is incredibly time intensive, then a simple limitation on scripting could probably fix it (think _special).<!--QuoteEnd--></div><!--QuoteEEnd-->
So your argument is that we shouldn't give students pencils because they make it easier to stab and kill people? I'm not sure why you separate mwheel and scripting, same thing, different word. _special should not have been removed, in fact, it should have added it to the options menu. Hell, it should have been the default jump and attack alias.
Second, let's assume a griefer script that creates ping spam-based server slowdown - say, a repeated order giving / cancelling script in commander mode. Let's further assume that a simple cap on order frequency turns out to severely hamper high-skilled play because inputs per minute can be meaningful during forward base construction. (Contrived, I know, but I never said the kind of exploit I was describing would be a frequent occurance.) My point is simply that in such a no-win situation, a slight reduction of the scripting system's power might be preferrable to the other options.
Hell, I'm writing papers on prosumer integration. I'm a fan of game moddability. I just don't think that it should be treated as an article of faith.
Analogies are always faulty. A closer one would have been that we should hard code a limit in pencils that keeps them from being stabbed into people (but that is faulty as well, just slightly less faulty, mainly because real life is more complex then a game, and the 2 situations have no bearing on each other), which really is what you suggested as well, just I said that it is fine to patch it out via removing the ability to do it, and you want to remove it completely from the engine, something I don't think is always possible. For the mwheel thing, there you have to define scripting. To me Scripting is using scripts, not changing your binds. The difference to me is that binds can be done via the in game gui with no additional knowledge, where as scripts require additional knowledge that is not common.
TBH, I have no issues with scripts (though I use none my self), I think there were issues with _special in that it broke aspects of the game, though I admit I am not overly familiar with it (it allowed you to create an infinite loop IIRC, but I don't know if it allowed other other commands in when it was in use, which was always the limiting factor of scripts). A good portion of your argument seems to be that you think that certain things that people see as skills simply should not be in the game at all (which makes me wonder why you think that scripting out jumps is bad, but BHopping is fine)
Ninja Edit because Nem0 posted before me:
Really he says everything I just did but better.
Can you do that with a script? Because I can't.
I can do it with out the script though (well, with more regularity), as I can pick exactly where I want to land and how high I want to go. It also doesn't break on ramps and such...
And that is why I have no issues with Scripting in source/gldsource, they are inherently limited, and a really skilled player can perform better then the script.
Everyone else should play fair. And just because someone was "smart" enough to discover scripting or an exploit in NS1 which gave them access to tools that weren't originally intended as part of a gameplay in NS, doesn't make them a "skilled" player, simply makes them a cheater.
That's why you should practise to be skilled enough to do that every time, having a script do it for you makes you only lazier and more unskilled.
Everyone else should play fair. And just because someone was "smart" enough to discover scripting or an exploit in NS1 which gave them access to tools that weren't originally intended as part of a gameplay in NS, doesn't make them a "skilled" player, simply makes them a cheater.<!--QuoteEnd--></div><!--QuoteEEnd-->
No one has called scripters skilled. I have been arguing that skilled players can out perform scripters as they have more flexibility.
The big one on scripting in Source/GldSource was that it really can't do anything that a normal player could not do (with the possible exception of _special).
<insert count down here till scripting is a banned discussion topic!>
Last note:
This is all a non issue. We don't know how scripting will be the NS2 engine (We need a name for the engine), thus the entire discussion is moot.
The big one on scripting in Source/GldSource was that it really can't do anything that a normal player could not do (with the possible exception of _special).<!--QuoteEnd--></div><!--QuoteEEnd-->
Just because there are perfect shooters out there, doesn't mean they should allow the usage of Aimbot to the rest.
Being a perfect shooter is not cheating, therefor allow aimbots.. that's what you're basically saying.
If there are people who can shoot 10 pistol shots in a second, I bet it took them awhile to learn to do it and I bet if they do it over and over, eventually it's gonna hurt their finger. If they managed to achieve this kind of skill, I guess they deserve it.
But I don't think that it's fair that everybody should be capable of doing it through scripts or binds, because then it's no longer a skill, it's automated script. Just like Aimbotting.
<strike>I see how it makes me "lazier", but less skilled? no. Most of the time i can hit the right keys to perform the "perfect" rocket jump. The script allows me to do it everytime putting me at my most skilled point everytime.</strike>
<!--quoteo(post=1709524:date=Jun 2 2009, 06:37 AM:name=SjN)--><div class='quotetop'>QUOTE (SjN @ Jun 2 2009, 06:37 AM) <a href="index.php?act=findpost&pid=1709524"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Just because there are perfect shooters out there, doesn't mean they should allow the usage of Aimbot to the rest.
Being a perfect shooter is not cheating, therefor allow aimbots.. that's what you're basically saying.
If there are people who can shoot 10 pistol shots in a second, I bet it took them awhile to learn to do it and I bet if they do it over and over, eventually it's gonna hurt their finger. If they managed to achieve this kind of skill, I guess they deserve it.
But I don't think that it's fair that everybody should be capable of doing it through scripts or binds, because then it's no longer a skill, it's automated script. Just like Aimbotting.<!--QuoteEnd--></div><!--QuoteEEnd-->
I totally understand your point.
If it isn't banned by now...
<!--quoteo(post=1709521:date=Jun 2 2009, 10:24 AM:name=Thansal)--><div class='quotetop'>QUOTE (Thansal @ Jun 2 2009, 10:24 AM) <a href="index.php?act=findpost&pid=1709521"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->This is all a non issue. We don't know how scripting will be the NS2 engine (We need a name for the engine), thus the entire discussion is moot.<!--QuoteEnd--></div><!--QuoteEEnd-->
I'd say all the more reason to discuss it. Although I was hoping for a discussion about interface modifiability instead of the usual.
The only script that is used commonly now is the triple-hop for bhop script(literally jump three times in rapid succession). It's arguable that this is shoring up an artificial interface limitation.
Before someone jumps up with "a pistol script avoids and 'artificial' interface limitation too" let me explain the difference. The devs accept bhop as a worthwhile part of the game while instantly unloading your pistol(fixed a long time ago) is not something they view as part of the game. This is based on the logic that bhop adds a skill move to the game while the pistol script does not. So the pistol script limitation is not "artificial" but intentional. Whereas the devs would prefer it if bhop was more accessible in NS1.
In this way I agree with <b>homicide</b>'s premises, but not his conclusion. Game aspects should not require scripts to work, nor should they be greatly affected by scripts(NS1 works pretty well w/o scripts IMHO). In this way scripts are simply not needed. Allowing scripts with the hope that scripting/macro exploits will be caught earlier is an interesting proposal, and may be desired for the alpha/beta(if it doesn't require extra work by the dev team), but I think disabling scripts will greatly reduce the exploitation of any harmful macro and make such exploitation easy to spot in Full Release of NS2 .
The argument of enabling scripts for the disabled is noble, but is based on the misconception that scripts can play for you. They really can't.
That is kind of an interesting take. I my mind it is actually just the reverse. If scripts do not greatly effect the game, then they should be let in.
Also, as you defined the jump script, but not the current pistol script I figured I would poke that in here:
All a current pscript does is let you fire bullets with fewer clicks, generally by binding attack to both the click and release of a button. The interesting thing there is that you now have to control your clicking much more than with a normal +attack bind because you have to slow down when you release the button so that it is within the RoF cap (something I have issues with, I am better with out the script or just binding it to mwheel).
Thats the most silly thing Ive heard in a while.
Who said that?
Thats the most silly thing Ive heard in a while.<!--QuoteEnd--></div><!--QuoteEEnd-->
Yah, I know! Seriously, being able to hit fire rapidly, or being able to accurately turn quickly, or begin able to move your mouse to the left as you hold D, or any of these things!
Games should reward you for actual valuable skills! Like being able to balance your checkbook, or bake a cake, or accurately file your tax returns!
<img src="style_emoticons/<#EMO_DIR#>/tounge.gif" style="vertical-align:middle" emoid=":p" border="0" alt="tounge.gif" />
It is a game, thus being able to shoot faster then the guy next to you is a good skill to have.
Locally: I did (I think)
And if I didn't, I did now!
you give me too much credit
<!--quoteo(post=1709509:date=Jun 2 2009, 05:57 AM:name=Nemesis_Zero)--><div class='quotetop'>QUOTE (Nemesis_Zero @ Jun 2 2009, 05:57 AM) <a href="index.php?act=findpost&pid=1709509"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Second, let's assume a griefer script that creates ping spam-based server slowdown - say, a repeated order giving / cancelling script in commander mode. Let's further assume that a simple cap on order frequency turns out to severely hamper high-skilled play because inputs per minute can be meaningful during forward base construction. (Contrived, I know, but I never said the kind of exploit I was describing would be a frequent occurance.) My point is simply that in such a no-win situation, a slight reduction of the scripting system's power might be preferrable to the other options.
Hell, I'm writing papers on prosumer integration. I'm a fan of game moddability. I just don't think that it should be treated as an article of faith.<!--QuoteEnd--></div><!--QuoteEEnd-->
Your example is contradictory and supports my argument. Scripting has nothing to do with the problem and changing the scripting system would not prevent it anyways.
<!--quoteo(post=1709510:date=Jun 2 2009, 06:01 AM:name=Thansal)--><div class='quotetop'>QUOTE (Thansal @ Jun 2 2009, 06:01 AM) <a href="index.php?act=findpost&pid=1709510"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->A good portion of your argument seems to be that you think that certain things that people see as skills simply should not be in the game at all (which makes me wonder why you think that scripting out jumps is bad, but BHopping is fine)<!--QuoteEnd--></div><!--QuoteEEnd-->
Bhopping is an extremely abstract mechanic that can be developed but never mastered. The same cannot be said about any mechanic that can be scripted. This is one of the fundamental constructs that makes "games" entertaining. As game theory would put it, bhopping is dependent on the competitor. One must alter their actions (bhopping in this case) according to their competitors actions. Bhopping encompasses every aspect of a great game mechanic. Timing jumps and rapidly shooting are not abstract, their development is extremely limited, and they do not change depending on your competitors actions.
Again, anything that can be scripted inherently falls into this category of "crappy things that need to be wiped." Scripting allows players to wipe the lingering crap off the asses of the developers after they finish dumping the bulk of their excrement into the crapper. ("crapper" being used figurative for the ns community in this case)
Not going to moderate you while I'm in a conversation with you, but really, is this necessary?
I don't see how it is contradictory or supports your example. He also provides an example of how changing the scripting system would prevent it.
Looks like the trolls are back out in force.
Then players that want to play with scripts get to play with other scipting players, players that don't like scripts can play in scripting free servers while players that don't care still doesn't have to care.
Not going to moderate you while I'm in a conversation with you, but really, is this necessary?<!--QuoteEnd--></div><!--QuoteEEnd-->
You stated that 'skilled players' reach the speed without the use of scripts. One can therefore assume any player 'intentionally' trying to spam it (without scripts) would also match that speed and lag the server. It is a contradiction to say that someone can cause the problem without the use of scripts then state that limiting scripts would solve the problem.
The simple fact is this: No game of a sufficient complexity is going to be as flawless as you seem to demand here. There will always be internal conceptual and technological conflicts of some degree (my current employer can actually prove this one mathematically). This will lead to trade-offs.
Not really, there's a huge difference between a few practiced people occasionally reaching spammable speeds in pursuit of gameplay and a spam inducing script available to anyone who can click a mouse.
I agree with what homicide said on scripting removing bad game mechanics - in NS1, 3jumps and other bhop scripts actually help out "bad" players more so than experienced players. Chances are the experienced player can time his jump perfectly, which was obvious watching ladder games with mp_blockscripts on. And I think everyone would agree that leveling the playing field all round is a good thing, rather than having a feature (in this case bunnyhopping) in the game that only one group of players readily has access to. And yes, I know someone's going to chime in "but bad players could bunnyhop too if they practiced" but my point is that to bunnyhop successfully you need to understand the game mechanics for it, and the majority of the players out there really do not - it makes sense to even it out.
I don't think scripts are a bad thing. I also don't think giving server operators the ability to block them is a bad thing (it's their server after all), but I think the events surrounding how mp_blockscripts was implemented in NS1 gave scripts a seriously negative stigma. Bad juju there. I'm curious to find out what the plans are for NS2 and scripting - I know bunnyhopping won't be in NS2 (though they've mentioned a nonspecific alternative) but hopefully there will be a user friendly scripting feature available.
It would be <b>way</b> more useful if everyone would cease using NS as a frame of reference, and instead focus on more modern games with client-side modding. I mean, bunnyhopping was a bug from a 15 year old engine (which, yes, was very fun to exploit). It's kind of hard to imagine physics exploits in modern games, isn't it?
I was actualy angry when I found out the Cap on the Pistol and it did literaly Jam on me (inmidst of a Stampede - ouch!) as I was able to surpass it's Limit by roughly twice the Shots allowed, so my stand on that should be clear.
In my Opinion the Classes abilities wheren't well thought out, and this imbalance did make it necessary for the Scriptusers to employ them.
Those Scripts would've lost their meaning if Skulk and Fade had the respective Abilities i.e. as Duckjump (or extra Bound Key if necessary), as was later the Way it got introduced to at least the Skulk iirc.