Missiles, alternate methods of balance.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Chris_Redfield
    Member
    • Oct 2006
    • 5986

    #1

    Missiles, alternate methods of balance.

    Im currently working on my little experiment-mod. One issue Im stuck behind are the missiles. The idealistic variant would be that you can ditch one through multiple maneuvers, and I also think I know how to do it. However, it takes sh!tload of time and work, and most of all, experiments, to create one that would be reliable. Because most of the pressure will lie on the missiles maneuverability, and since jets are unequal in maneuverability, its going to be a b!tch to find the perfect balance.

    The other variant, which Im pretty successful at, right now, is missiles that hit with a 100% capability, but are pretty damn restricted in its use. Plus, a cool feature is, that you can actually ditch them, provided that you play your cards right. This missile system is in fine tuning stage, it needs a little tweaking, because I dont want people to ditch them too easily.

    Im going to describe this syste, before I propose a question.

    Missiles start up with 0 speed, which is basically your aircrafts speed. Their default speed is unaltered though, BUT, Ive decreased acceleration significantly, so the missile starts kinda slowly, and picks up speed as it goes. During this whole process, the missile is "uber-tracking", but easily ditchable by flares, because the lock angle will not grant the missile a way back through the flares, into the jet. Which also suggests that you actually have to flare into the missile now. Anyway. Missile starts slowly, picks up the speed and goes for the jet. IF the shooter is significantly slower, the target MAY actually live long enough before missile autodestructs. If the speed of thw two jets is equal, the formula works like this- X+Y=Z, which crudely is jets speed plus missiles maximum speed = missiles final speed. So the attackes speed means a lot. In the default state, theres an added speed bonus because the missile is shot from a "launcher", which gives missile 75 units of speed, its maximum is 175.

    Another important feature is how the missile STARTS tracking. This is actually pretty interesting because jets now have a "safe" maneuver. Missiles need 0.5 seconds time after launch before they start tracking. During this 0.5 seconds, you can ditch missiles lock angle and make the missile go on its merry way. So if 2 jets are in the loop war, the second jet can have a successful launch ONLY when they lead their nose the right way, before launching the missile. This usually requires the jet to slow down and lose in maneuverability, which gives the runner a chance to outmaneuver the lock.

    Lock time is 2 seconds. Combined with a flare launch, you have a total of 4.5 seconds MINIMUM safe time before the missile starts its path, so far, attempts to ditch the missiles have proven to be futile. However, this hasnt been tested in an intraweb play.

    Video presentation coming in 6-12 hours. Im working on putting the pieces together.

    NOTE! This is just an experiment, and it is visually a very cool and entertaining sight. If any of you have seen "Behind Enemy Lines" then this is as close as I could get to it.

    Contents of the Readme files

    Code:
     
    ObjectTemplate.seek.trackingDelay 0.5 [B](from 0.01 to 0.5)[/B]
    ObjectTemplate.follow.minDist 5 [B](from 10 to 5)[/B]
    ObjectTemplate.mass 36000 [B](from 20)[/B]
    ObjectTemplate.acceleration 50 [B](from 500 to 50)[/B]
    ObjectTemplate.seek.reLockTime 200 [B](from 30 to 200)[/B]
    ObjectTemplate.follow.maxYaw 7
    ObjectTemplate.follow.maxPitch 7
    What I strived for, is making the missile to make a wider turn in a curve, thats why the ridiculous mass is. It didnt show any effect so Im going to have to draw some parallels on how the buggies slide in curves for example and try to check if this can be done with missiles aswell. Next idea was to keep the maneuverability, but create a long "tick" time which would open up some windows for maneuverability-based missile-lock-break. So far, this has shown the most potential to reach goal #1.


    Contents of the missile file (not default)

    Code:
     
    rem *** Generated with Bf2Editor.exe [created: 2005/4/10 10:26]
    GeometryTemplate.compressVertexData 1
    GeometryTemplate.maxTextureRepeat 16
    ObjectTemplate.activeSafe GenericProjectile aim9m_sidewinder
    ObjectTemplate.creator DSU-3:dsu
    ObjectTemplate.modifiedByUser ljo
    ObjectTemplate.setNetworkableInfo BasicInfo
    ObjectTemplate.saveInSeparateFile 1
    ObjectTemplate.createNotInGrid 1
    rem ---BeginComp:DefaultCollisionComp ---
    ObjectTemplate.createComponent DefaultCollisionComp
    ObjectTemplate.collision.hasCollisionEffect 1
    rem ---EndComp ---
    rem ---BeginComp:DefaultDetonationComp ---
    ObjectTemplate.createComponent DefaultDetonationComp
    ObjectTemplate.detonation.explosionMaterial 53
    ObjectTemplate.detonation.explosionRadius 4
    ObjectTemplate.detonation.explosionForce 10
    ObjectTemplate.detonation.explosionDamage 100
    ObjectTemplate.detonation.endEffectTemplate e_exp_air
    ObjectTemplate.detonation.useMMOnEndEffect 1
    rem ---EndComp ---
    rem ---BeginComp:DefaultProjSoundComp ---
    ObjectTemplate.createComponent DefaultProjSoundComp
    rem ---EndComp ---
    rem ---BeginComp:SeekClosestTargetComp ---
    ObjectTemplate.createComponent SeekClosestTargetComp
    ObjectTemplate.seek.targetType TTHeat
    ObjectTemplate.seek.trackingDelay 0.5
    ObjectTemplate.seek.maxAngleLock 25
    ObjectTemplate.seek.maxDistLock 375
    ObjectTemplate.seek.directionBonus 0.8
    ObjectTemplate.seek.reLockTime 200
    rem ---EndComp ---
    rem ---BeginComp:DefaultFollowComp ---
    ObjectTemplate.createComponent DefaultFollowComp
    ObjectTemplate.follow.maxYaw 7
    ObjectTemplate.follow.maxPitch 7
    ObjectTemplate.follow.changePitch 1
    ObjectTemplate.follow.changeYaw 1
    ObjectTemplate.follow.minDist 5
    rem ---EndComp ---
    rem ---BeginComp:DefaultPenetrateComp ---
    ObjectTemplate.createComponent DefaultPenetrateComp
    ObjectTemplate.penetrate.allowSolidPenetration 0
    ObjectTemplate.penetrate.allowLiquidPenetration 0
    rem ---EndComp ---
    ObjectTemplate.geometry aim9m_sidewinder
    ObjectTemplate.setCollisionMesh aim9m_sidewinder
    ObjectTemplate.mapMaterial 0 metal 32
    ObjectTemplate.drag 1
    ObjectTemplate.mass 20
    ObjectTemplate.gravityModifier 1
    ObjectTemplate.floaterMod 0
    ObjectTemplate.hasMobilePhysics 1
    ObjectTemplate.hasCollisionPhysics 1
    ObjectTemplate.physicsType Point
    ObjectTemplate.collisionGroups 8
    ObjectTemplate.material 53
    rem -------------------------------------
    ObjectTemplate.addTemplate S_aim9m_sidewinder_Looping
    ObjectTemplate.addTemplate e_missile_trail
    ObjectTemplate.setPosition 0/0/-1.52564
    rem -------------------------------------
    ObjectTemplate.timeToLive CRD_NONE/12/0/0
    ObjectTemplate.material 53
    ObjectTemplate.hasOnTimeEffect 1
    ObjectTemplate.damage 500
    ObjectTemplate.acceleration 50
    ObjectTemplate.maxSpeed 175
    ObjectTemplate.activeSafe Sound S_aim9m_sidewinder_Looping
    ObjectTemplate.modifiedByUser ljo
    ObjectTemplate.soundFilename "objects/weapons/armament/missiles/sounds/mono/rocket_engine_start_idle.wav"
    ObjectTemplate.loopCount 0
    ObjectTemplate.is3dSound 1
    ObjectTemplate.stopType 0
    ObjectTemplate.volume 0.85
    ObjectTemplate.pitch 1.2
    ObjectTemplate.reverbLevel 1
    ObjectTemplate.minDistance 3
    ObjectTemplate.halfVolumeDistance 6
    Allright, so Ive been doing this for more or less 10 hours total. I started out as a guy who didnt know jack-sh!t about what do those lines even mean, but with each passing "test", things got more interesting, and now it has become into a challenge. To create perfect balance in inbalance, in difference, plus, to have a missile system that would work on skills (as much as possible).

    Objective 1.

    To create balance between J10 and F35B by depending their strenghts and weaknesses. Almost complete. Needs finetuning.

    What has been changed?

    Jets

    *J10s control response lowered across the board
    *J10s roll speed lowered significantly
    *J10s sprint factor lowered (how much does J10 get additional speed using boost)

    *F35B control response increased across the board
    *F35B turn radius lowered
    *F35B sprint recovery time lowered to match the lack in afterburners compared to J10. Balance in bigger picture.

    Objective 2

    Create a missile system which would rely on skill as much as possible. Final objective is to create missiles that can be ditched using multiple maneuvers. Secondary objective would be missile system which has missiles with extremely high shoot-to-hit probablity, but the aquiring of their lock would be more demanding. Also creating suitable flaring system to match "Killer-missiles".

    Missile system

    *velocity addon from missile "launchers" on jets removed/decreased. Missiles start from jets initial speed now, and gain extra speed using their own "speed" and "acceleration". Missiles appear slow at first, but they regain speed and their terminal velocity is still significantly higher than jets.
    *Missiles acceleration decreased significantly, while maximum velocity has been left untouched. Missiles terminal velocity is now calculated with (jets speed+missile speed) as opposed to (jets speed+cannon launch speed+missile speed).
    *Increased missile lock-on time for both jets to 2 seconds
    *Decreased missiles lock angle to avoid BS shots, that is, outside missile lock area. Missiles without lock will now most probably never relock.
    *Increased missiles "tick time"
    *Decreased missiles maneuverability
    *Decreased missiles lifetime
    *Tampered around with missiles weight, trying even 36tonnes

    Contents of the Readmes

    Code:
    ObjectTemplate.addTemplate S_AIR_F35B_FlapL_RotationRpm
    rem -------------------------------------
    ObjectTemplate.setMinRotation 0/-15/0
    ObjectTemplate.setMaxRotation 0/15/0 
    [B]ObjectTemplate.setMaxSpeed 0/200/0 (from 150)[/B]
    ObjectTemplate.setAcceleration 0/-25/0
    ObjectTemplate.setInputToPitch PIRoll
    ObjectTemplate.setAutomaticReset 1
    Code:
    ObjectTemplate.addTemplate S_AIR_F35B_ElevatorR_RotationRpm
    rem -------------------------------------
    [B]ObjectTemplate.setMinRotation 0/-9/0 (from 8)
    ObjectTemplate.setMaxRotation 0/9/0 (from-8)
    ObjectTemplate.setMaxSpeed 0/350/0  (from 400)[/B]
    ObjectTemplate.setAcceleration 0/-30/0
    ObjectTemplate.setInputToYaw PIPitch
    ObjectTemplate.setInputToPitch PIPitch
    ObjectTemplate.setInputToRoll PIPitch
    ObjectTemplate.setAutomaticReset 1

    Code:
     
    ObjectTemplate.addTemplate S_AIR_F35B_RudderR_RotationRpm
    rem -------------------------------------
    ObjectTemplate.setMinRotation 0/-20/0
    ObjectTemplate.setMaxRotation 0/20/0
    [B]ObjectTemplate.setMaxSpeed 0/400/0 (from 300)[/B]
    ObjectTemplate.setAcceleration 0/-50/0
    ObjectTemplate.setInputToPitch PIYaw
    ObjectTemplate.setAutomaticReset 1
    ObjectTemplate.setPositionOffset 0.0721/0.4788/-1.9435
    ObjectTemplate.setWingLift 0.3
    ObjectTemplate.setFlapLift 0.3
    ObjectTemplate.activeSafe Sound S_AIR_F35B_RudderR_RotationRpm
    Code:
     
    rem ---BeginComp:MultiFireArmTargetComp ---
    ObjectTemplate.createComponent MultiFireArmTargetComp
    ObjectTemplate.target.maxDistance 375
    ObjectTemplate.target.targetSystem TSHeatSeeking
    ObjectTemplate.target.lockDelay 1.5
    [B]ObjectTemplate.target.lockAngle 10 (from 15 to 10)[/B]
    rem ---BeginComp:DefaultAmmoComp ---
    ObjectTemplate.createComponent DefaultAmmoComp
    [B]ObjectTemplate.ammo.nrOfMags 6 (from 1)
    ObjectTemplate.ammo.magSize 1 (from 6)[/B]
    ObjectTemplate.ammo.autoReload 1
    ObjectTemplate.ammo.reloadWithoutPlayer 1

    Code:
     
    ObjectTemplate.projectileTemplate aim9m_sidewinder
    [B]ObjectTemplate.velocity 10 (from 75 to 10)[/B]
    ObjectTemplate.itemIndex 1
    ObjectTemplate.setSoldierExitLocation -2/-3/4 0/0/0
    ObjectTemplate.altSoldierExitPosition -2.2/-1.2/5
    ObjectTemplate.exitSpeedMod 0.5
    ObjectTemplate.seatInformation air_f35b 0/1.09134/5.78426 0/0/0
    ObjectTemplate.seatAnimationSystem Objects/Vehicles/Air/Air_f35b/3p_air_f35b_pilot_animSys.inc
    ObjectTemplate.soundFilter airplane
    [B]ObjectTemplate.sprintRecoverTime 25 (from 30)[/B]


    Video uploading, done in 20 minutes.
  • Thirdeyez

    #2
    Re: Missiles, alternate methods of balance.

    great post, cant wait to see video.

    Comment

    • slip777

      #3
      Re: Missiles, alternate methods of balance.

      Look at that DICE. A humble TotalBF2 member did what you were too lazy to do. If there were more people like this over at DICE, I bet BF2 wouldn't be as bug riddled as it is today.

      Comment

      • Twisted-

        #4
        Re: Missiles, alternate methods of balance.

        Have you tested this online yet?, seen as the missiles react alot differently when latency is involved.

        Comment

        • Chris_Redfield
          Member
          • Oct 2006
          • 5986

          #5
          Re: Missiles, alternate methods of balance.

          Originally posted by Twisted-
          Have you tested this online yet?, seen as the missiles react alot differently when latency is involved.
          No sir, not yet. From what I understand theres a fix for possible latency effects. Increase in lock-angle will do the trick. From my observations sometimes lag causes these small spikes, that people usually wont even notice, thats where probably the missile tick gets lost and it veers off somewhere. As for J10, I think the problem has been discovered. Theres a post in PlanetBF forums showing that J10s heat source (the thing the missile goes for) is deep inside the jet compared to the F35B, and same I guess goes for the F18. So in essence, missiles characteristics are powerless against bugs that are plane related only.

          The fix to this problem is to increase missiles lock angle, which would 1) frack up my system and 2) create a lot of problems such as missiles relocking to various other targets.

          DICE fixed missile TKs with reducing missile lock angle, I think. Now this bites them in the ***, because whenever a missile gets close to the J10 in a turn, it actually loses the heatsource from its sight, combine that with odd-shaped hitbox mesh and youve got yourself deflecting missiles.

          Slip777 dont blame DICEs workers, blame DICEs people for not searching through various forums, theres some good helping material around. What I do is just an experiment. So far its ridiculously fun and awesome see missiles chase jets.

          Video uploaded. I suggest you watch with full screen because missiles may fade away in small screen.

          A couple of words on the video-

          This is all purely experimental. This is actually 5th or 6th shape of the missile, so far Im approaching the result I imagine in the end, slowly, piece by piece. I swear if I didnt see any progress I would have quit a LONG time ago. But everything I did actually took a "shape" a "form" so its kinda fun to "mold" this game around. Its also very simple and easy for a relatively uneducated and rookie person like me (in this area), yet I can still do some fun stuff, fun stuff that I WANT to happen.

          The video is rather long- ~10 minutes, so spare some time and try to watch all of it.



          To those who dont quite understand what they are looking at:

          Basically, lock time has been increase to 2 seconds for J10, keepin F35Bs 1.5 in place.

          The purpose of THESE missiles are to hold the target safe aslong as they manage to evade the lock. With increased time, its possible. And even then the missile hit isnt certain. I added a 0.5 second break before the missile engages the target, which at default state is set to 0.01 seconds. During these 0.5 seconds, the missile is a "dud", it flies forward and looks for a target (well, target is already locked on to, it just isnt moving jet). During these 0.5 seconds you CAN escape the lock of the missile. Because the missiles lock angle is relatively small (25 degrees I think, was 45), its possible.

          Note however, if the lock has been acquired, missile WILL pursue its target until the end of its fuel (decreased by 50%) or until the hit. So, getting a successful shot is pisshard, but well worth it, and rewarding.

          I value battle in maneuvers more than battle who gets the better jet, so this solution may sound a little akward to those who are used to uberfast missiles that are easy to deploy.

          ALSO NOTE- this is all purely experimental. Missiles Im looking for to make are different in nature, ditchable during multiple maneuvers, something a´la "Behind Enemy Lines". This video is mainly for entertainment.

          Comment

          • Thirdeyez

            #6
            Re: Missiles, alternate methods of balance.

            Nice..I always thought tone down A2A missles, leave S2A.
            A nice balance to the planes and make missles count when shot, more and more its fire and forget them cause they almost alwas hit..everythign but a j-10

            Comment

            Working...