Talk:Planet landing risk-reward formula
This is an idea that has been on my mind since I first played SC2 in July 1994. I always wanted to come up with a "simple" formula for calculating whether gathering valuables on a dangerous planet was worth it. Also, planets with no lander damaging threats but poor return on fuel spent (for example, a planet full of commons or sometimes trace or light amount of corrosives or base metals) may not be worth your time and effort. I admit, this is a bit ambitious, and someone may have already done something similar for this game, but I thought it could be a fun exercise, especially since we have access to how the game values certain lander damage, as well as hard numbers for all planetary data within the game. If the template idea is a bit much, a program could be written (I'd be willing to try if provided with the data) to read all of the game's raw planetary data (which is static) and construct a list of the top 100 most valuable planets, star systems, areas of the hyperspace map which we could then use to construct a wiki table. This program could also produce wiki table formatting for easy modifications/updates to the formula, if deemed necessary. Part of this idea was briefly mentioned while I was discussing the feasibility of the StarBox template with Svdb here.
Before jumping in and modifying the formula (which doesn't exist as of yet), I ask that we discuss some of the ideas behind it here first. For instance, I believe that the formula should produce both negative (very bad) and positive (very good) values, and that it should not simply consider 0 (zero) its lowest possible value. Rather 0 (zero) would be considered "breaking even". It's my opinion that the positives of this formula are fairly straightforward with the exception of the various Alien Artifacts. Most likely, as a group, those should be given a high positive skew since the rewards of collecting them often far outweigh most dangers. Coming up with a reasonable formula for calculating the negatives is going to be a lot more difficult. There are also other factors that may affect planet landing that I am not aware. For instance, I would like to know if a planet's tilt, atmospheric thickness, rotation rate somehow affect how closely the lander lands next to the destination initially chosen. There is always a bit of landing "drift" that the lander suffers. If this is not purely random, it may be slightly important in a more complete formula in how much it affects how quickly certain minerals can be collected. The trick about landing on an extremely violent world to get one huge exotic piece and leave immediately comes to mind. Obviously someone who is intimately familiar with the source code, such as Svdb, would play a vital role in answering many of these questions, providing insight, and showing us how to access the raw game data (though I'm sure it's been mentioned repeatedly somewhere else, such as the various forums). Thanks in advance for any interest (even if you tell me this is a really bad idea), and your participation. --PsiPhi 15:49, 16 October 2007 (CEST)
Excellent idea in my opinion, maybe when I'm not quite so busy I'll be more helpful, for now my only suggestion is to put it in the game mechanics category, like the Lander Hints page. - Zeracles October 17 2007
Any help would be appreciated Zeracles. I have looked over your website, so I can say with confidence that you are more experienced with mathematics than myself. Formula derivation has never been one of my strengths. My initial thought was that this was more in line with actuarial work, based on what little I know of that profession. This formula does not have to be perfect. A half decent formula that gives a good idea about the risk involved would be useful. It doesn't need to include all the terms I listed either. I just wrote down all the possible factors I could think of that could affect the final value, ignoring harder to quantify values, such as player's skill (driving the lander).
Formula Creation and Conversion Issues
I was also not sure if the final value should be assigned a specific unit, such as "fuel units" (since both Minerals and Bios can be converted to fuel), or something arbitrary instead, such as "points". The difficulty is comparing the value of Minerals to the value of Bio data. In the early game, Bio data is extremely vital, perhaps more so than Minerals, but towards the end of the game, especially after you have exhausted all of the Melnorme tech (and info), Bio data essentially becomes an emergency fuel supply. However, by that point in the game, Mineral collecting is no longer necessary either (since you can collect RUs directly from your many battles). Therefore, if this formula is most useful in the early game, when you do not have any Melnorme tech, and you are starved for RUs, it may not require any of the modifiers, which makes the process of creating the formula much easier. If we build the formula with the assumption of no lander upgrades, and Minerals and Bio data being equally important (given their respective conversion to a common fuel unit), then we can ignore the modifiers completely, and focus strictly on the Positives minus the Negatives. What do you think? --PsiPhi 14:57, 17 October 2007 (CEST)
- Sounds interesting, but I think you are trying to cover too many bases by including minerals, bio and energy in the same formula. Devices, I'd say, should be left out, since they only have a plot-advancing value, not a RU value, and bio should be treated separately from minerals. So we should have one "risk" indicator and two "reward" indicators, one for minerals, another one for biodata. Valaggar 16:41, 17 October 2007 (CEST)
- I'd be willing to ignore devices. I only included them for completeness with the idea that they'd be given a high skew value, but upon thinking it over, those worlds fall under the "no-brainer" category. You should not have to think "should I land here?" when there is an energy signature. As for minerals and bio, I'd really like a unified formula, but I'd be willing to create two separate formulas at first, and if possible, marry them later. The issue is, it's relatively easy to equate the value of minerals to the cost of crew/shuttle/fuel used. The more difficult aspect would be comparing the importance of bio data to those three potential expenses. This is why I proposed a series of equivalences based on real game values. The problem with bio data is that Credits to Fuel is a one way street ... once credits are spent, there is no way to get them back via trade-in. So when it comes to comparing the value of bio data to crew and shuttle cost, we have a slight problem. Given the level of importance of bio data in the early game, we could just ignore this inequality and treat it as if it is a two-way transfer ... see how that goes. If later, we find that this does not work well ... the results don't look right, we can find a way to "fudge" them a bit. Also, since it is possible to acquire credits through other means (rainbow worlds, the Umgah), this does slightly downplay the importance of bio data collecting. But we must keep in mind that this formula is intended for players who are at the beginning of the game, when the Umgah and most of the Rainbow Worlds are very hard to reach on limited fuel supplies. Regardless, the mineral-risk formula should be somewhat straightforward. Perhaps we can start with that initially and build from there. --PsiPhi 17:53, 17 October 2007 (CEST)
- I'd have to agree with Val in that sense that you are casting a wide net. I'd be in favor of using bio=credits=fuel=RU as a conversion even though it doesn't go both ways. (Related to this would be figuring out how the RPRG determined the "20 overall richest star sytems" which appears to combine the two somehow). You're already making several approximations and simplifications so it seems like a camel and a gnat. Although separating the two may be a good solution - the only problem with this is the two are coupled when calculating the risk/cost. This is because if you try to collect all the bios on a planet, you will spend more time on it and increase the cost due to the hazards and you may have take more trips to collect them all. However, in my mind here's my two cents on how the algorithm in general should look:
- mineral_reward=total RU value of all the minerals (duh)
- bio_reward=total bio value or (bio value)*40 to convert to RUs
- Costs (and cost related)
- landing_cost=(fuel to land)*(times to collect everything (may differ if collecting bios))*20 RUs
- time_mineral=not a cost, but dependent on the distribution of minerals
- time_bio=dependent on distribution, total hit points, and mobility (and maybe attitude) of the bios
- hazard=time*(frequency)*crew cost RUs (I'm guessing the class #/temperature determines the frequency of the hazards. The frequency then is how many of that type of hazard the lander will encounter each second.)
- bio_hazard=time*(danger weighted by mobility and attitude)*crew cost RUs
- The hardest one to figure is the bio_hazard (how to weight the dangers). In some sense it might be better to express it rather than a sum, but rather as a ratio and then in the form ### / ### that way it's easy to see why the number is good. Ratios are usually better for gauging things like this (like signal-to-noise ratio in electronics and communication). An alternative that you may consider is something more along the lines of NFPA 704. I see these a lot since I do a lot with dangerous chemicals - in that case there's so many ways that chemicals can be dangerous that too much info would be lost by simplifying it to one number. Something like this may be difficult to implement in mediawiki and may drift to far from a quick and simple metric and too close to the scan data in the planetbox, but I thought that I'd throw it out there as an option anyways.
- Anywhos, I'd say remember that this is a multivariate problem that you're trying to map to a smaller parameter space so don't sweat simplifications like interchangedness or modifiers or other sources of bio. The only other page we have to compare to is Flagship Energy Management, but that has a easily derived algorithm but it is multivariate, hence the two tables showing the two approaches/ways to consider the problem. Overall, for this not to descend into fan speculation and extreme, subjective extrapolation, this needs to rely heavily on hard, canon values like the energy management page - for example, the hazard frequencies are probably coded based on the class #/temperature, the RPRG lists the hit points of all bios, the mineral distribution can probably be extracted from the code... But I ramble on. Anyways, good luck. --Fyzixfighter 05:45, 18 October 2007 (CEST)
- Thank you Fyzixfighter for participating. I will never hold long replies against you as I am usually guilty of them myself. Your emphasis on avoiding speculation and subjective extrapolation is an important matter we all need to keep in mind. You mentioned the RPRG. I only discovered this resource while researching for this page (about 2 days ago). I had no idea until then that PR3&FF had created and published this. Upon reading the three tables containing data on top 20 systems for resources, I nearly stopped and erased what I had. But then I realized these tables do not mention anything about how dangerous these planets/systems are (and some of them are very dangerous). So, this article was spared the ax, for now. I've taken the values from the first (combined) table and put them into a spreadsheet. I then applied the Bio*40 (1 Bio = 2 Credits = 2 Fuel Units = 40 RUs) and added on the Mineral Totals (I take it these are in RUs also; it doesn't explicitly state this). I discovered 2 minor discrepancies, and 1 major one (off by almost 2000 RUs). See table below:
Star System Mineral Totals Biological Totals Bio. * 40 + Min. (RUs) Delta Aurigae 11005 256 21245 Beta Carinae 7982 304 20142 Beta Scorpii 12680 178 19800 Beta Circini 6897 248 16817 Delta Sextantis 5901 322 18781 Beta Tauri 5747 277 16827 Alpha Olber 6940 241 16580 Epsilon Draconis 7298 230 16498 Zeta Scorpii 4134 309 16494 Gamma Tauri 7307 219 16067 Gamma Geminorum 2388 341 16028 Epsilon Scuti 8365 175 15365 Lambda Hyades 1949 329 15109 Beta Vulpeculae 6208 214 14768 Gamma Circini 4903 247 14783 Delta Chandrasekhar 4299 259 14659 Aldebaran 6488 201 14528 Kappa Hyades 4736 186 12176 Fomalhaut 4158 191 11798 Alpha Chandrasekhar 4799 175 11799
- Unless these can be ignored as printing errors within the RPRG itself, we must assume that PR3&FF used some other formula for determining the value of Minerals vs. Bio data. Simply replacing the 40 with higher or lower numbers does not fix this discrepancy, and usually creates a lot of new ones. I must admit, I am at a loss here. Unless they used some unstated modifiers on either Bio data (value/speed/danger of aliens), or Minerals (?size of deposits?) I can't figure out how to explain this. If anyone ever has the opportunity, perhaps someone should ask them how they came up with the rankings for these systems in the RPRG (that is, if they can remember something this obscure from that long ago). Any hunches? Best guesses? Thanks, as always for participating. --PsiPhi 14:12, 18 October 2007 (CEST)
Just some thoughts. There's so many things which if done properly would make this really hard, but I like the simplifying assumptions thus far (we can be cheap and nasty, no hard core mathematicians here I hope). I think Fyzix has pretty much nailed the basic form.
Fyzix's time_mineral variable, to do this rigorously would I think be a too-difficult graph theoretic MST type thing, but we could fudge it by assuming even distribution of goodies, and calculating the average separation between them. This would give the time_mineral for each one. If we decide this is the way to go I could probably find how this mean separation varies with number (I work with code which does similar stuff).
Also, where do we assume that the player bails and returns the lander for more crew? I mean, when crew is down to three? We all know it varies. If we assume a player reaction time of a second or so, the ideal player bails when the lander is within a second or two of biting it. Probably three seconds for a bit of a cushion. So the crew escape threshold would be Fyzix's hazard variable with 3 seconds or so. This affects landing_cost in the way Fyzix describes. Again, this is a problem which is probably too difficult to solve properly, I think we would have to model the hazards as a Poisson process and take into account how much these different hazards hurt to really find out where the optimum escape threshold is.
If we don't decide to just ignore this aspect, just for the record I propose the name bailout_crew for this variable. If someone has a better name please go ahead!
If the bios are reasonably mobile, bio_hazard decreases with time as the player picks up kills, as the frequency of encounters falls. This means that bailout_crew changes with time, as well as changing bio_hazard over time. I guess we need to decide how properly we want to do this. We could maybe take the simplest approach, assume these things will change linearly, and for example just halve bio_hazard to model its fall to zero.
With the lander's dual mineral / bio capacity, I assume we assume (heh) for simplicity that it returns to offload when one of these is full? So this makes the number of trips easy to figure out. Otherwise it would be more correct to do the formula in stages.
One last thing, there's been talk of not taking into account the Melnorme lander upgrades, but it looks like the proposed formula is sufficiently general to handle this - just change some of the values.
BTW noticed Fomalhaut in that list, anyone else remember sc3's goof in putting this in a different quadrant? I don't remember it being quite so bountiful then, heh.
Cheers everyone --Zeracles 19:40, 18 October 2007 (CEST)
- Thanks Zeracles for this contribution. I respectfully suggest in the future that you explain or at least link to an explanation for things such as MST and Poisson process so that others can get an idea what these concepts mean. Having studied things like MSTs, your mention of it got me thinking that optimal mineral collection is likely closer to a Travelling Salesman Problem minus the need to return to the origin. As part of complexity theory, this problem is definitely computationally complex and would be hard, even for a computer to solve efficiently, especially given enough data points (mineral deposits). Personally, I'm not seeking that level of sophistication. Although, I cannot deny that Fzyix has a good point about time mattering in terms of increasing the probability of crew loss because the planetary dangers are time dependent, based on both direct exposure (how long the lander is touching a hazard), and how long a lander must spend on the surface to complete its mission, increasing its overall exposure to potential dangers. We may have no choice but to assume certain things as even distribution to avoid this level of complexity.
- In terms of human actions, as in when to choose to flee, I wouldn't dare to guess. Adding a human element to the equation adds another level complexity I was hoping to avoid, if possible. We would need to come up with "reasonable" standards. No small task, I know.
- Speaking of renaming things, if anyone has a better suggestion for naming this formula, I'd like to hear it (aside from "Impossibly complex thing PsiPhi dreamed up"). ;-)
- In terms of the lander returning when one of the two (bio or mineral) is full, I must say, that's not how I play, or would play. I always try, if possible, to fill both to near capacity before returning, in order to ensure least amount of fuel used. Keep in mind, at the start of the game, 1 fuel unit equates to nearly 7 crew members (as horrible as that is to admit), so as long as your shuttle is still half full of crew (given the landing takes 1 fuel unit -> 0.5g), you might just risk it, but I guess that would be part of what this formula could determine.
- The reason I did a reversal on the Melnorme upgrades is that I meant for this formula to be of the most use to someone at the start of the game, i.e. no upgrades. If you think they can be factored in without much effort, that would be great!
- As for SC3 and Fomalhaut ... that sounds familiar ... I don't recall the condition of that star system.
- In summary, I think I am seriously starting to regret ever suggesting this idea in the first place. What a nightmare! hehehe! :-D What a disaster all this would be if we finally created a working formula only to realize "Hmmm, this isn't really as useful as we had wished." Part of me is thinking that maybe I should have started with the idea of calculating the return on all "safe" worlds (Class 2 or below and 100°c or less; bios would be OK since they are arguably the easiest to avoid of all hazards). This would have the effect of significantly reducing our list of data to be processed and we could focus purely on mineral + bio values - fuel used (assuming player plays optimally avoiding all bio damage). One last thing about this formula ... I was wondering about distance from Earth (ignoring the Portal Spawner), in terms of fuel used for a round trip. What would be the point of spending 200-250 fuel units (4000-5000 RUs) if you don't make a significant return. It's times like this I get to thinking, "hey, forget all this ... here's the alternative":
- max out your thrusters ASAP
- fill two fuel tanks and fly to A. Pavonis to get the Warp Pod
- fly to the Quasi Space opening, get the Portal Spawner
- systematically fly to all the Rainbow Worlds (maybe even get the Taalo Shield, free the Umgah)
- Find Trademaster Greenish, get all upgrades
- focus on making the Flagship into a death dealing machine, by collecting RUs from VUX, Ilwrath, Thraddash, Mycon, etc.
- forget all this resource collecting nonsense!
- And then I think, "Oh, right, as a new player I probably wouldn't know all this". If anything, this says a lot about the complexity and open-endedness of the game. You have options! --PsiPhi 21:55, 18 October 2007 (CEST)
- Sorry about leaving out links for MST and Poisson process, it hadn't occurred to me that people would be interested, especially since I was suggesting that we not go down these paths. Ah, but SC fans live for concepts, and are interested in many such things. By the way, you say you've studied MSTs, I may be working with them before too long for characterising galaxy distributions. Another technique for doing same is Voronoi tessellation. Maybe I'll work with this too, but I mention this because you said you loved . If you look at the Voronoi tessellation article you'll see why I bring it up. For what it's worth, I like it too ;) Nice going.
- I agree that we should assume uniform distribution rather than tackle things like the Travelling Salesman Problem. Although, what initially excited me about your idea was its difficulty. Well, for the article anyway, you're definitely right that we can't do it in all its complexity, what a shame.
- You speak of reasonable standards for human actions, I think at least for what I was saying about bailout_crew, this is something which wouldn't be too difficult, it's just that because this only applies in rather hostile environments, when to return the lander is the least of: time to fill bio capacity, time to fill resource capacity and time to get down to bailout_crew. So our formula could be conditional in places, or, if one prefers, includes terms which play no role in many cases. So I guess (and as you and others have probably seen) the control structure of the formula might not be as simple as Fyzix's starting point.
- About returning the lander when one of either bio and minerals is full, I don't think anyone plays like that, I was just saying it might be easier for the formula.
- You mention "forget all this resource collecting nonsense!", I've thought this often and rather than think it over I often go looking for kills and rainbow worlds (this last one is kind of cheating one must say). But it does get boring. Quicker in Ur-Quan space though of course (this makes Fwiffo my ultimate hero at the beginning).
- You bring up another significant question, that of whether to visit a star system in the first place. In my eyes this is just a scaled-up version of the same problem, where fuel to get there is like fuel to send the lander. It's just that fuel to get there obviously depends on how far away one is. If we work out the rewards of visiting a star system though, we would be able to say how close one would have to be to make a resource-gathering detour worthwhile. I think this could be worth considering while or after we discuss this planet-landing formula. I know I might use it. What do we think?
- Do not despair yet, PsiPhi, it's a great idea and I reckon it can work, I like your style! --Zeracles 20:54, 19 October 2007 (CEST)
- I don't know if assuming an even distribution is that good of an idea. To me that seems like it would flatten out the time such that the total time is the same for any number of deposits. However, I'd be interested to see what you get Zeracles by running it through some code and seeing how the total time varies with number. I was thinking of just having time_mineral be some standard dt times the number of minerals, scaled by the standard deviation to handle how the deposits clump, in other words T=N*sigma/v - dirty and cheap I know, but simple. To me there's a big difference between a close cluster of deposits on a hostile planet, and several scattered deposits on a similar planet.
- As to the crew_bailout, I'd say that the easy way to factor that in would be to take the calculated total crew lost from all the hazards and divide that by the amount of crew you're willing to let die (12-crew_bailout) to get the number of trips someone will take. A similar thing can be done with the minerals and bios where the number of trips is the max(bio_total/capacity,mineral_total/capacity). The sum of the hazard and mineral/bio trips would give a high end estimate of the total number of trips. No idea though on the best value of crew_bailout, 3 maybe? I wonder if we should add a term in there for losing the lander (500 RU) on extremely high risk planets.
- Yeah, I know this is extremely simple and probably ignores several factors, but I think one of the keys has to be making this as applicable to any player. A good player will look at a low reward/risk ratio and be more willing to try than a less experienced player, so I wouldn't worry to much about the human factor. Whatever algorithm you use, it really should model your thought process as you look at the scan of a planet. Of course there are some things you can't know like the aggression and mobility of the bio types, but I guess that's in part what this whole in endeavor is for. Anyways, in the words of Einstein, "Make everything as simple as possible, but not simpler." --Fyzixfighter 05:09, 20 October 2007 (CEST)