OpenXcom Forum
OpenXcom Forks => OXCE Suggestions NEW => OpenXcom Extended (OXCE) => OXCE Suggestions Abandoned => Topic started by: Meridian on April 03, 2016, 10:50:11 pm
-
Abandon reason: a different solution was found and implemented using the mana resource concept
Hi all,
I haven't played Long War, ever, but I've heard about Fatigue.
This is my take on how could it work in OXC:
- each soldier has a fatigue-meter (0=empty, 100=full)
- the meter's value rises with various events like missions, turns, hits/wounds, etc.
- and also drops with time (and potentially with other events and factors)
- certain facilities can increase recovery rate too
Once the fatigue-meter hits 100%, the soldier doesn't want to go to a mission for a certain amount of Fatigue Days.
Once recovered, fatigue-meter resets to starting level.
You can still send the soldier on a mission during Fatigue Days, but he may suffer some penalties during the mission:
- for example lowered TUs and stamina
And after the mission, you won't be able to send him to a mission anymore for some time:
- this could be represented by Wound Recovery Days, not to clutter the GUI with a new indicator
Once the recovery days pass, the soldier's fatigue-meter would reset to starting level.
Ruleset-wise:
soldiers:
- type: STR_SOLDIER
fatiguePenalties:
fatigueDays: 12 # +/- 50% (i.e. between 6 and 18), set when fatigue-meter reaches 100%
fatiguePenaltyArmor: STR_FATIGUE_PENALTY_ARMOR # virtual invisible armor, which allows to decrease/increase various stats
startingMoralePenalty: 40
woundRecoveryDays: 8 # flat penalty, set when soldier is sent to a mission during fatigue days
fatigueFactors:
startingLevel: 40
startingLevelAfterFatigueDays: 20
startingLevelAfterWoundRecoveryDays: 60
recoveryPerDay: 5
recoveryPerSuccessfulMonth: 25 # monthlyRating >= 0
penaltyPerFailedMonth: 25 # monthlyRating < 0
penaltyPerTurn: 1
penaltyPerSuccessfulMission: 10
penaltyPerFailedMission: 40
penaltyPerHit: 5
penaltyPerFatalWound: 10
penaltyPerFriendlyCasualty: 5
penaltyPerNeutralCasualty: 1
penaltyPerEnemyCasualty: 4 # btw. you can set value of any penalty/recovery attribute to negative to reverse the effect in your mod
penaltyFactorByRank: [2,1,1,1.5,2,3]
penaltyForVeterans: false # after each mission penalty for as many points as the soldier's total missions (but no more than cap)
penaltyForVeteransCap: 20
penaltyForKillingMachines: false # after each mission penalty for as many points as the soldier's total kills (but no more than cap)
penaltyForKillingMachines: 20
facilities:
- type: STR_WELLNESS_SPA
fatigueRecoveryPerDay: 5 # btw. multiple facilities of same type don't stack
- type: STR_BRAINWASH_FACILITY
fatigueRecoveryPerDay: 10
Comments, ideas, flame-wars and other feedback is welcome.
Meridian
-
Looks sensible :)
I think we need more sexy nurses.
-
I don't think is correct way to "hardcode" it. Overall this functionality is not that hard that to do it by scripts. Different people would like tweak it to fit more they taste, to do it properly in code it would need lot of config options, e.g. "do armor affect it? and how?", "do commendation reduce it?".
I think scripts are better solution, even if work need to enable this in script will be two times bigger. This is because all work you do in code to support it will be available for other functionality, like customizing wound recovery (e.g you get bigger penalty for all wounds, even if healed in battle).
Example of that is customization of reaction shots that already done in my working copy. Instead of only melee reaction I now can create in scripts "ninja" or "invisible" units. Difference between them is that first need shadow to work where other can always ignore reactions (and it can require special item in hand or be property of armor).
In current version of script it not jet possible to implement this functionality, but I think that after couple of releases scripts will be mature enough to support this.
-
1) Medikits with stimulators can temporally reduce fatigue for some turns.
2) % of fatigue decreases a maximum stats by % of current fatigue. Soldier with high morale decreases a fatigue penalty, so very low fatigue can't reduce a stats.
3) Tired soldier with low morale instead of going to berserk hit the ceiling instead. He perform actions like berserk (with additional bonus to TU) or alarmist (rookie soldiers around loses morale after every turn, you need a high ranked soldier around in order to reduce a morale lose). You need to stun him in order to heal them from that state.
4) Tired soldier has a change to forget an action. He will spend a TU that required to perform an action but nothing happens.
5) Tired soldier are more vulnerable versus mind control. He will be forever controlled by aliens without a TU penalty. You should kill the alien that controls him. After losing a mind control tired soldier lose consciousness or may hit the ceiling.
-
1. The variables range looks OK
2. Fatigue point values awarded for each 'activity' should be random (maybe a roll, 0 to the stated number?)
3. Fatigue should be possible to repair during mission (through item usage)
4. Recovery per day - maybe 5+Bravery/10? Bravery should play a role here.
5. Facilities - they need the capacity as well, not only recovery value. If there are more soldiers than total capacity, the anti-fatigue effect is lowered (total capacity/total soldiers at base = fatigue recovery mod which modifies the speed; speed cannot be over 100%; the best facility is taken into account for the base recovery rate).
6. Fatigue should be accessible by an icon in the soldiers screen, 'other stats' or so.
7. Fatigue should be inflicting increasing penalties (adding this value as a variable to armor's Recovery Rates?) as it rises.
-
@Meridian: Very cool concept. Would force the player to use and train more soldiers as some go in and out of rotation. I feel like once people start surviving (thanks to flying suits, better weapons, improved stats, etc) half my team becomes irrelevant and doesn't need to do anything anymore. This would create a need for them as you can't rely on the same 10 guys all the time.
Two ideas:
-Fatigued soldiers can collapse (unconscious) on the battlefield if they hit 100%.
-Fatigue penalty for using certain items (blaster launchers and psi amps in vanilla would be good examples).
-
I completely forget that the game has an energy bar. We can also add more penalty to energy consuming. But I don't known a technician realization of source, so my ideas will looks like crazy or impossible to implement without modifications to source code.
-
I would take into account the hours spent in the skyranger, away from the base. The craft is often used to patrol for several days straight, I imagine the guys are really not fresh when they get back.
I'm not convinced by the ideas of overcoming the "fatigued" status during battle. It shouldn't be possible to leave the battlefield less fatigued than you started.
I would set no limit to fatigue, a soldier who barely exceeds his limit should recover faster than one that you overwork mercifully.
It may be interesting to make a single system for over-fatigued and voluntary bringing wounded soldiers in battle. Fatigued soldier would earn actual wounds, and soldiers who start a battle already wounded get stat penalties that reduce their overall effectiveness.
-
I would take into account the hours spent in the skyranger, away from the base. The craft is often used to patrol for several days straight, I imagine the guys are really not fresh when they get back.
Personally, I wouldn't want that as the default. That's just going to make me unload and re-load my skyranger everytime I go searching for an alien base (since the soldiers don't need to be in the craft to detect it). That'd be tedious.
I'm not convinced by the ideas of overcoming the "fatigued" status during battle. It shouldn't be possible to leave the battlefield less fatigued than you started.
That is a good point. But if it's all moddable than the player or modder can adjust as they like. If you see the "fatigue" as also "mental fatigue" you could consider it "long-term morale" and you'd get a mental boost from killing aliens or winning missions.
On the other hand, win or lose, killing aliens is physically draining.
-
I can't speak for all the values you've posted, but I've been scrolling through the forums a while trying to find something that adds a fatigue system. I think it'll prevent power creep, by "forcing" players to expand their ranks, and it nicely humanizes the troops a tad.
I'm uncertain if moral-debuffs will simulate weariness well, it almost seems that the mental and physical stain on a weary soldier are not the same as a panicking one. So maybe Accuracy/Psychic-Resistance/Time-Units/Etc are better simulators.
Would love to see it regardless though, and I love the idea seeing dying civilians and squad-mates die impacts troops long/longer term
-
The necromancer has arrived! (Yeah, I've been away from the forums for about a year as of last Feb, so still catching up some).
I think the fatigue system is a great idea. I was thinking about this last night after running several missions in the XcomFiles with the same crew (due to locality of the missions) and was thinking to myself, "I'm running these guys hard, they should be really tired". I've never played XCOM:LW, but I've watched Meridian's LP. I thought it was a good thematic system to the game that made for some interesting choices on how you manage your soldiers. I really think this system should be implemented.
The ideas I had was the fatigue was based on the number of turns a mission takes. The longer the mission, the more fatigue the soldiers take. This could be modified by the soldiers "stamina" stat, so I would expect soldiers with high stamina take less of a fatigue hit, but still has to be greater than zero.
Another factor could also be how much "energy" a soldier has left at the end of the mission that adds to the fatigue based on how much energy is depleted at that time.
I like a lot of the ideas listed here although I think it would be great just to start with something simple to get the system under test and build upon it. Maybe start with how it behaves in Long War as a starting point. It's not quite like wounds, but you can take fatigued soldiers into battle that will cause a wound. Fatigued soldiers could start the mission with a energy penalty and a temporary cap to their maximum energy level (i.e. you can't run them around as much as normal and they don't recover to their normal max energy stat but only to the new temp cap).
Yankes, have you done anymore development in this area with scripts since you last posted here?
P.S. The other reason I like the idea of factoring fatigue is because a couple of my favorite board games (Thunderbolt: Apache Leader & Hornet Leader) have a fatigue system (actually called stress but acted the same) that can make your pilots unfit for assigning to the next mission if you don't rest them (or shaken which affects their abilities in a mission). It makes for tough decisions each day of the campaign for you as the Commander.
-
Not yet, right now scripts can't have effect outside single battlescape, but adding options for transferring information between battles is possible.
Right now I have overdue other request that I do not have time and energy to complete but recency I start spending my 40 vacation days and I will probably have some time to move my progress.
-
Since this topic has been linked recently during the work on Mana, is there any chance this would be re-explored?
I think it would be very similar to Mana, with fairly similar recovery methods, but with more all-encompassing means of deteriorating the condition of soldiers.
Ways it might be different...
1. Travel-Time builds up Fatigue, i.e. soldiers that take 10 hours to get to a fight do not feel as fresh as soldiers that travel 10 minutes
2. Mission Participation can build up Fatigue, simply by being a part of a mission
3. Mental-Fatigue, Morale Damage to Fatigue (2.0 double, 1.0 direct, 0.5 half, etc.)
4. Physical-Fatigue, Energy Burnt to Fatigue (^Same^)
5. Fatigue recovery rate when wounded (i.e. 0.0 waits until healed to recover Fatigue, 0.5 recovers Fatigue at half rate whilst wounded)
6. Fatigue Subtraction Buildings, Fatigue Increasing Items (drug abuse) and Subtraction Items (idk a meditation app), Fatigue Increasing Armors (psi-armor) and Subtraction Items (idk a seat that lets the soldier literally sit this one out), standard shit that lets modders give players ways to manage the effect.
7. If not labeled "Wounded" allow a display of "Resting" or a number of different titles based on the severity of Fatigue (i.e. <=0 rested, >10 tired, >20 very tired, etc.)
8. Fatigue Resilience
9. Effects of Fatigue (default (morale =- (Fatigue * w), energy =- (Fatigue * x), strength =- (Fatigue * y), accuracy =- (Fatigue * z), etc.) These would be dealt to units at the start of each mission affecting the Cap of each bar.
10. SoldierType Fatigue Recovery Rate
Just my thoughts, I know the Mana system can be hacked into kind of fulfilling the same role, maybe there's a few ideas there you could use though :) All the best!
-
Hmm, semantics of fatigue/stamina/energy are identical enough to be confusing when existing at the same time. This seems to be another custom resource, like mana. One could foresee more requests of this type in the future. So maybe a generalized system for adding such resources and hooks for manipulation? Already people like myself use mana for things like battle focus. We could also open up to the idea of having configurable stats. Just my 2 cents.
Gesendet von meinem Pixel 2 mit Tapatalk
-
Yes, modders are using mana for fatigue purposes since it was introduced.
There is one big problem with adding new ones... no space on the GUI to show them... I squeezed the last possible pixels and made a few small compromises on some GUIs as well. I can't see a way to add one more.
-
What about taking the one slot we have (currently mana) and make it completely configurable. So it could be mana, fatigue or whatever. Down to the hooks where the values would have to change.
That would not allow having mana+fatigue, of course. But I see no other way except redoing UI or having hidden stats.
Gesendet von meinem Pixel 2 mit Tapatalk
-
How exactly would it be different from what we have now?
-
That depends, if everything people would want with resources is already possible with mana, then there is no difference and the problem seems solved. But since the fatigue resource has been brought up it might mean not everything that is wanted for fatigue is possible with mana?
Gesendet von meinem Pixel 2 mit Tapatalk
-
To my view the only difference is under the hood, and therefore only a modder's concern. And a fairly trivial one, compared to some other stuff. But maybe I am misunderstanding something.
-
"Once the fatigue-meter hits 100%, the soldier doesn't want to go to a mission for a certain amount of Fatigue Days."
Take this for example: You cannot do that with the current implementation of the mana resource, afaik. Eg. If that mana resource is at 100% disallow embarking on missions.
It would need special code to handle that. I would propose not adding that code only for fatigue, but as a generalized moddable hook.
Gesendet von meinem Pixel 2 mit Tapatalk
-
Comments, ideas, flame-wars and other feedback is welcome.
Great idea. Do not forget about the possibility of relieving fatigue through soldierTransformation.
And by the way, on the mission of defending the base, fatigue should not extend in any way.
-
Just had a thought: What about using the tag system which Yankes implemented for the scripts for this feature? And extending and generalizing the ruleset additions to make them handle tags? Could be very powerful ;D
-
What about off site recovery from fatigue? Things like shore leave or 3 day pass where the soldier wouldn't be present for missions or base defense while he's on leave. While a base facility can reduce fatigue, the soldier is still available for missions/defense. Perhaps existing mechanics could handle this, but I thought I would bring it up because I didn't see it mentioned.
-
What about off site recovery from fatigue? Things like shore leave or 3 day pass where the soldier wouldn't be present for missions or base defense while he's on leave. While a base facility can reduce fatigue, the soldier is still available for missions/defense. Perhaps existing mechanics could handle this, but I thought I would bring it up because I didn't see it mentioned.
Vacation is a cool idea, but I have no idea how it could be implemented.
-
Vacation is a cool idea, but I have no idea how it could be implemented.
What about using the transformation mechanic? For reference see here https://openxcom.org/forum/index.php/topic,6331.0.html (https://openxcom.org/forum/index.php/topic,6331.0.html) For example for a 3 day pass, just name a transformation as 3 day pass, have it reduce the fatigue level, and put the soldier in transfer for 3 days. Don't actually change the soldier type.
-
What about off site recovery from fatigue? Things like shore leave or 3 day pass where the soldier wouldn't be present for missions or base defense while he's on leave. While a base facility can reduce fatigue, the soldier is still available for missions/defense. Perhaps existing mechanics could handle this, but I thought I would bring it up because I didn't see it mentioned.
it reminds me a bit Jagged Alliance (there was randomly absent, /unavalaible for assignment aany mercenary.. - while he,/she was on another mission.. )
-
What about using the transformation mechanic? For reference see here https://openxcom.org/forum/index.php/topic,6331.0.html (https://openxcom.org/forum/index.php/topic,6331.0.html) For example for a 3 day pass, just name a transformation as 3 day pass, have it reduce the fatigue level, and put the soldier in transfer for 3 days. Don't actually change the soldier type.
You know, this could work. I will seriously consider it.
-
Forgive me, I had an idea recently regarding this, though I understand the Mana-system seems pretty well utilized as "Stress"/"Sanity"/"Fatigue" at this point. This is playing on my mind though so I'd thought I'd jot it down...
“Stress” and it's effects seem largely synonymous with "bravery", it's just a middleman really.
Likewise "Fatigue" perhaps it's fair to say is largely a "stamina" effect.
Maybe more active modders can give there takes on this, but would it not be easier just to have the condition of Bravery/Stamina carried onto the campaign-space like health and mana from the mission-space?
i.e. stamina and bravery get a “replenishAfterMission: false” or a "replenishAfterMission 0.8" (so they for a while at a 20% disadvantage from "fresh" infantry)
So bravery and stamina refills to a minimum and then slowly recovers over time or through facilities/abilities.
This feels a lot easier for a player to digest and you get 2 types of fatigue (physical & mental).
Possible con; Player could milk turns to recover Bravery/Stamina, so there would need to be a "max_BraveryRecovery_InBttle" perhaps. Could be harder to balance.
To help communicate trooper-states on the assign menu it could flash between “Wounded” > “Unnerved” > "Tired" > “Transport Craft” > etc (there might be tiers of descriptors like "exhausted" to indicate further grades of severity, or just display the value i.e. "Tired>20").
Whether being unrecovered fully in health, stamina, or bravery prevents that unit from going on mission might be definable, and a useful tool might be a "Performance Modifier" limiting that soldiers other statistics besides health/bravery/stamina (i.e. accuracy and strength) on the condition that this unit was deployed with say 20% less than its maximum health/bravery/stamina.
This way "mana" is now free to fill another gap (spells/food/friends/whatever), and we no longer need a bespoke slot for "Stress" and "Fatigue"
Sorry I will now disappear again :-X -smoke bomb-