CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.61k stars 4.17k forks source link

Weather prediction/forecast? #2633

Closed ianestrachan closed 8 years ago

ianestrachan commented 11 years ago

Weather changes very rapidly in Cataclysm sometimes. While there's no weather forecast on the news in a zombie apocalypse, I'd like to see characters with decent levels in Survival be able to forecast the weather while they are outside, something like "You look up at the sky; it looks like it will rain later today". (It may also have to be during daylight hours)

If I recall rightly, there is a weather pattern planned out slightly in advance, so this shouldn't be too difficult. What would be a reasonable Survival level to do this? Or maybe you can always use the command, but at lower levels you can't make a prediction or might predict wrongly (predict rain when it won't, predict clear skies when it's going to rain).

Maybe there can be equipment to help with this, like a barometer and/or thermometer?

It'd be good to know if you can leave the raincoat and umbrella behind, or if you should set up a funnel or two to collect water while you're gone (with #2618). You're probably not going to be able to tell the difference between rain and acid rain, though.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

gmcnew commented 11 years ago

I like this idea! You're right that this would be especially useful with the funnel change.

  1. Instead of adding an action for examining the weather, I would have predictions automatically show up 10 minutes ahead of time in the message window. This results in a simpler interface and a more immersive experience, in my opinion.
  2. Instead of making this dependent on the Survival skill, I'd use Perception, mainly because I think Survival is overused and Perception is underpowered.
  3. Wrong predictions would be reasonable, but they might be too annoying. I have slight preference toward your Perception roll only deciding between a correct prediction and no prediction at all.
i2amroy commented 11 years ago

Actually you can already get weather forecasts with the radio IIRC, so this shouldn't be too hard to implement.

A nice idea, here's my take on it: 1) I like the idea of wrong predictions, though maybe only have that as a critical failure instead of every failure. 2) I'd base it off of both PER and survival skill, weighting survival skill slightly heavier then PER (but not by much).

ianestrachan commented 11 years ago

@gmcnew I'm worried about the predictions producing annoying message spam that people just tune out and ignore. Especially if they suck at it and generally get it wrong, causing them to not even want to see the weather prediction messages.

@i2amroy I didn't actually know about the radio forecasts... then again, the last time I tried using a radio was in the days of whalesdev. Now I just steal batteries from them. I'll definitely take a look at that.

  1. Yes, that sounds reasonable. A critical failure can produce a wrong prediction, a regular failure can just say "You're not sure what the weather is going to be" or similar.
  2. Sounds reasonable. A good PER score should be able to make good predictions.
KA101 commented 11 years ago

PE to determine whether you get a check, Survival to get it right/save from crit-fail?

I've never had much luck with radios. Was the Directional Antenna fixed?

kevingranade commented 11 years ago

I'm not really comfortable with either (just) per or survival filling this goal. Per definitely contributes, but having it be the only indicator for it is really weird, it's not just a matter of noticing signs of weather change, but knowing what they are. My issue with survival is different, it's a matter of the rest of survivalcraft actions being SO different from weather prediction.

Regarding the outcome, maybe make success not be an issue of accuracy, but rather of how far ahead you notice a weather change? Basically anyone can notice weather before it happens if they're paying attention, but it might just be by a few minutes.

moist-zombie commented 11 years ago

Mildly off (and on) topic, does daytime weather hamper your hearing/vision radius? Almost all weather (even a gentle breeze) alters at least hearing.. Depending on the structure you're inside sometimes you can't even tell its storming, other structures (like my wonderful metal-roofed trailer) amplifies a mild rain into a drumming monster :)There could be several intensities of rain related storms that each obstruct you to certain extents (different levels of mist/fog as well), could even potentially do storms that break windows , damage crops, creating mud hazards.. Now I'm thinking about hailstorms :| Forget the umbrella, grab the army helmet!

ianestrachan commented 11 years ago

@kevingranade I like the idea of success being able to determine how far you can predict the weather. Anyone can walk outside, see the sky covered in dark gray clouds, and go back inside to grab an umbrella. Perhaps for each X you succeed by, you can predict another hour or so into the future.

@moist-zombie Far as I know, wind speed currently isn't modeled at all. But having been caught in a hailstorm once, I quite agree that I wouldn't want to have that happen again. It would make an interesting, if rare, weather effect.

gmcnew commented 11 years ago

High skill resulting in earlier predictions makes sense. However, some weather changes are only 10 minutes apart. If you were predicting an A -> B transition and the B weather lasts just 10 minutes, the B -> C transition may catch you off guard. To address this, I recommend ignoring certain weather transitions and only focusing on important ones: for example, if the weather is clear and will soon be cloudy, followed by acid rain, you should ignore the upcoming clouds (which may be brief) and predict acid rain instead, as early as your skills allow.

I really think bad predictions would turn people off of this feature altogether. @ianestrachan suggested this above, regarding predictions showing up automatically in your message log, but I think bad predictions would be equally off-putting if predicting the weather became a manual action.

At a minimum, if bad predictions can occur, I think they should be accompanied by an expression of low confidence (to reflect the player's low prediction skill). "It seems like it might rain, but you're not at all sure." If I'm bad at predicting the weather, I can at least know I'm bad at it.

Regarding auto-predictions in the message log, imagine that you're running around town on a clear day and some acid rain is about to start. Let's also say your skills permit you to detect a change in the weather 15 minutes in advance. You want to know about the acid rain so you can find shelter, dismantle funnels, etc. But unless you make a conscious effort to check the weather every 15 minutes -- amid your looting, fighting, crafting, etc. -- you're not going to know about the acid rain until it actually starts falling. Are you really going to stop to check the weather 48 times for each 16-hour period your character is awake?

For this reason, I think a manual "examine weather" action would either (1) annoy players by interrupting the flow of a game or (2) never be used by players at all. Auto-predictions in the message log would avoid these problems.

Zireael07 commented 11 years ago

Manual action is a bad idea. Making bad predictions accompanied by hedging ("it might, I'm not sure") is a good idea too.

ianestrachan commented 11 years ago

Well, if you're busy crafting you may very well not be paying much attention to the weather; but these are good points. However, if you're in the middle of fighting a mob of zombies, you could very well miss the "You think it's going to rain soon" message in a pile of combat messages.

Perhaps there can be some sort of hybrid approach to address all these issues? Maybe there's space on the UI somewhere to put some short-term weather transition info (so instead of just saying "Rain" to say that it's raining now, it could have "Rain -> Cloudy" to indicate that the next change is cloudy), and then there could be a command to bring up the extended forecast. That way, at a glance, without having to enter any commands, you can see what the weather is likely to change to; you can then, at your leisure, check the extended forecast to get a fuller report if the short form catches your interest.

The part that updates automatically is always visible and non-intrusive, and can let you know when you check the extended forecast. Instead of having to manually do it every 15 in-game minutes, you can do it whenever you notice the UI element for the short-term forecast change.

kevingranade commented 11 years ago

My first impression was to not display upcoming weather persistently, but now that I think about it that makes sense. If the condition is clear -> clear, you're as confident as you can be that it'll stay clear, clear -> rain or clear -> acid rain is bad news.

Agree about only considering "important" weather for forecasting. Probably only display the "worst" weather predicted. (Not counting the current weather).

Huh, wonder if we should just split off the combat log to a seperate thing entirely so it doesn't spam things away?

Any manual weather check should just repeat the most recent weather message.

illi-kun commented 8 years ago

This issue was closed as it appears inactive.

Reducing open issues to those which are (or will) be actively worked upon helps us focus our efforts. This issue has not been deleted - it still appears in searches and if it contains relevant information you are encouraged to continue to link to it.

If this issue was a bug

It should be reopened if it can be reproduced in the current build. You can obtain the most recent copy here. Please check there is not a more recent report of this bug before doing so. If no more recent report exists you should continue the discussion in this issue.

If this was a feature request

If the consensus was that the idea was good you could consider submitting an implementation via a PR. If you want to comment further please do so here as opposed to opening a new issue. Before posting check nobody has already made the same point and consider whether your comments are likely to lead to an implementation. If you have doubts about either consider instead voting for the issue

If you want to work on this issue

Then either assign it to yourself or if you are unable to do so claim it via adding a comment. Please don't assign others or make a general request for action.