proposed alien vision change

2»

Comments

  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    what needs to happen to get the trello box to have blue and orange markers and get it moved to "needs approval"?
  • GhoulofGSG9GhoulofGSG9 Join Date: 2013-03-31 Member: 184566Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Reinforced - Supporter, WC 2013 - Supporter, Pistachionauts
    roxxkatt wrote: »
    what needs to happen to get the trello box to have blue and orange markers and get it moved to "needs approval"?

    I did move it to "needs approval" and tagged it correctly. For now it's up to the cdt lead to approve it or not.
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    muchas gracias amigo
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    edited January 2015
    also i hope ironhorse eventually sees this, as he seems really into the alt hud, and this is a viable alternative
    this will also be a huge step forward and will work well with the "Re-do alien Hp/Ap/Ep bar graphics" and "Rework Alien Vision" cards




    ive also had a thought about splitting the demo mod into a lua mod and a shader mod, and then introducing another shader mod as a second example that doesnt show the info as an overlay and instead shows things like losing hp makes environment red or something like that

    i would love to see what other people can do with the new stuff, but i have a sneaking suspicion that it will be a very long time until i do
  • DecoyDecoy Join Date: 2012-09-11 Member: 159037Members, Super Administrators, Playtest Lead, NS2 Playtester, Squad Five Blue, Squad Five Silver, Reinforced - Shadow, WC 2013 - Silver, Subnautica Playtester, Subnautica PT Lead, Pistachionauts, Retired Community Developer
    @roxxkatt you can tag him by doing @Ironhorse and he'll get a notification :)
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    another idea:

    it would be fairly easy from this point to put a slider in game options to control complexity level of the av, and a 0-1 float value could be passed to the shader to control enabling different parts of the shader, so a value of .1 could resemble something like huze and .9 would be similar to something like ukes or mine
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    still unresolved:

    the vertex shader is nonfunctional.
    i suspect the bug was introduced when the engine was changed to include glsl
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    1 more thing:
    currently i do entity checking by
    float model=tex2D(depthTexture,texCoord).g;
    if(model > .5) //color of objects
    if(depth < 0.5) //bitey teeth


    and according to samus if(model == .5) is for objects that have decals on them...


    1) i dont know how or where this is done, but is it possible to have more special values for things such as skybox (another trello card fixed right here), friendly structures, friendly players, enemy structures, enemy players?


    2) additionally, it would be nice for hive vision to have a different color for parasited enemies than it does for teammates
    3) and it would be nice to custom style the colors without being blocked by server consistency checking on a single file which i assume is to prevent extending active range of operation
  • NordicNordic Long term camping in Kodiak Join Date: 2012-05-13 Member: 151995Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    Again, I would like to remind you of the Edit Feature that exists. It is just nice forum etiquette.
  • YojimboYojimbo England Join Date: 2009-03-19 Member: 66806Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    She likes posting to herself :wink:
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    or maybe its a series of separate topics that can be quoted independently


    either way it would be nice if we could differentiate between ally and enemy in darkvision and hivevision
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    added new pictures to page 1 and workshop mod
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members

    roxxkatt wrote: »
    another idea:

    it would be fairly easy from this point to put a slider in game options to control complexity level of the av, and a 0-1 float value could be passed to the shader to control enabling different parts of the shader, so a value of .1 could resemble something like huze and .9 would be similar to something like ukes or mine


    McGlaspie

    This should and will require the Options menu be modified so player's can select AV "Detail Level" and what not.

    May 31, 2014 at 4:47 pm


    seems someone was already discussing that
    interesting
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    edited January 2015
    IronHorse wrote: »
    @roxxkatt‌
    Yea I knew about your request.
    The explanation of why it was archived when I asked an engine developer :

    Basically your method does have a performance loss that we are unwilling to accept.

    MCG says:
    Each time shader:SetParameter() is called, it forces a Lua->C->Lua instruction sequence. So, generally you would *not* want to be doing that every frame...PLUS...each one of those calls is going to have to do callbacks back into all the associated Lua (and possibly C code) in order to get the data for those 'SetParameter' calls. And to top that off... *all* of the changes are ran in the Alien:UpdateClientEffects() call....which is run every frame. So, the performance impact would scale upwards, and a player's system specs scales down.
    It incurs a cost regardless of what a player's graphics settings are at. So, it'd be a badly designed performance hit and forced upon all players. Not a good scenario.
    roxxkatt wrote: »
    @IronHorse‌ wouldnt the alien hud be making those exact same function calls every frame?

    i did make a mod with the proposed changes, and ran them on the highest graphics settings, and did not experience any fps drop at all.
    has this been tested?


    also, it would be TRIVIAL to add a if(framecount++ < 10) {dothings(); framecount=0 } if people were concerned about performance




    just as an update to anyone reading this, it has been shot down for performance reasons despite having less performance impact than the alien hud because their shader interface is poorly designed or something, and the option of a frame update limiter has simply been ignored. Additionally, considerations to remove some of the values such as speed and armor were similarly not considered.
    this also was not submitted to playtesting to confirm the performance allegations

    additionally, because this was targeted for 273, when they decided to change AV to huze, was the reason i was pushing so hard to get this added.
    because it has been passed over for 273, CDT is now returning a new stock response: "We aren't going to change AV again, so adding the params would not have much use in vanilla".

    It appears this will not be added to ns2.
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    however, the new vanilla AV does look far nicer than the old horrible orange one, even if it is less capable than it could be
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    edited January 2015
    @IronHorse‌ @McGlaspie‌ @SamusDroid‌
    since performance concerns were mentioned, and playtesting was not used at all, i took advantage of the fact that CDT essentially forced me to make the proposed changes into a mod to objectively test performance myself, since apparently noone else was going to.

    i started a server on my machine using the ns2 client, enabling net_stats in console, then connected to it with no players first using the new vanilla huze AV, then using the proposed changes. to keep results consistent the same map was used, and 3 screenshots were taken in a skulk with the AV on in the same spot on the map.

    the results were interesting.
    with the proposed changes, the FPS was recorded at 59.00, 59.41, and 57.98
    with the standard av, the FPS was recorded at 47.65, 46.85, and 47.50

    somehow, the performance got EVEN BETTER using the proposed changes.
    while using NO REMOVED PARAMETERS and while using NO FRAME UPDATE LIMITER.

    this can be independently verified.
    i will not post the screenshots here due to space, but i will keep them on hand to be presented to anyone that asks.
    i suppose the only counter to this is that i am testing this on a high end machine, at which point it would need to be tested on a crappy computer as well.

    i want to keep pushing for this because it opens up new doors to creative new things in the community.
    you would be surprised what people will make when you allow them to.
    the fact that you are currently adding huzes av is a testament to this.

  • meatmachinemeatmachine South England Join Date: 2013-01-06 Member: 177858Members, NS2 Playtester, NS2 Map Tester, Reinforced - Shadow, WC 2013 - Supporter
    Disregarding roxxkatt's terrible posting ettiquette, I'd like to see this change if indeed his performance-related claims are true. Would someone care to verify/rebut?
  • YojimboYojimbo England Join Date: 2009-03-19 Member: 66806Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    Disregarding roxxkatt's terrible posting ettiquette, I'd like to see this change if indeed his performance-related claims are true. Would someone care to verify/rebut?

    To be honest I have no clue exactly what its talking about, not going to pretend to, so this makes AV better... how?

  • meatmachinemeatmachine South England Join Date: 2013-01-06 Member: 177858Members, NS2 Playtester, NS2 Map Tester, Reinforced - Shadow, WC 2013 - Supporter
    edited January 2015
    Yojimbo wrote: »
    Disregarding roxxkatt's terrible posting ettiquette, I'd like to see this change if indeed his performance-related claims are true. Would someone care to verify/rebut?
    To be honest I have no clue exactly what its talking about, not going to pretend to, so this makes AV better... how?
    @Yojimbo
    Looking at the code he posted, I think this is the important bit:
    useShader:SetParameter("on",darkVisionState and 1 or 0)
                useShader:SetParameter("time",Shared.GetTime())
                useShader:SetParameter("starttime",self.darkVisionStartTime or 0)
                useShader:SetParameter("endtime",self.darkVisionEndTime or 0)
                useShader:SetParameter("alive",self:GetIsAlive() and 1 or 0)
                useShader:SetParameter("health",self:GetHealth()/self:GetMaxHealth())
                useShader:SetParameter("armor",self:GetArmorAmount()/self:GetMaxArmor())
                useShader:SetParameter("energy",self:GetEnergy()/self:GetMaxEnergy())
                useShader:SetParameter("speed",self:GetSpeedScalar())
                useShader:SetParameter("shield",self:GetHasMucousShield() and 1 or 0)
                useShader:SetParameter("bio",bioMass/maxBioMass)
    

    Basically what this means is the AV colours will be able to be modified based on the values of these.
    Lets take "useShader:SetParameter("speed",self:GetSpeedScalar())" for example. The AV could change colour based on how fast the skulk is going! Relativistic near-light-speed effects anyone? :P

    There are also parameters for mucous shield, HP, energy etc. One could concievably have different hues/saturations for energy and HP so you basically dont need the HUD anymore. Would be much fun to play with.
  • YojimboYojimbo England Join Date: 2009-03-19 Member: 66806Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    Yojimbo wrote: »
    Disregarding roxxkatt's terrible posting ettiquette, I'd like to see this change if indeed his performance-related claims are true. Would someone care to verify/rebut?
    To be honest I have no clue exactly what its talking about, not going to pretend to, so this makes AV better... how?
    @Yojimbo
    Looking at the code he posted, I think this is the important bit:
    useShader:SetParameter("on",darkVisionState and 1 or 0)
                useShader:SetParameter("time",Shared.GetTime())
                useShader:SetParameter("starttime",self.darkVisionStartTime or 0)
                useShader:SetParameter("endtime",self.darkVisionEndTime or 0)
                useShader:SetParameter("alive",self:GetIsAlive() and 1 or 0)
                useShader:SetParameter("health",self:GetHealth()/self:GetMaxHealth())
                useShader:SetParameter("armor",self:GetArmorAmount()/self:GetMaxArmor())
                useShader:SetParameter("energy",self:GetEnergy()/self:GetMaxEnergy())
                useShader:SetParameter("speed",self:GetSpeedScalar())
                useShader:SetParameter("shield",self:GetHasMucousShield() and 1 or 0)
                useShader:SetParameter("bio",bioMass/maxBioMass)
    

    Basically what this means is the AV colours will be able to be modified based on the values of these.
    Lets take "useShader:SetParameter("speed",self:GetSpeedScalar())" for example. The AV could change colour based on how fast the skulk is going! Relativistic near-light-speed effects anyone? :P

    There are also parameters for mucous shield, HP, energy etc. One could concievably have different hues/saturations for energy and HP so you basically dont need the HUD anymore. Would be much fun to play with.

    So are we to see, multi coloured rainbow unicorns, suppose thats a good thing.
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    technically it would only be able to show YOU as a beautiful multicolored rainbow unicorn, and not other people
  • clankill3rclankill3r Join Date: 2007-09-03 Member: 62145Members, NS2 Map Tester, Reinforced - Shadow
    I'm still interested in seeing this released. However, I think you have more change if you let someone make a very good implementation.
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    i have been thinking the same, and i intend to split the demo mod into a socket to be used on any server, and people can load up a second custom av mod on their comp, or optionally on the server
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    random thought:
    is it possible to find screen aspect ratio within a shader?
    if not might be a good idea to send that as well
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    @IronHorse‌ @McGlaspie‌ @SamusDroid‌

    is it possible to create a SetParameters() that can set multiple arguments in 1 call?
  • McGlaspieMcGlaspie www.team156.com Join Date: 2010-07-26 Member: 73044Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Squad Five Gold, Reinforced - Onos, WC 2013 - Gold, Subnautica Playtester
    @roxxkatt Nope, not with the current system
  • roxxkattroxxkatt Join Date: 2014-12-28 Member: 200431Members
    edited March 2015
    I finally got bored enough to get around to splitting this into two separate mods.

    One mod is the actual server socket, which is required due to lua server side checking.
    The second mod is the shader which makes use of the new parameters.

    What this means: the server has to run the socket to allow itself to use new av shaders, or instead to allow users to have their own custom new av shaders.

    Additionally, I added a "hives" parameter because 3 bio can mean 1 hive with 3 bio, or 3 hives with 1 bio.

    In response to people talking about performance, I also added two separate frame limiters, so now instead of the parameters updating every frame, some will update every frame, some will update every 20 frames, and some will update every 60 frames.

    AAV Core: http://steamcommunity.com/sharedfiles/filedetails/?id=368314529
    AAV Demo: http://steamcommunity.com/sharedfiles/filedetails/?id=414577364
Sign In or Register to comment.