Announcement

Collapse

The Infinity Blade Forums Have Moved

We've launched brand new Infinity Blade forums with improved features and revamped layout. We've also included a complete archive of the previous posts. Come check out the new Infinity Blade forums.
See more
See less

Most Efficient Way To Link-Up in ONS

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

    #46
    Originally posted by EntropicLqd
    As I said before, I am confident that the HUB method is best.

    If you read my previous post the damage multiplier is as follows:

    M = 1 + ( L * 1.5 )

    Where L = the number of links, and M is the damage multiplier.

    The "power" coming from the links is not taken into account - only the number of links.

    Therefore a chain like this:

    A ---> B ---> C ---> D

    A's multiplaier would be = 1
    B, C, and D's multiplier would be = 2.5 (each of them have 1 link)

    If A, B, and C all pointed to player D, then D would have a multiplier of ... 1 + ( 3 * 1.5 ) = 5.5

    I will conclusively prove this tonight if I can bully enough people onto my server tonight.

    I also remember reading that there is no longer a maximum maximum number of links to one person. Something else worth testing.
    If this is correct, then a chain of 2 links is the maximum power you can get with chain style . (example : chain of 2 links = chain of 10 links). We have to test !

    Comment


      #47
      Great thread, needs to be bumped. /bumps

      Comment


        #48
        I'm surprised some of the more experienced players like ThePerfectCore and Newbie haven't added their 2 cents to this topic. Anyway, like Roboto said, we'll run a listen server and test it out on the weekend to get a better idea of which is better: Hub or Daisy-Chain.

        Comment


          #49
          What's a listen server?

          I got 6 peeps from my clan together and we did some first testing. I will write down the results asap.

          Comment


            #50
            Originally posted by omegaFanta
            Can you get access to the code and were do you get it ?
            I didn't know this !
            Just the UScript sources, not the actual engine DLLs and executables. I think the clean UScript sources are up for download somewhere, but you can extract them yourself as well. Best way to do it is with Unrealed; just open up Unrealed, go to the class browser (the chess/pawn icon) and choose from the file menu "Extract All Scripts". This will make a total mess of your UT2004 directory, so I recommend making a new directory somewhere else on your harddrive and moving all the new directories (all directories that contain only a subdirectory named "Classes") to this new directory. You will need a 3rd party searching program to be able to search inside script files. I recommend Agent Ransack. (it's free and integrates itself in WinXP's interface)

            Originally posted by omegaFanta
            If I contrast the old vs the new :

            0-->0 0-->0

            new ( 1 + 1.5 ) * 2 = 5
            old ( 1.5 + 1.5 ) * 2 = 6

            0-->0-->0-->0

            new 1 + 3 * 1.5 = 5.5
            old 1.5 + 1.5 * 3 = 6

            Is this correct Boksha ?
            Yes, this is correct. For small amounts of links, UT2k4's linking system is less powerful. The more links you have the smaller the difference between UT2k3 and UT2k4 is.

            Comment


              #51
              @ Boksha :

              Could you please copy & paste the relevant code here?

              Comment


                #52
                The most efficient is one builder and one linked. Why? When i see a node being built by two people, I grab the nearest manta or raptor and burn for the next node. By the time I reach the next node, my node is built and I can attack it. I can expect reinforcements shortly, but for the time being my attacks stop anyone from spawning at that node. This is the most efficient way to leapfrog across a map, though it doesn't build nodes the quickest. The more linked plasma you have, the faster you build a node, sure. This is more efficient as it uses less collective time, but it also allows the other team to prepare a defense. If you take your overall map strategy into account, its better to tie up less people, even if those fewer people used to build the node are tied up longer building it. You see? Its not a race to build the node, but a race to get across the map, especially in maps with forked links from the primary node (ex:articstronghold) or parallel link (ex: crossfire) setups. An example of what i'm trying to say is seen on Arctic stronghold especially. Lets say red builds their primary node a couple of seconds before blue by linking 3 people compared to their 2, but if their third person is already at one of the secondary links, they will have a head start in building that node. That head start means that blue can setup an attack on Red's primary before red can, if the secondary node goes uncontested. "But red can just send their three people to build another node. The travel time is short, so they can make up the difference quickly" you might say and I expect you would. Its a valid point, but vehicle options are usually more limited and coordinating 3 people compared to 2 is a bit tougher. For red, they have to rely more on the vehicles they brought with them for fast transportation. Blue can make more use of the freshly spawned vehicles and vehicles from locked nodes. Let us not forget the offense/defense aspect. If you're coordinating a small army for fast building, they are basically all offense or defense. If you're leapfrogging, you have both an offense and defense already at the relevent positions.

                I do realize i'm a little off the topic of the best way of linking up. I'm just saying its unimportant as its best to have fewer links.

                Comment


                  #53
                  Originally posted by omegaFanta
                  @ Boksha :

                  Could you please copy & paste the relevant code here?
                  It's a LOT of code.
                  I'll post the most relevant bits. From the LinkFire class:

                  Code:
                  function SetLinkTo(Pawn Other)
                  {
                      if (LockedPawn != None && Weapon != None)
                      {
                          RemoveLink(1 + LinkGun(Weapon).Links, Instigator);
                          LinkGun(Weapon).Linking = false;
                      }
                  
                      LockedPawn = Other;
                  
                      if (LockedPawn != None)
                      {
                          if (!AddLink(1 + LinkGun(Weapon).Links, Instigator))
                          {
                              bFeedbackDeath = true;
                          }
                          LinkGun(Weapon).Linking = true;
                  
                          LockedPawn.PlaySound(MakeLinkSound, SLOT_None);
                      }
                  }
                  
                  function bool AddLink(int Size, Pawn Starter)
                  {
                      local Inventory Inv;
                      if (LockedPawn != None && !bFeedbackDeath)
                      {
                          if (LockedPawn == Starter)
                          {
                              return false;
                          }
                          else
                          {
                              Inv = LockedPawn.FindInventoryType(class'LinkGun');
                              if (Inv != None)
                              {
                                  if (LinkFire(LinkGun(Inv).GetFireMode(1)).AddLink(Size, Starter))
                                      LinkGun(Inv).Links += Size;
                                  else
                                      return false;
                              }
                          }
                      }
                      return true;
                  }
                  SetLinkTo is called whenever the Modetick function finds out that you're linking to a new person, or broke the link. (in which case SetLinkTo(None); is called)
                  As you can see, AddLink calls the next linkgun's AddLink function, with the current amount of links as input. This way, all the links in the chain are used.

                  From the Modetick function, this is what actually does the damage or healing:

                  Code:
                  simulated function float AdjustLinkDamage( LinkGun LinkGun, Actor Other, float Damage )
                  {
                  	return Damage * (1.5*Linkgun.Links+1);
                  }
                  
                  simulated function ModeTick(float dt)
                  {
                  ...lots of code snipped to save on space...
                  if ( bDoHit )
                  {
                  	AdjustedDamage = AdjustLinkDamage( LinkGun, Other, Damage );
                  	if ( !Other.bWorldGeometry )
                  	{
                  		if ( Level.Game.bTeamGame && Pawn(Other) != None && Pawn(Other).PlayerReplicationInfo != None
                  			&& Pawn(Other).PlayerReplicationInfo.Team == Instigator.PlayerReplicationInfo.Team) // so even if friendly fire is on you can't hurt teammates
                  			AdjustedDamage = 0;
                  
                  		HealObjective = DestroyableObjective(Other);
                  		if ( HealObjective == None )
                  			HealObjective = DestroyableObjective(Other.Owner);
                  		if ( HealObjective != None && HealObjective.TeamLink(Instigator.GetTeamNum()) )
                  		{
                  			SetLinkTo(None);
                  			bIsHealingObjective = true;
                  			if (!HealObjective.HealDamage(AdjustedDamage, Instigator.Controller, DamageType))
                  				LinkGun.ConsumeAmmo(ThisModeNum, -AmmoPerFire);
                  		}
                  		else
                  			Other.TakeDamage(AdjustedDamage, Instigator, HitLocation, MomentumTransfer*X, DamageType);
                  	}
                  }
                  ...more snipped code here...

                  Comment


                    #54
                    Re: Re: Re: Most Efficient Way To Link-Up in ONS

                    Originally posted by KillerDude
                    So, you cluster next to a tank firing at something that can...
                    A) Turn around and fire a shell to blow you all to bits, which, in all likeliness, is going to happen. People love multikills
                    Or...
                    B) Explode and send its charring chassis (clever, eh?) flying everywhere?
                    Hmm, or you charge the tank up because it's your team's tank.

                    Originally posted by omegaFanta
                    What's a listen server?
                    A quick search would tell you that a listen server is a server that the person hosting the server starts AND plays on. This is opposed to a dedicated server that runs the server but no clients.

                    Comment


                      #55
                      Originally posted by Boksha
                      * some code *
                      From what I've read from the code, I agree that chain or hub should have the same result.

                      name of player : A
                      Links : 0
                      Code:
                      B->-A
                      0->-1
                      
                      Chain : 
                      C->-B->-A
                      0->-1->-2
                      
                      Hub : 
                      B->-
                              >-A
                      C->-
                      
                      0->-
                              >-2
                      0->-

                      Comment


                        #56
                        Thes are our first results :

                        We tested different link-gun setups to destroy a core, to generally show us, which is the best link-setup to use.

                        We tested with 6 people.

                        O-o-o-o-o-o 7seconds

                        / o - o - o
                        O
                        \ o - o 7seconds

                        o o
                        | /
                        O - o
                        | \
                        o o 7 seconds


                        We tested to build a node with 3 persons
                        The results were the same. No matter if you do hub or daisy-line linking, the time is similar. Tho we did not yet take a look at the ammo usage in each setting.

                        Comment


                          #57
                          Look, look at all this stuff! And who said that people who play computer games are nerds...

                          Anyway, in all seriousness, it's good to see some people doing this properly and hopefully coming to some conclusions that will benefit the whole community.

                          Long Live this thread!

                          Comment


                            #58
                            Yes, very good thread! But it would be nice if everyone did the math the same way... :up:

                            Comment


                              #59
                              When you get the test for ammo usage done, please let us know. Thanks.

                              Comment


                                #60
                                Any info on the ammo usage?

                                Comment

                                Working...
                                X