Ambrosia Garden Archive
    • Weapon/Outfit Question


      Complementary Weapon Systems

      First, the hook:

      ---
      The Light Laser Fighter Defense System, or 'Hedgehog', is equipped with an autonomous data transciever. Wireless communication between 'Hedgehog' units regarding target positions and vectors can yield a significant increase in the all units' overall kill efficiency. For this reason, FORCE vessels equipped with the 'Hedgehog' systems tend to stay in tight formation in order to benefit from this design feature.
      ---

      Now, the questions:

      -1-
      I need a way to buy multiple instances of the same weapon (as far as the player could tell) in which each sucessive purchase will increase the percieved effectiveness of all the weapons' individual fire. The weapon will fire unguided projectiles ("bolts").

      I will leave the definition of effectiveness up to you. I was thinking that improved accuracy, rate of fire, range, damage, or speed could be viable options, though improved accuracy would be ideal.

      The allure of this weapon to the player, I am hoping, would be to purchase as many as possible, in order increase each one's individual effectiveness. The word I am thinking of is "synergy."

      -2-
      I need a way to simulate a fleet of ships in formation, all equipped with a 'hedgehog' unit, that will enjoy the extra effectiveness of the units, but only while they maintain what looks like a formation.

      Like the part 1, I don't care so much about how the weapons seem to be improved, so long as the improvements are present while in formation, and then are lost once the ships are dispersed.

      The hook here is to develop within the player a different kind of fighting mentality when dealing with different scenarios. A formation of ships, in this case, would be more difficult to overcome in PD-targetable player ship, than if they were dispersed.

      -C-
      For both questions, I suspect that I will need to use multiple identical-to-the-player outfits, with greater 'effectiveness' in each iteration, that will subsequently hide the one before and show the one after, after each purchase.

      Thanks for any comments or solutions.

      Werhner,
      a noted rocket scientist

    • B is impossible. There is no way for nova to tell if a ship is in formation for purposes other than cloaking.

      as for A... hmm... there are ways you can do that. It would involve crons replacing mutliples of the weaker weapon with the better versions.

      The fighter thing might be doable if you made a ship sprite that was a collection of ships in formation with a bunch of the strong version, and sometimes other ships fly around singly with the weaker version. The problem is the ships can never brake formation, and when one dies, they all die (because for all intents and purposes its only one ship).

    • Quote

      -1-
      I need a way to buy multiple instances of the same weapon (as far as the player could tell) in which each sucessive purchase will increase the percieved effectiveness of all the weapons' individual fire. The weapon will fire unguided projectiles ("bolts").

      I will leave the definition of effectiveness up to you. I was thinking that improved accuracy, rate of fire, range, damage, or speed could be viable options, though improved accuracy would be ideal.

      The allure of this weapon to the player, I am hoping, would be to purchase as many as possible, in order increase each one's individual effectiveness. The word I am thinking of is "synergy."

      Actually, I've implemented something similar that required multiple outfits. Same root necessity, very different end results. What it sounds like you want is a complete weapons system product family that has corresponding flexibility upgrades.

      In this case, I would say that the easiest way to get what you want done is to create a base outfit that would be affected (Set your limit max appropriately). Second, create subsets of outfits that increase specific stats of the weapon system. For example, for a baseline guided missile system (that, baseline, really sucks but is inexpensive) you could have the following add-ons: "Targeting Software (increases accuracy)", "Dense Payload (increases weapon damage)", "Hardened Electronics (increases jamming resistance)", "Resilient Structure (increases attack durability)", "Volatile Catalyst (increases explosion radius)", "Armor-piercing Polymers (more armor damage)", and the list can go on.

      Now, as far as implementation goes -- you've piqued my curiousity enough so that now I want to see if it will work. I think in my spare time, I'll take a look at this and see where it gets me. While a lot of work to go this route, I think it's the one that might pay off. The other way is to create "hidden" outfits that are granted with the purchase of the weapon, but that's a linear increase of any attributes. I really need to toss my other idea out to the EV Developers and see what they think about it.

      Anyway, PM me and let me know if you want to see what I come up with (if I get the time to do anything.)

      Cheers!

      STP

    • If the "improvement" is rate of fire then this could be done easily by adding more of the same weapon (or one with slower rate of fire so the improvement is just small). Otherwise it seems crons are the only way to go and you'd have to have a pretty low limit on the number you can buy. Here's my idea:
      Create as many weapon resources as the max Hedgehogs you can buy, each with greater accuracy and rate of fire than the previous (call these 'w1', 'w2' etc). The Hedgehog outfit 'h' which you can buy will do nothing. Outfit 'c' will be a counter.
      Create the same number of crons, each will check for Oh and will then Dh, Gc, Dw1, Dw2 etc. The first one will finally Gw1, the second one will Gw2, etc.
      Create another cron which will check for Oc and then iteratively Dc and Gh.

      So in the end you have just one weapon whose accuracy and rate of fire corresponds to the number of Hedgehogs you've bought.

      This post has been edited by Guy : 10 August 2005 - 12:25 AM

    • Yep, guy, but you probably want to leave H behind so it will show something in the info dialogue and you can sell em. You might want them to be recalculated every day, and while this is a pain, it lets you go from three good ones back down to 2 not so good ones, whereas a one time calculation would result in unsellable outfits.

      @werhner I could mock up the full set of crons if you wanted. So multiples of this weapon fire simultaneusly, right? The point is that three in the sky at the same time communicate with one another and can coordinate more accurately?

    • Thanks for the responses

      To sarienpalth:
      I see what you are proposing and it sounds like a reasonable compromise between what I want and what I may get; however, the ideal solution would invovle a weapon/outfit that has an accuracy of, say, 50%. After purchasing an additional weapon/outfit, the accuracy of the new unit and the old unit are set as 75%. A third purchase would then increase all three units' accuracy to 90%. Instead of purchasing additional 'add-ons' to the base weapon, I would like purchasing multiple base weapons to impart the effect of an 'add-on'

      To NebuchadnezzaR:
      Crons are a weak point of mine. If you feel up for it, I would appreciate some kind of example. Dissecting a problem is one of the best ways to learn something. I use a PC. I want multiples to fire simultaneously.

      To Guy:
      I realize now how to do the ROF increase. Your apparent familiarity with crons has inspired me to learn more about their usefulness.

      Thanks again for your interest.

      Werhner,
      a noted rocket scientist

    • This one's easy. The "weapon" would be an outfit that doesn't actually do anything, and uses a little bit of manipulation and the Gxxx operator to give the correct weapon each time.

      As for the formation one, again, pretty easy, you just need a ship whose rled looks like several ships. the problem being, they will all die/be damaged at the same time, but you ca explain that away with, say, unified shielding (fits in with the weapon, too) and dangerously unstable reactr cores, so when one goes, they all go.

    • NebuchadnezzaR, on Aug 10 2005, 12:10 PM, said:

      Yep, guy, but you probably want to leave H behind so it will show something in the info dialogue and you can sell em. You might want them to be recalculated every day, and while this is a pain, it lets you go from three good ones back down to 2 not so good ones, whereas a one time calculation would result in unsellable outfits.
      View Post

      That's what the last cron's for.

    • FluffyWithTeeth, on Aug 10 2005, 03:06 PM, said:

      As for the formation one, again, pretty easy, you just need a ship whose rled looks like several ships. the problem being, they will all die/be damaged at the same time, but you ca explain that away with, say, unified shielding (fits in with the weapon, too) and dangerously unstable reactr cores, so when one goes, they all go.
      View Post

      I think I can do you one better. Make a ship called "Pair of FORCE Ships" or whatever that looks like just a single ship. Make it use the extra frames in its sprite when its KeyCarried is aboard and make those extra frames have 2 "ships" in them. That is, a single sprite that looks like a pair of ships. Make the ship have a "Class I" weapon, a "Class II" weapon with better accuracy (or whatever) that can only fire when the ship's KeyCarried is aboard and a fighter bay holding a single fighter. The carried fighter is the KeyCarried and called "Single FORCE Ship" or similar, with a "Class I" weapon.

      Now the ship uses its better weapon and its mediocre weapon when its fighter is in its bay, and when the fighter is launched bother ships use their mediocre weapons. The only problem I forsee with this is that the AI might have the tendency to launch its fighter right away, diminishing its combat prowess.

      Potential workarounds for that might include some sort of firing delay on the fighter that would prevent it from being launched prior to some event occurring or some time interval elapsing... maybe I can't do you one better.

      Theoretically there could be a whole line of ships, one with, say 10 "ships" in its KeyCarried frames that launches a fighter with 9 "ships" in its KeyCarried frames that launches a fighter with 8 "ships" in its KeyCarried frames and so forth. Each ship would look like just a single ship after it launched its fighter. The "#10" ship would have the best and most weapons, and could use them when its KeyCarried was aboard but only a mediocre weapon when it's not, the "#9" ship would have one fewer slightly worse weapons with fighter aboard, and so forth, each ship having only the "base weapon" available when KeyCarried is not aboard.

      This still poses the problems of a "Swarm" dying all at once (or does it? Wouldn't a #7 ship, for instance, that was killed with its KeyCarried aboard simply use its #6 fighter as an escape ship?) and of the ships launching their fighters (and becoming worse combatants) right away.

      Good luck, and I hope you find a way to make this work. It sounds very intriguing.

      ~Qaanol

      This post has been edited by Qaanol : 10 August 2005 - 05:55 PM

    • One problem with your solution is that escape ships are always governmentless cowards.

      Im thinking... maybe you can use exclusive weapons to keep the ship from firing its fighter until it reaches burst reload. Im just wondering if AI also fire weapons in ID order... if the exclusive hedgehog is weap 128 and the fighter bay is 129 it might just work, so long as the range is long enough that it tries to fire the real weapon immediately when it goes hostile. This will take some testing.

      As for the huge fleet idea, i think its hard to get around how crappy it will look for one ship to pop out of a group of other ships, and the other ships immediately pop smaller. Im thinking 2 is an ok number, any more than that is pushing it.

    • Ok, I got it. The cron order matters. I think weve established that they fire in order. This is not critical in this instance, but if you have them out of order, and the player buys three of these weapons at the same planet, then it might take a few full days for them to level themselves properly.

      Outfit 1: Does nothing except is visible and takes up space. You can add turning malus (new word for me :p) or powerdrain or whatever you want here. In the on buy it has G2.

      Outfit 2 is a counter.

      Cron 1: Default values for everything in every cron. The only fields i will specify will be ActivateOn and onStart. Everything else should be -1 or blank, as appropriate (with the exception of the probability, 100 naturally). No iterative start nor end, no pre/post holdoff etc...
      ActivateOn: (O2&!O3)
      OnStart: D2 G3

      Outfit 3: the first level of weapon. The previous cron simply replaces the counter with a real weapon.

      Cron 2: ActivateOn (O2&O3)
      OnStart: D2 D3 G4 G4

      Outfit 4: naturally, the second level of weapon. The above cron essentially states: "if the player already has level one (Outfit 3), and buys a new one (thereby granting the counter outfit 2), then get grant him two level twos (outfits 4).

      Cron 3: ActivateOn (O2&O4)
      OnStart: D2 D4 D4 G5 G5 G5

      Outfit 5: We can tell this is the third level. If a player already has any of the counter and any of the second level, we remove the counter and BOTH second levels (be careful about this sort of thing. An extra second level wouldnt fire in harmony with the third), then add three of the third level.

      If you want, you can continue this pattern.
      Cron 4: ActiveOn (O2&O5)
      OnStart D2 D5 D5 D5 G6 G6 G6 G6

      et cetera, each time deleting and adding one more.

      If you want them to be sellable, you need to add an extra cron for each level, and an extra counter outfit. I ran myself out of numbers... usually i have my counters be 1-10 and my real outfits 11+ when im writing pseudo code. For the sake of argument, lets say that in the onsell of outfit 1 (the only outfit available in outfiters. Indeed the only visible outfit at all), we have G20.

      The crons you would need (for three levels):
      ActiveOn (O20&O5)
      OnStart D20 D5 D5 D5 G4 G4

      ActiveOn (O20&O4)
      OnStart D20 D4 D4 G3

      ActiveOn (O20&O3)
      OnStart D20 D3

      ect... (expanding from the top.)

      I was trying to think of a way to do it with one less counter outfit, because i know from experience how tight counters get, but there is no way to enforce the max if you use any less than I have listed above. There are ways to use outfit 2 for multiple counting things at once, but only if your sure the player wont need to use both at once. This would require the simple matter of using a bit in the on buy indicating to the cron what sort of counter it is. This is needlessly complicated, and I doubt it is relevant to your plug.

      I hope this also gives you a better handle on crons. At least in terms of use for doing something other than counting time.

    • Er, what exactly was wrong with my method which only used one cron per weap level and one counter? Also, it's easier if each weap level decreases the reload so you only ever need to have one at a time.

      And another note, the OnEnd field is for some reason more reliable than OnStart when you want a cron to run every day.

    • I completely cant follow your method, and he already said he wanted the crons spelled out a little better.

      Oh, nevermind. Im thinking im getting the picture, but better grammar and less use of etc..

      And the problem with yours, if i understand it correctly, is every day you would get more weapons. Or, if you alter it slightly, it doesnt, but you need to buy every hedgehog on the same day, or you might end up with multiple copies of the w1.

    • Okay, I guess I could have made it a bit clearer 😉
      But no, there's no problems with it as far as I can see. You only ever have one weapon - buy and sell whenever you like, it'll still work.

      Outfit h: The Hedgehog. This is the only outfit you can buy but it does nothing.
      Outfit 😄 The counter.
      Outfit w1: Weapon level 1. Let's say this has a damage of 4 and a reload of 12.
      Outfit w2: Weapon level 2. Damage = 9; reload = 6.
      Outfit w3: Weapon level 3. Damage = 15; reload = 4.
      Outfit w4: Weapon level 4. Damage = 22; reload = 3.
      And as many more levels as you need. The reload is the reload of the first one divided by n and the damage of each level is the damage of the previous one + n + 3 (just as an example).

      Cron 1
      EnableOn: Oh
      OnEnd: Dh Gc Dw1 Dw2 Dw3 Dw4 Gw1
      This transfers a hedgehog to the counter, deletes the existing weapon (whatever that may be) and grants level 1. If we only have one hedgehog then it'll now skip to cron x.

      Cron 2
      EnableOn: Oh
      OnEnd: Dh Gc Dw1 Gw2
      Same as cron 1 but grants level 2 instead. Also, we now know the existing weapon is level 1.

      Cron 3
      EnableOn: Oh
      OnEnd: Dh Gc Dw2 Gw3

      Cron 4
      EnableOn: Oh
      OnEnd: Dh Gc Dw3 Gw4

      Cron x
      EnableOn: Oc
      OnEnd (iterative): Dc Gh
      Restores the counters to hedgehogs.

      This post has been edited by Guy : 17 August 2005 - 05:50 PM

    • Oh, i see. The weird thing about your method is that, with three hedgehogs, you end up with one weapon three. It could still work though, exept for the mutliple weapons fire simultaneously. If you fix that, its damn near exactly the same as mine. If mine recalculated it every day, i wouldnt need an extra set of crons for selling. IM just averse to that for some reason, but it does save a bunch of crons, so ill hand it to you.