Announcement

Collapse
No announcement yet.

In-game weapon modifications

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    In-game weapon modifications

    This proposes a fixed set of discrete modifications for each of the standard weapons, to be made available in game, equally for all players.
    • "Mod" options would offer slight adjustments to properties such as projectile speed, projectile size, range, fire rate, etc.
    • All "mod" configurations would be strictly and carefully balanced — any advantage gained must always be offset by an equal disadvantage.



    To illustrate, let's take the Shock Rifle from UT3, specifically its projectile fire. Some of its relevant default properties include:
    Speed=1150
    Damage=55
    DamageRadius=120
    ComboDamage=215
    ComboRadius=275
    CollisionCylinder={ CollisionRadius=16, CollisionHeight=16 }

    One set of available "mods" for the Shock Rifle, then, could offer a faster `Speed` (say, 1250) in exchange for a smaller `CollisionCylinder` (say, {14,14}). Or, likewise, a slower `Speed` in exchange for a larger `CollisionCylinder`.



    This example is an over-simplification, of course. The practical implementation, I expect, would be to offer the available "mods" as independent options, where the player may choose which and how much of each modification to use.

    Here is a napkin-pencil mockup of the mod-selection UI:



    On first glance this probably recalls something like a "skill tree" from Borderlands. However, this would be much simpler:
    • the number of spendable "points" are fixed and constant for everyone
    • there is no concept of leveling
    • there is no tree-depth progression

    Again, simple is key: just a straightforward choose-what-you-want for each weapon class.

    Familiar default properties would correspond to median point-values for each modification, i.e. "2/4" corresponds to the usual rate-of-fire or whatever, "3/4" is a few percent faster, "1/4" is a few percent slower, etc.



    Beyond just hooray for more options/strategy, there are other benefits folded into this. For example, this offers a good mechanic for high-skill players to voluntarily handicap themselves against lesser-skilled players (just leave some points on the table unspent), and still be genuinely challenged.

    (The scoreboard might also display the value of such a self-imposed handicap next to a player's name — just so everyone's still clear what's what )

    And, of course, this may not be a fit for all games and all gamers — so the entire scheme could be disabled by the server with a single tick.




    And that's that, for now … feedbacks appreciated.






    Click image for larger version

Name:	ut-weapon-mod-ui.png
Views:	1
Size:	13.3 KB
ID:	352466
    Last edited by Veggie_D; 05-16-2014, 07:36 PM.

    #2
    This idea has alot of merit.

    Just clarifying: Adjust the stats to your client for whenever you pick up a weapon, like custom gun setups in the other games? Something you can adjust between rounds? Not happy with 3 round rocket loads, set it up for lower splash in return for 5 rounds loadable? That kind of thing?

    Only the purists with no vision could gripe about this idea. Besides, discovering and creating an "OP" setup and arguing it over with other players is always entertaining conversation, whether players admit it or not.
    Protocol is our alt-fire function.

    Comment


      #3
      Originally posted by 2Na View Post
      This idea has alot of merit.

      Just clarifying: Adjust the stats to your client for whenever you pick up a weapon, like custom gun setups in the other games?
      The way I think it'd have to be implemented is:
      • Through the UI, the client submits a configuration or "build" to the server.
      • The server validates the build. If accepted, the server associates the build with the player.
      • Conceptually the build can now be abstracted as a "function" that lives on the server.
      • Thereafter, whenever a relevant weapon event occurs (i.e., the player fires the weapon), the authoritative server calls this function early in the call stack for that event, and the function applies the modifications to the subsequent behavior. (Not unlike how `Mutator` or `GameRules` classes or similar offered a hook for altering game events.)


      What should be clear is that it's the authoritative machine applying the modifications all the way — no room for shenanigans from a nefarious client.



      Originally posted by 2Na View Post
      Something you can adjust between rounds? Not happy with 3 round rocket loads, set it up for lower splash in return for 5 rounds loadable? That kind of thing?
      I've no preference for when a rebuild/respec would be allowed. I can see it working between maps, between rounds, between deaths/spawns, or on the fly. (Maybe you could even "hot-respec" with a keybind!) That question fairly begs for its own setting, to be decided by the server admin.

      But yes, sounds like you've got the general idea.

      Comment


        #4
        Interesting idea.
        It reminds me a little about Unreals Dispersion pistol that could be upgraded while playing and morphed accordingly.

        Comment


          #5
          making an editable xml template into instantly-usable custom game settings sounds great. you mentioned that players would handicap themselves but i imagine this mechanic should be used to customize the weapon characteristics for everyone involved in the game, like an instant "mutator"-like option for the level itself.

          if you have every player alter themselves as they want it would cause more trouble than it would be worth.

          Comment


            #6
            Originally posted by homu View Post
            if you have every player alter themselves as they want it would cause more trouble than it would be worth.
            Or you could make alot of happy players. I'm not entirely disagreeing with you, but the industry has borne out that individual customization is a hit. Globally forcing mutators to weapon stats at an admin/clan-member's whim on their server seems like a surefire way to get people to shy away from many servers, and thus the game.
            But as you said, Homu, being able to fix global mutators on the fly without a reboot would also be a nice tool for any admin. Unless I'm misunderstanding you, from your statement: you aren't for individual player weapons tweaking, but for a "everyone-gets-altered-stats" real-time mutator tool.
            Protocol is our alt-fire function.

            Comment


              #7
              Originally posted by 2Na View Post
              but the industry has borne out that individual customization is a hit.
              when it comes to aesthetics, sure. their individual firepower capabilities are another matter entirely which is usually balanced by giving everyone the same rules/their abilities&weapons the same attributes.

              instagib is an exaggerated example of what you've outlined: maximizing the shock rifle's damage & erasing the rest of the arsenal. it's applied globally and everyone gets to instafrag their opponent if they're good enough. what you've described would make an easy setup for "fast-firing rocket launcher" matches or slowpoke redeemer spamming and the sort. it's basically homogenizing weapon attributes into a level setting option.

              Comment


                #8
                Originally posted by homu View Post
                instagib is an exaggerated example of what you've outlined: maximizing the shock rifle's damage & erasing the rest of the arsenal.
                That's a very astute observation about Instagib.

                As far as the built-in modifications available for the Shock Rifle, however, I'd be extremely wary of actually making Instagib one of the possible configurations. It's important that, out of the box, each of these "modlets" (I just made up a word) should apply only very modest changes to the standard behavior.

                As I think everyone would agree, balance is everything.



                That said, I think it does speak well to the extensibility of this customization framework that it could easily incorporate Instagib directly into the modifiable profile of the Shock Rifle. For example:



                Again, I very strongly doubt it'd be wise to make this available by default — however, this could be a good way, and even an objectively better way generally, for mutators on the server to provide these kinds of simple weapon modifications.



                What shines about this approach is the modularity, and how it presents a simple, understandable interface, to even the most novice of users, about what a particular weapon mod is, how it works, and how it fits in with everything else.

                And perhaps most importantly: in terms of software architecture, this modular approach is a more sound design — geeks will recognize the "I" in the SOLID principle — as it decouples functionality from implementation. It completely sidesteps the traditional "inherit everything" approach from past UT's, where you had to completely subclass a new derivative weapon, and usually its dependent classes (ammo, projectile, etc.) as well, each time you want to introduce a feature.

                As many a server admin has well learned by now, the traditional approach does not scale at all: it's not long before you're left trying to manage a zoo of mutually incompatible and competing mutators, where entanglement festers: the order in which they're loaded becomes critical, or worse, where using one may outright break any number of others.




                Click image for larger version

Name:	ut-weapon-mod-ui-shk-inst.png
Views:	1
Size:	15.9 KB
ID:	328596
                Last edited by Veggie_D; 05-16-2014, 09:18 PM.

                Comment


                  #9
                  Originally posted by homu View Post
                  when it comes to aesthetics, sure..
                  I was not, in any way, referring to aesthetics. I was referring to adjusting every property in subtle ways from rate, recoil, ammo, damage, penetration, mobility..you name it. Players around the world obsessively adjust their setups. To ignore this highly successful trend in the name of purity smacks of a mistake detrimental to the potential success of this game with anyone but the already existing fans.
                  Protocol is our alt-fire function.

                  Comment


                    #10
                    Originally posted by 2Na View Post
                    To ignore this highly successful trend in the name of purity smacks of a mistake detrimental to the potential success of this game with anyone but the already existing fans.
                    That is extremely, starkly true, and well said.



                    I'll also emphasize that, for a weapons-build feature like this to work, its design must not only demonstrate balance and simplicity, but also exercise restraint.

                    For all the individual modifications, the discrete gradations should be very modest — on the order of just a few percent. If the average newcomer cannot immediately distinguish one degree from the next, then that's probably about right. Even to the most experienced players, while they would certainly notice every last infinitesimal detail, if this is done right, they should feel like there's never any overall disruption or imbalance to gameplay as a whole.

                    Comment

                    Working...
                    X