February 2004
- Solutions for smarter NPCs (long) Robert Zubek
- TECH: newbie, mud over jabber im cr88192
- Randomness Alex Chacha
- Randomness David Kennerly
Hi Alex.
I apologize for leaping into this conversation midstream without
reading prior messages. Your insight into one mechanical cause
player frustration and the well thought out algorithm caught my eye.
Alex Chacha wrote:
> The player will get a lot more frustrated when they get 5 misses
> in a row rather than 7 misses out 10 sparcely distributed (e.g. T
> F F F T F F F T F). There seems to be some feeling of "doing
> work" that players expect, if they are fighting a monster and they
> keep missing they get frustrated but if they get a hit once every
> 3 or 4 swings they accept it since they are doing something.
I concur. It seems that one way to prevent this is to reduce
randomness. I've played on MMPs that reduced to hit randomness and
reduced damage randomness. Reason? As you said, if the probability
for a string is above zero, then the probability for that string
occurring at least once in the lifespan is very high. And once it
does, it is a frustrating experience.
The level of thought you put into this algorithm caught my eye:
> First one is a pure white RNG, every missed trial "moves" the
> curve towards a success value, so initially rolling 10+ with a d20
> is 50%, if the user misses, then next time around the RNG
> coefficient is adapted so the chance to roll 10+ is 60%, then 78%,
> then 86% etc with 90% cap.
Since I haven't been keeping up, may I ask: Have you considered
selection without replacement? And compared the two?
Basically, instead of "rolling a die," draw a card. Using the d20
system (3.5e) as shared vocabulary to discuss the concept, instead
of rolling a d20, there being 20 perfectly shuffled cards. If the
player has a melee attack of +0, then he would hit AC 11 at 50% of
the time. So there would be 10 hit cards and 10 miss cards. The
player could get 10 misses in a row, but the probability of this is
much less than 10 misses in a row in selection with replacement
(rolling a die, or replacing and reshuffling after each draw).
Suppose "f" equals the number of consequtive misses. With
replacement
p[a](f) = 1/2^10 = 9.8 * 10 ^ -4
Without replacement
p[b](f) = C(10, 1) / C(20, 10) = 5.4 * 10 ^ -6
Without replacement is roughly two orders of magnitude less
probable. And without replacement is guaranteed never to have more
than 10 failures in a row. I'm curious how the algorithm you
mentioned compares for 10 failures in a row.
If one were applied worst case analysis and had predetermined 5
consecutive misses to be the maximum tolerance, then the deck could
be divided into two separate decks, each without replacement, so
long as each deck had no more than 5 in it. For consistency's sake,
it'd might be evenly divided. E.g., 75% success rate = 7 out of 10
and 8 out of 10.
I'm not a computer scientist, so I don't know how efficient a
shuffling algorithm would be during run-time. I mean just for 20
elements during a string of 20 events, not asymptotically. I guess
not worse than 20 * the running time of with replacement. Of course
it requires more memory but only, per user, an additional 20 bits +
a constant overhead. Does that sound right?
Heh. I'm not a statistician either. :) Yet, I believe even the
small event probabilities, such as 9.8 * 10 ^ -4 are worth
considering in an MMP, since for a simple example, there could be an
average 1000 attacks per user per hour. To be crude (since actually
only 2 of the 10 possible combinations of 10 consecutive failures
conform to a division of 10), this could 100 strings of 10 attacks.
If--admittedly extremely oversimplified--there were, for a
reasonably small MMP, average of 100 simultaneous users per day with
uniform distribution of attacks, and independence of attacks, then
there would be 100 strings / hour * 24 hours / day * 30 days / month
= 72000 strings per month. Since this is very large and the
probability is very small, but 7.2 * 10 ^ 4 is still small enough in
relation to the probability, the Poisson distribution approximates,
with a rate of {lambda} = n * p, which is:
{lambda}[a] = (7.2 * 10 ^ 4) * (9.8 * 10 ^ -4) ~= 70
So there's going to be, on average for a low-traffic MMP, given all
these oversimplistic preconditions, 70 strings of 10 consecutive
failures per month using a mechanic analogous to a simple d20 die
roll. Whereas, without replacement, a mechanic analogous to a
20-card deck draw:
{lambda}[b] = (7.2 * 10 ^ 4) * (5.4 * 10 ^ -6) ~= 0.4
Or about 170 times fewer strings of 10 consecutive failures, and--in
the latter case--absolutely no strings of 11 consecutive failures or
more. Does that sound right? That is all contingent on my having
done all that correctly, which I'm more certain I didn't with my
lack of skill and at this late hour.
Even if all this were true, computing the distribution of loss of
accounts due to player frustration from instances of 10 consecutive
failures is a tougher problem. :)
David - Randomness Alex Chacha
- Randomness David Kennerly
- UI Design Adam
- MCP/GUIs (was: MUD client popularity) Bruce Mitchener
- [DGN] A comparison of adolescent and adult online computer game players Luca Girardo
- Discussion groups at the MDC Brian 'Psychochild' Green
- Different Style of Online Games Stewart Berntson
- Too much magic? Brian Hook
- Too much magic? Michael "Flury" Chui
- Too much magic? John Buehler
- Too much magic? Hans-Henrik Staerfeldt
- Too much magic? John Buehler
- Too much magic? Corey Crawford
- Too much magic? cruise
- Too much magic? Brian Hook
- Too much magic? Richard A. Bartle
- Too much magic? Brian Hook
- Too much magic? Paul Canniff
- Too much magic? cruise
- Too much magic? Daniel.Harman@barclayscapital.com
- Too much magic? Ben Hawes
- Too much magic? Miroslav Silovic
- Weather simulations Nathan Black
- Weather simulations Spot
- Weather simulations Shane P. Lee
- Weather simulations Valerio Santinelli
- How much should be offloaded to Scripting? Dan Larsen
- How much should be offloaded to Scripting? Brian Hook
- How much should be offloaded to Scripting? Koster, Raph
- How much should be offloaded to Scripting? Brian Hook
- How much should be offloaded to Scripting? Jay Carlson
- How much should be offloaded to Scripting? Damion Schubert
- How much should be offloaded to Scripting? Jim Purbrick
- How much should be offloaded to Scripting? Jim Purbrick
- How much should be offloaded to Scripting? Sean Middleditch
- How much should be offloaded to Scripting? Lars Duening
- How much should be offloaded to Scripting? Ben Garney
- How much should be offloaded to Scripting? Acius
- How much should be offloaded to Scripting? Richard A. Bartle
- How much should be offloaded to Scripting? Patrick Dughi
- How much should be offloaded to Scripting? gbtmud
- How much should be offloaded to Scripting? Kwon J. Ekstrom
- How much should be offloaded to Scripting? James Pepe
- Media: Women over 40 biggest online gamers J C Lawrence
- Media: Women over 40 biggest online gamers ext.Christer.Enfors@tietoenator.com
- Media: Women over 40 biggest online gamers Koster, Raph
- Media: Women over 40 biggest online gamers Daniel James
- Media: Women over 40 biggest online gamers Fred Snyder
- Media: Women over 40 biggest online gamers Michael Sellers
- Media: Women over 40 biggest online gamers Tom Hunter
- Media: Women over 40 biggest online gamers Luca Girardo
- Media: Women over 40 biggest online gamers Luca Girardo
- Character Restraint & Capture. Jester
- Character Restraint & Capture. rjw
- Character Restraint & Capture. Matt Mihaly
- Character Restraint & Capture. Paul Schwanz
- Character Restraint & Capture. Matt Mihaly
- Character Restraint & Capture. Paul Schwanz
- Character Restraint & Capture. Matt Mihaly
- Character Restraint & Capture. Paul Schwanz
- Character Restraint & Capture. Damion Schubert
- Character Restraint & Capture. Daniel.Harman@barclayscapital.com
- Character Restraint & Capture. Matt Mihaly
- Character Restraint & Capture. Paul Schwanz
- Character Restraint & Capture. Jester
- Character Restraint & Capture. Matt Mihaly
- Character Restraint & Capture. Matt Mihaly
- Character Restraint & Capture. Jester
- Character Restraint & Capture. Matt Mihaly
- Character Restraint & Capture. Damion Schubert
- Character Restraint & Capture. Byron Ellacott
- Character Restraint & Capture. Jester
- Character Restraint & Capture. Jester
- Character Restraint & Capture. Damion Schubert
- Character Restraint & Capture. Marian Griffith
- Character Restraint & Capture. Jester
- Character Restraint & Capture. Brian 'Psychochild' Green
- Character Restraint & Capture. cruise
- Character Restraint & Capture. Paul Schwanz
- Character Restraint & Capture. Jester
- Character Restraint & Capture. Valerio Santinelli
- Character Restraint & Capture. Craig H Fry
- Character Restraint & Capture. Jim Purbrick
- Character Restraint & Capture. Michael Sellers
- Character Restraint & Capture. Jester
- Character Restraint & Capture. cruise
- Character Restraint & Capture. Jester
- Character Restraint & Capture. Tess Snider
- Character Restraint & Capture. Eric Random
- Player generated quests wcoles@reflectionsinteractive.com
- Player generated quests cruise
- Player generated quests Artur Biesiadowski
- Player generated quests Alex Chacha
- Player generated quests Mike Shaver
- Player generated quests Talanithus Tarant
- Quick question SSL Christopher Allen
- Quick question SSL ceo
- Quick question SSL sziisoft
- Quick question SSL Jo Dillon
- Quick question SSL Matthew D. Fuller
- Quick question SSL ceo
- Quick question SSL szii@sziisoft.com
- Quick question SSL Travis Casey
- Quick question SSL Tamzen Cannoy
- Quick question SSL ceo
- Quick question SSL Byron Ellacott
- Quick question SSL Alex Chacha
- Quick question SSL Sean Middleditch
- Mythica Cancelled.. dienw
- Mythica Cancelled.. Kerry Fraser-Robinson
- Mythica Cancelled.. David H. Loeser Jr
- Mythica Cancelled.. Vincent Archer
- Mythica Cancelled.. Vincent Archer
- Mythica Cancelled.. Michael Sellers
- Mythica Cancelled.. Scott Jennings
- Mythica Cancelled.. szii@sziisoft.com
- Mythica Cancelled.. Valerio Santinelli
- Mythica Cancelled.. Damion Schubert
- Mythica Cancelled.. Hans-Henrik Staerfeldt
- Mythica Cancelled.. Bill Slease
- Mythica Cancelled.. Freeman, Jeff
- Mythica Cancelled.. Tom "cro" Gordon
- [Design] Meta-physics Engine cruise
- RE:Character Restraint & Capture. Chris Duesing
- Economic model.. Brian Thyer
- Economic model.. Mike Lescault
- Economic model.. Robert Kovalchick
- Economic model.. Brian Thyer
- Economic model.. Matt Mihaly
- Economic model.. brian@thyer.net
- Economic model.. Matt Mihaly
- Economic model.. Matt
- Economic model.. Brian Thyer
- Economic model.. cruise
- Economic model.. brian@thyer.net
- Economic model.. cruise
- Economic model.. Thomas Clive Richards
- Economic model.. Michael Sellers
- Economic model.. Daniel.Harman@barclayscapital.com
- Economic model.. Michael Sellers
- Economic model.. Daniel.Harman@barclayscapital.com
- Economic model.. Brian Thyer
- Economic model.. Marian Griffith
- Economic model.. Brian Thyer
- Economic model.. Francisco Gutierrez
- Economic model.. Brian Thyer
- Character Restraint & Capture (bounty hunting) Jester
- Character Restraint & Capture (bounty hunting) Brian Hook
- Character Restraint & Capture (bounty hunting) Jester
- Character Restraint & Capture (bounty hunting) Roy Sutton
- Character Restraint & Capture (bounty hunting) Chris Duesing
- Character Restraint & Capture (bounty hunting) Byron Ellacott
- Character Restraint & Capture (bounty hunting) szii@sziisoft.com
- Character Restraint & Capture (bounty hunting) John Buehler
- Character Restraint & Capture (bounty hunting) Jester
- Character Restraint & Capture (bounty hunting) Byron Ellacott
- Character Restraint & Capture (bounty hunting) Jester
- Character Restraint & Capture (bounty hunting) Byron Ellacott
- Character Restraint & Capture (bounty hunting) Jester
- Economic model (long) Jester
- Announce: MUD-Dev Conference J C Lawrence