Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Discuss: Survivor.Count
#1
I pondered adding Survivor.Count as requested by EVA-251 while adding the Veteran/Elite chances; request was as followed:

EVA-251 Wrote:I hope this wouldn't be considering suggestion hijacking, but I believe that a tag along the lines of Survivor.Count= could also be a useful addition to the logic. I've always found it weird that only a single guy would escape out of a 4-man battle tank every time.

While I thought about how to implement this, though, I ran into a rather basic problem: How to determine how many pilots any given tank has?

The obvious go-to solution would be Size=, but Size has been used for different purposes by Westwood - it determines, true to its name, the dimension or volume of the object - meaning that, in practice, several very different types of tanks have the same size values:

Harvester, IFV, Grizzly, Mirage, Prism: Size=3
MCVs, Apocalypse, Mastermind, Battle Fortress: Size=6
The Landing Craft, which also goes over land, has Size=16

Does a Mastermind have a driver at all?
If the IFV had more than one crew, what would it need a gunner for?
Are there really six people walking around inside an Apocalypse or BFT?

You may wonder why this is important; it's important for the question of default values. What to do if Survivor.Count is not given?
  • No survivors?
  • Only one survivor?
  • Survivors based on some other default attribute?
Because, while one could argue that it's the modder's responsibility to ensure his mod is balanced, sentencing people to update every single tank in the game would be unfortunate.

In addition, there is a secondary question to consider: Should Passengers and Pilots add up?
e.g. if you assume 2 drivers for a Battle Fortress, and 5 Passengers - do you at best get the Passengers back, or up to 7 people?

And then there's the question of limits...assume we add this logic, and assume we use Size as a default. Assume also that we are lucky, and get the full amount of crew back.

Code:
[E1]
Cost=200

[FV]
Cost=600
Size=3

In the luckiest case, someone would make no monetary loss from losing an IFV at all. That sort of fucks up the balance. We cannot make that the default.
And that's only assuming crew.
Imagine we do code it so that Pilots and Passengers add up, and say the Pilot is a Chrono Legionaire.
Imagine how frustrating it is to the enemy to destroy 2100 credits worth of equipment, and the player just shrugs it off and bodyguards the CLEG with his new squad of GIs.

This poses the question: Should there be a hardcoded limit?
Something like "the combined value of all survivors must not exceed half the cost of the dying unit"?

On a technical level, the flag itself should be easy to do. Just make more people spawn.
In the easiest case, we can just say "obey Survivor.Count, and if it doesn't exist, behave as before; don't check who or what the survivors are". That's perfectly possible. But it would leave all default units with one or less survivors, and would open the gates for $100 tanks which spawn $10000 worth of survivors.

On the other hand, the latter can be intended. One could, for example, create a tank that opens a gate to the future, make the deploy weapon a suicide weapon, use a shiny vortex as the destruction animation, and then have Survivor.Count = 100. That's a reasonable usage of the system, no matter how much free equipment the player gets through it.

Opinions? Suggestions?
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#2
regarding the "Imagine we do code it so that Pilots and Passengers add up, and say the Pilot is a Chrono Legionaire.
Imagine how frustrating it is to the enemy to destroy 2100 credits worth of equipment, and the player just shrugs it off and bodyguards the CLEG with his new squad of GIs."

that would make for a pretty badly balanced mod, yes it's possible, but so's giving a GI a sniper rifle with a 255 range and 1000% verses.

IMO defaults should be one pilot, and pilot survivor logic should calculate survival chance on a per-pilot basis, so a plane with 2 pilots and a 75% survival chance, each of those pilots should have that calculated separately.

using this logic on passengers is entirely optional, but I'd sway in the direction of having a flag to control that too, something along the lines of Survivor.IndividualPassenger= and even a Survivor.IndividualPilot= tag should people want it.
[Image: MRMIdAS2k.jpg]
MRMIdAS: No longer allowed to criticise Westwood on PPM
Reply
#3
It is calculated individually, as far as I can tell.

And let's keep bloat in mind here. I'd rather not end up with blocks like
Code:
Survivor.Count=3
Survivor.PilotChance=10
Survivor.VeteranPilotChance=25
Survivor.ElitePilotChance=50
Survivor.PassengerChance=10
Survivor.VeteranPassengerChance=25
Survivor.ElitePassengerChance=50
Survivor.PilotChanceIfPassengerIsMedic=80
Survivor.CLEGChance=100 ;can just teleport out, after all
Survivor.SelfHealerChance=80 ;can save himself
Survivor.SeatBeltBroken=3,2 ;third row, second seat passenger is doomed
Survivor.LastSupper=Peanuts

etc. While I understand the wish for customizability, some things are just overkill. Let's focus on figuring it out with one flag for the moment.

To clarify the pilots+passenger question a little, should Survivor.Count be a hard limit for all survivors, or for each group individually?
i.e. if you have Survivor.Count = 5
Should that mean "of all pilots, a maximum of 5 is allowed to survive AND of all passengers, a maximum of 5 is allowed to survive"
or "of all people in this vehicle, a maximum of 5 is allowed to survive".

Again, it comes down to figuring out how many pilots/drivers there are.
Assume you have a Battle Fortress with five passengers, and Survivor.Count = 5.
How do I know how many pilots to account for?

Come to think of it, I believe a big part of the confusion stems from the naming of the flag.
Suggestion: How about, instead of Survivor.Count, we add a Survivor.Pilots?
That way, it's clear what's there - X pilots, Y passengers, and we just run through pilots survival and passenger survival as before, just with more pilots to account for?
Default to the exact same behavior as before, no limits, leaving it up to the modder to balance his mod or use it wisely...how does that sound?
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#4
Quote:Suggestion: How about, instead of Survivor.Count, we add a Survivor.Pilots?
That way, it's clear what's there - X pilots, Y passengers, and we just run through pilots survival and passenger survival as before, just with more pilots to account for?
Default to the exact same behavior as before, no limits, leaving it up to the modder to balance his mod or use it wisely...how does that sound?
Sounds like a good compromise between customisability and simplicity. I'd roll with it.
Reply
#5
Sounds good to me too.
[Image: MRMIdAS2k.jpg]
MRMIdAS: No longer allowed to criticise Westwood on PPM
Reply
#6
Agreed on my end. Survivor.Pilots simplifies a lot of the work.
Reply
#7
I recommend:

Code:
Survivor.Pilot=GI,CLEG ;defaults to Crew for the side
Survivor.PilotCounts=3,1 ;defaults to 1
Survivor.PilotChances=80,15 ;defaults to value [General]CrewEscape

Survivor.PassengerChance=10 ;no need to get into more detail for passengers
;Theres probably some place where you could get a default from

This way with this same number of tags, you could tweak chances more:
Code:
Survivor.Pilot=GI,GI,GI,GI, ;defaults to Crew for that side
Survivor.PilotCounts=1,1,1,1 ;defaults to 1
Survivor.PilotChances=100,50,50,5 ;defaults to value [General]CrewEscape

And you could simply leave out the tags you don't need to use, the defaults will make sure the vehicles from standard YR are not affected much.
Reply
#8
What did I say about bloat?

Different types of pilots are just overkill. What do you want, a pilot, a co-pilot, a radio specialist and a few stewardesses to paradrop from a downed airplane?
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#9
No, but the chance for a technician and some GIs from a vehicle wouldn't hurt Tongue 2
Reply
#10
The tracking issue for this feature is number 632.
I have added code that should do what I described, but D will have to look it over, and since I can't test it on here, there's no guarantee it'll run, or even compile yet.

It'll take the simple form of Survivor.Pilots=# where # is the number of pilots to account for.
If the object is set to Crewed=no, Survivor.Pilots will default to 0.
If the object is set to Crewed=yes, Survivor.Pilots will default to 1.
Note that the entire routine won't fire if Crewed=no is set, so there's no point in
Code:
Crewed=no
Survivor.Pilots=10
constructs.
As settled, there are no additional restrictions on usage; the number is saved in an int, so you should, technically, be able to have it calculate billions of survivors.

Note that this tells the computer only that there were # pilots in the vehicle; that does not mean all of them survive. It's a maximum, not a guarantee.

Remember, though, that with great power comes great responsibility, and that running a loop a billion times will cost time Wink
Use it wisely and watch your balance. In particular in terms of cost.
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#11
Double post for clarity: It's live.

Report back whether it works as intended.
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#12
Well frankly when I made this suggestion I wasn't really even going to be that complicated. Bloat isn't something I intended, it was something really simple. Instead of 1 Conscript popping out of that dead Apocalypse Tank, have a chance that up to 5 or something guys, representing the crew pop out.

Having the gunner, loader, commander and driver pop out as individual and unique units? Total overkill and way too much depth for a game like YR. You may as well start working on a name randomizer so you can have GI Private Jenkins fight Conscript Starshina Alexei.

Thanks for giving my suggestion consideration, nonetheless, Renegade.
Star Strike Next Beta :V.7x -- (current version=V.6x Build 2)
Star Strike TC Forums
Star Strike Website
Reply
#13
As I posted above, it's live as you describe. You simply set Survivor.Pilots=5 and it throws out up to 5 people.

I don't know if you're one of the testers, if so, care to test if it works as intended?
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply
#14
>.< a name randomizer could actually be good, if it's used on the AI Player naming [i.e. Playing against a General Ziziloziuzus (from outer space), a King Tut (from ancient egypt), an Osama Bin Laden (from the clan of stupidity) and an Anonymous-Mad-Dictator (from you-know-where), instead of Computer, Computer, Computer and a Computer, over and over again..] Tongue

yeah, I know.. It's way off-topic..but, hey..
ALL HAIL!!!! King of the Loosers
ugh.. Never mind..


[Image: 9c3cfb081d.png]

"Engine 2 is 'no longer' on fire." -One of those penguins from Madagascar (though, I can't seem to recall that guy's name.. Nay, who cares?)
Reply
#15
wth? Wtf
Forum Rules

(01.06.2011, 05:43:25)kenosis Wrote: Oh damn don't be disgraced again!

(25.06.2011, 20:42:59)Nighthawk Wrote: The proverbial bearded omni-bug may be dead, but the containment campaign is still being waged in the desert.
Reply




Users browsing this thread: 1 Guest(s)