Smuggler Archive
Thread: Theory of slicing results and probabilities
SpinningCloud wrote:
Well since in all this time I've never seen anyone collect enough data to statistically determine the distribution I'd say it is all speculation.
As an ex-software engineer and ex-manager of software engineers (hardware also but that's not relevant here) I'd have to say that I always used a canned RNG as they were both simple to aquire, much easier to maintain and much easier to document the code that used them.
Today...and a few years ago when SWG was being coded sophisticated function libraries are quite common and I'd, as a manager, be pretty ticked with an engineer that insisted on reinventing the wheel.
So, based on the KISS principle alone with no data to sway things in another direction, I'd vote for a canned RNG.
I think this is a valid point from the software engineer perspective. But at the same time, we have to remember where SWG comes from. It was developed by SOE and the team contained many people that worked on Everquest. Everquest was a traditional rpg, and when SWG first came out (and we are still struggling with this today) it was just a re-skinned, classic fantasy rpg. This would support the theory of something more along the lines of a 15 + 2d10 roll (or I guess 13 + 2d10 to get the results we get).
I don't think we could ever collect enough sample to points to prove it conclusively either way. And of course since its not open source, the world will never know.
Message Edited by SpinningCloud on 03-06-2005 06:58 AM
lurdanta wrote:
You know this is all very interesting, but no matter how they go about doing it, there's nothing we can do about it. What does it matter how they generate it? It's a great intellectual question, but that's all it is, knowing how they make it random isn't really going to allow us to use this information.
Personally I agree with SpinningCloud, why would they go to all the extra effort.
Message Edited by Phoenix0op on 03-07-2005 01:45 AM
SpinningCloud wrote:Normally an RNG routine call takes a range and returns a value within that range with a distribution at the center of the range. If you ask for an integer between 15 and 35 then it will return a pseudo random number in that range.RNGs come in varieties for C++ that will generate floating point and integer numbers with uniform or nonuniform distributions. The nonuniform distributions can be of normal, bernoulli, poisson, binomial, hypergeometric, noncentral hypergeometric, multinomial, ultivariate hypergeometric, noncentral hypergeometric and shuffling.Why would they code something special when a simple standard function call with the variety offered by C++ RNG functions would suffice?Message Edited by SpinningCloud on 03-04-2005 01:54 PM
Well first of all if I have read it correctly the servers (where the random roll is most likely made, I would very much doubt it's made client side) is not written in C/C++ but in Java. I know there are built in functions for Gaussian distributed values in java (and uniformly distributed), but I don't think there are any others.
But from a developers point it seems easier to do 13+2dX (where X depends on your level in the slice tree) than to possibly implement on your own more mathematicly correct nonuniform random distribution. Remember that GreenMarine said that slicing (and mostly smuggler as a whole) was meant to be more complex but he didn't have the time to implement it. Quote: "We had so much stuff to do and so little time to do it!"
They most likely sat up something easy that worked as a placeholder for the more complex system where tool quality mattered etc but ever got to it implement it. Perhaps it was 2dX, perhaps it was gaussian, in any case the method of choice was probably what GreenMarine first thought of without too much deep consideration.
SpinningCloud wrote:
...
I also don't believe anyone has taken a statistically significant sampling with which to make ANY claims on the distribution.
...