Blog update - Client-side scripting and weapons

2»

Comments

  • GoldenprizeGoldenprize Join Date: 2006-11-05 Member: 58379Posts: 156Members
    edited June 2007
    great update and the gun artworks are great.
    and year, the cheating point is dangerous.
    Because user can made lua scripts that allow complex scripts to use e.g. bunnyhopping by one button or something.
    i know the client calls the server, thats the point.
    The server don't know if the player pressing buttons or lua?!
    Post edited by Unknown User on
    (remind: my english is bad , im a long time out of non-english school)
    bunnyhoppers are 6ay


    DEUTSCHLAND
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Posts: 4,107Retired Developer, NS1 Playtester, Forum Moderators, Constellation mod
    half-life 1 also has client side hit prediction and server side hit calculations with lag compensation. The source mechanism is not wildly different from the half-life one.

    Another great blog update guys. Ensuring consistency on the client might be best achieved by having the server transmit the client side components during map initialisation. This would have the added benefit of allowing server side lua mod developers to customise the client side components.

    I too share moultano's concern, in that some of the focus of the initial development will be on maturing the lua platform. We use abstraction layers a lot at the day job, and our golden rule is to never allow a limitation in an abstraction layer to deter you from a preferred solution to a problem.
    Retired NS1 Developer, currently making myself useful as a forum moderator - message me for any mod related requests.
  • RuByRuBy Join Date: 2002-12-12 Member: 10732Posts: 1,019Members
    edited June 2007
    Great entry again. While I'm excited that users will be able to contribute new features to the game, I'm a bit worried that NS servers will overflow with unnecessary addons. It's hard to find CS servers these days that don't have a Warcraft mod, statistics, and a bunch of Quake-like sounds which take 5 minutes to load - I would hate to see that happen to NS.
    Post edited by Unknown User on
    Rubber*ducky or Rubert in NS, Kaelwe in WoW, and too many other sobriquets...
    [ Blog · Art · Music ]
  • antyanty Join Date: 2003-02-05 Member: 13143Posts: 87Members
    What I don't really understand is:

    If you allow networking between client- and server side scripts, isn't the communication limited to a defined API?

    The server always expects a defined payload or am I wrong?

    So why should a client be able to alter the client-side communication?

    The only benefit would be to be able to directly react on server-side messages on the client side.

    So you could write a message each time the server tells you, that you aren't synchronized, or similar.

    Changeing topic:
    How do you make sure every client, who joins a server has the right client-side scripts, to react on server-side mods? Or are you planning to limit server-side scripts to the same amount like NS1 Mods are limited now? (Like if a server supports a special command, each client has to bind it himself)

    Very great post, please continue to report your progress to the community!
    anty.info - Webdevelopment Blog
    imageimage
  • AlcapwnAlcapwn "War is the science of destruction" - John Abbot Join Date: 2003-06-21 Member: 17590Posts: 1,965Members
    Good blog update.

    *IMAGE BALEETED.* Sigs may not exceed 400x75 and/or 40KB. No exceptions. -Talesin
  • cerberus414cerberus414 Join Date: 2005-05-07 Member: 51098Posts: 217Members, Constellation, Reinforced - Shadow
    QUOTE(puzl @ Jun 20 2007, 03:58 AM) »

    half-life 1 also has client side hit prediction and server side hit calculations with lag compensation. The source mechanism is not wildly different from the half-life one.

    Another great blog update guys. Ensuring consistency on the client might be best achieved by having the server transmit the client side components during map initialisation. This would have the added benefit of allowing server side lua mod developers to customise the client side components.

    I too share moultano's concern, in that some of the focus of the initial development will be on maturing the lua platform. We use abstraction layers a lot at the day job, and our golden rule is to never allow a limitation in an abstraction layer to deter you from a preferred solution to a problem.


    Puzl are you talking about the new "cl_pure 1" command for Source that forces certain settings on the client? Or am i completely off?
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Posts: 4,107Retired Developer, NS1 Playtester, Forum Moderators, Constellation mod
    edited June 2007
    No, I'm talking about an addition to the engine that would result in the server transmitting the script to the client as part of the precache. The scripts present in the client side assets would simply by ignored when connecting to a server, and lua mod writers would have an easy job enhancing client side scripting because they would only need to deploy their mod on the server. It might make sense to lock out client customisations completely, but I think there is room for a certain amount of flexibility on the client. For example, the game client could define a set of hooks that are invoked at various stages. These hooks would be implemented as a set of lua scripts in a the users configuration. For example, a script could be executed when a player switches role, passing the name of the new role as an argument. This would allow the user to select a variety of customisations including, and not limited to key bindings and visibility of hud components.

    Post edited by Unknown User on
    Retired NS1 Developer, currently making myself useful as a forum moderator - message me for any mod related requests.
  • SplatMan_DKSplatMan_DK Join Date: 2006-12-04 Member: 58892Posts: 9Members
    Suggestion: Client enhanced effects
    Make some client side scripting available, which would allow 3rd party effects and animations for certain events.

    I am pretty sure you would get the attention of the community if people could make their own "death scripts" with home-grown animations and sounds. I personally like to play Skulk ... and I would give a lot to see custom effects when I chew up a marine. Extra gory effects and screams, bodies cut in half, on the floor, etc. All just as extra client-side “bonus” which doesn’t bother the game in any way – it just enhances the gaming experience for the player.

    I realise you deliberately made the game “less-gory”, but allowing people to make custom client-side scripts with these effects could go a long way... and since nobody has done this before, it would be the second time you introduced new and cutting-edge concepts for the FPS genre. That kind of thing generally gives good publicity.

    There is loads of stuff which could enhance the game in this way. And allowing the community to make these things themselves would save you guys a ton of work – and make people happier at the same time. Everybody wins. …! Buildings crashing when they are destroyed, aliens splattered by grenades, marines inhaling gas, offence chambers firing … personally I would probably even consider buying these effects from the developers.

    :-)

    - Jesper
  • AndosAndos Join Date: 2003-10-17 Member: 21742Posts: 265Members
    Awesome blog update! smile-fix.gif
    Client side and server-side scripts would be quite the same wouldn't they? They should both keep track of amount of bullets, reloading and that stuff, but in the end the client side code is only there to prevent the server from being hammered with shooting events if the player is reloading and to make the game feel responsive to any action taken even though its effects takes about 50-100+ milliseconds to be verified.

    Clientside = prettyness - tells the player what the server told it
    Serverside = where the party is at! - verifies that the info sent from the client is valid and updates game-state and tells all other clients.
  • Iced_EagleIced_Eagle Borg Engineer Join Date: 2003-03-02 Member: 14218Posts: 1,285Members
    Awesome update! smile-fix.gif

    I love hearing more about the development process than the actual game right now...
    I code games. That is all.
  • AnimeLOLAnimeLOL Join Date: 2006-11-02 Member: 58275Posts: 114Members
    QUOTE(Reese @ Jun 20 2007, 07:13 AM) »

    It looks like that number is somewhere in the 25x range That said, as Max mentioned, the Lua code is a small fraction of the entire game, and is nowhere near performance sensitive. Also, don't take that benchmark at face value, there are a lot more smart C++ programmers updating it than there are smart Lua programmers. I'm guessing generally it is 10-15x slower, which is well worth the benefits of having a better language to program in for this case.

    Yes, so this confirms that you can't write a game engine in Lua, but that it works fine for small applications. Thanks Reese. I wonder what the JavaScript equivalent would be tounge.gif
  • ReeseReese Join Date: 2003-05-08 Member: 16143Posts: 701Members
    JavaScript is slower, and either some of the things available in Lua are nonexistent, or are implemented rather strangely. The NS team is probably better able to change Lua to support the kind of development they want to do than they can JavaScript. Sorry if I am kind of dominating this thread, I'm a bit of a language buff and am really excited when I see for-profit companies using languages that I find interesting. (or at least trading the speed of C++ for better language features where they can)
    Needs more cowbell
  • BigDBigD [OldF] Join Date: 2002-10-25 Member: 1596Posts: 1,055Members
    edited June 2007
    QUOTE(AnimeLOL @ Jun 19 2007, 10:46 PM) »

    I was just wondering because "scripts" are a very large category, including JavaScript (which, based on my experiences with Java, must be terribly slow).


    Despite the name, Javascript and Java are entirely seperate languages. The only thing shared between the two is the name. (Which came from an early Netscape/Sun deal or something and stuck.) ECMAScript is its official standardized name.

    Edit: Since I'm horribly off topic, just check out the Wikipedia entry for more infos!
    Post edited by Unknown User on
    image
  • RokiyoRokiyo A.K.A. .::FeX::. Revenge Join Date: 2002-10-10 Member: 1471Posts: 1,564Members, Constellation
    So am I right in believing now that server operators will now have the option to provide fully customised weapons & structures? Can these scripts be downloaded from the server and installed automatically by my client like other game resources?

    eg. Could I join a superman custom server, which gives every player a cape of flight and an eye-laser weapon whenever they use the superifying building (which all have custom models and sound effects), without having to download or install anything manually? And I can have a custom UI that doesn't interfere with that to boot?
    QUOTE (Nemesis Zero)
    Oh, on the subject of Gems gender, Revenge, see it this way: Once a person is more than a thousand miles away from you (and your IP ranges indicate just this), genders become optional.
  • KhaimKhaim Join Date: 2002-06-28 Member: 841Posts: 1,927Members, NS1 Playtester, Constellation
    edited June 2007
    Hmmn, out of curiousity MaX, if you guys have tested at all yet, how does the LUA CPU usage stack up to the equivilent built into the engine through C++? Taking Garry's mod as an example, the LUA scripting is an entire exponential level worse on the server end, and noticeably worse on client as well, though many of the things that are LUA coded in Gmod are what might be termed as 'experimental', so it's not the best reference.

    And only somewhat related, is any level of modifaction 'too much' to give to users in your/the development team's perspective? Gmod for instance has virtually all of its elements open to modification, where as other mods/games that allow user created content have some level of limits on them.
    Post edited by Unknown User on
  • FaskaliaFaskalia Wechsellichtzeichenanlage Join Date: 2004-09-12 Member: 31651Posts: 2,405Members, Constellation
    Interesting read. Especially the part about client-server interaction. Do you have an approach on the "delayed" death we have often seen in HL1 (and of course NS).

    While the average player kills a skulk with the first 15 LMG rounds he normally fires an additional 10 rounds, because the death notice needs to actually be transmitted from server to client and is not predicted.
    QUOTE(TychoCelchuuu @ Jul 30 2008, 03:51 PM) »
    The only similarity to Ground Control is that instead of arriving from a building, your dudes arrive from the sky. Why does that merit a meh?
    QUOTE(puzl @ Apr 20 2007, 04:38 PM) »
    You can mince it anyway you like, but if a government can take it a way then it doesn't really matter if it is a right or a privilege, does it?
  • GISPGISP Battle Gorge Denmark Join Date: 2004-03-20 Member: 27460Posts: 1,166Members, Forum Moderators, Constellation, NS2 Playtester, Squad Five Blue, Squad Five Silver, NS2 Map Tester, Reinforced - Onos, WC 2013 - Gold, Subnautica Playtester mod
    QUOTE
    In games with AI behavior code can get memory and/or processor intensive, as sophisticated AI takes a lot of resources. Since natural-selection is an entirely multiplayer game, the behavior is relatively simple. For example, the behavior code is relatively modest compared to the hit detection code used by Source, which is highly advanced and looks at player positions back in time to try and compensate for lag. I can almost guarantee that hit detection is a more expensive task considering how often it happens.


    Meaning a single player expansion is out of the question, or not hapeing in relativ "neer future"after the release?


    Forum Mod - UWE server admin - Have questions about NS2? Need help promoting NS2? Found a bug, or exploit? Or just want to say hi. PM me. Contact me for any immediate needs.
    Become a playtester - Buy NS2 here - Official stream - NS2HD youtube - Wiki
  • TychoCelchuuuTychoCelchuuu Anememone Join Date: 2002-03-23 Member: 345Posts: 10,501Members
    QUOTE(GISP @ Jun 23 2007, 07:34 AM) »

    Meaning a single player expansion is out of the question, or not hapeing in relativ "neer future"after the release?


    Right. Single player would be a huge amount of work.
    QUOTE (MOOtant @ Sep 21 2012, 11:06 AM) »
    What is wrong with being a racist?

  • vinnybcfcvinnybcfc Join Date: 2004-09-19 Member: 31801Posts: 5Members, Constellation
    edited June 2007
    QUOTE(cerberus5 @ Jun 19 2007, 11:03 PM) »

    EDIT: Read this, made lots of sense:
    Dunno how many of you played Gears of War, but when you shoot your gun, it takes like a half a second for it to make a dent in the texture. That tells me that it uses server side hit detection, more secure, harder to cope with.


    QUOTE

    This method is more secure though, since there is little ways in which your client could fool the server to think that you hit when it didn't. And hence, any cries of "aimbots" and "accuracy hacks" for BF42 and BFV are completely absurd and only show the ignorance of those that cry about them (they are virtually impossible with server-side hit-detection)


    Just to let you know the source you quoted doesnt know what he is talking about.

    He should research what he is on about before he goes around calling people ignorant

    Aimbots arent based on network communication, they are based on what is on the screen (looking at models and colours), entirely client side on any game.

    QUOTE(cerberus5 @ Jun 19 2007, 11:03 PM) »

    Thank god, NS1 is client side since its hard to kill aliens as it is. Image if you had to lead them. rofl. The drawback: there is more hacking.


    Again, I assumed you have come to that conclusion from reading this: http://forums.filefront.com/battlefield-2-...-detection.html
    Post edited by Unknown User on
  • acoxacox Join Date: 2005-04-15 Member: 48499Posts: 2Members
    edited June 2007
    Secondary Fire for Pistol suggestion:

    A one-shot "tranquilliser dart". It makes sense that this may fit on a pistol and can add a cool new feature to the Pistol. I envision it slowing an enemy Alien down for X seconds. To keep it from being overpowered give it a 2 or 3 second time to take effect.

    Possible Variants:
    -It could have a stronger effect on smaller Aliens (ie immobilising them for a short time).
    -Could slow fire rate of an Alien defensive structure that's hit.
    -Could drain Alien "Energy Bar" instead of slowing the Alien.

    I'm thinking that for most encounters this would not have a huge impact on gameplay; however, in certain situations it could be just what the Marines need. For example: a rampaging early game Onos that chages in and out of a marine base could be tranq'd. It would have a harder tame continually popping back out of the marine base to go heal. Similarly a Blinking Fade that bounces around marine base wiping everyone out then Blinking out to heal could be slowed down by a tranq and give marines a chance at taking him down before he gets away.

    Often the marine that fires off the tranq might not survive the encounter, but he gives his teammates a chance of taking out the big threat.

    I'm sure there are some other big pro's and con's for an alt-fire like this (It may be a pain in the ass to impelment for all I know). Let's hear your thoughts!
    Post edited by Unknown User on
2»
Sign In or Register to comment.