November 2004
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really! (By R. Bartle) William Leader
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Richard A. Bartle
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Matt Mihaly
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Per Magne Bjørnerud
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Koster, Raph
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Richard A. Bartle
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Koster, Raph
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Matt Mihaly
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Wayne Witzke
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Wayne Witzke
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Koster, Raph
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Richard A. Bartle
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Matt Mihaly
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Koster, Raph
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) ceo
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Matt Mihaly
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Wayne Witzke
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Eric Random
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ted L. Chen
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Eric Random
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) J C Lawrence
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Richard A. Bartle
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Hans-Henrik Staerfeldt
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Hans-Henrik Staerfeldt
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Lee Sheldon
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) ceo
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Dana V. Baldwin
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) J C Lawrence
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Matt Mihaly
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle) Martin Keegan
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle) Mike Rozak
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle) Martin Keegan
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle) Mike Rozak
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle) Richard A. Bartle
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle) Ola Fosheim Grøstad
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By R. Bartle) Koster, Raph
- Richard A. Bartle talks MUD Design Ken Snider
- Richard A. Bartle talks MUD Design Davion Kalhen
- Richard A. Bartle talks MUD Design Wayne Witzke
- Richard A. Bartle talks MUD Design Richard A. Bartle
- Richard A. Bartle talks MUD Design Dana V. Baldwin
- Richard A. Bartle talks MUD Design Johan
- Richard A. Bartle talks MUD Design Miroslav Silovic
- Richard A. Bartle talks MUD Design Otis Viles
- Richard A. Bartle talks MUD Design Miroslav Silovic
- Richard A. Bartle talks MUD Design Otis Viles
- Richard A. Bartle talks MUD Design Damion Schubert
- Richard A. Bartle talks MUD Design Douglas Goodall
- Richard A. Bartle talks MUD Design Miroslav Silovic
- Richard A. Bartle talks MUD Design GZ
- Richard A. Bartle talks MUD Design Ted L. Chen
- Richard A. Bartle talks MUD Design Douglas Goodall
- Richard A. Bartle talks MUD Design Ted L. Chen
- Richard A. Bartle talks MUD Design Ken Snider
- Richard A. Bartle talks MUD Design Kirinyaga
- Richard A. Bartle talks MUD Design Davion Kalhen
- NEWS: Why Virtual Worlds are Designed By Newbies - No, Really! (By R. Bartle) William Leader
- ADMIN: The definitions of "What is role-playing?" J C Lawrence
- Semireliable UDP-based protocol development Scott Hilbert
This is not explicitly MUD-related, per se, but as this list has
attracted a lot of very experienced game networking specialists, I
thought it might be a good place to pick peoples' brains. :)
I'm currently working on developing a totally-free-license UDP-based
networking system for game use; higher layers are planned, but the
current focus is creating an efficient and reliable layer over UDP
to provide connection management and optional reliable
sending. (It's in C# right now, which isn't the most
down-to-the-bare-metal language, but it's proven to be surprisingly
fast, and it's what the rest of my current project is going to be
written in. A C++ port wouldn't be that hard somewhere down the
line.) This is about my third iteration at writing such a system
(having written some working prototypes in C++ a few years back),
and it's about 1/3 done right now, but I'd like to ask you guys for
some input on what methodologies are good and bad, to complement
actual efficiency testing.
The first issue regards using bitstreams rather than composing
packets at the byte level. So far this is how it's implemented, and
clearly doing so won't actually increase packet size for sending any
given amount of unique data. The downside, of course, is that it's
somewhat more computationally intensive; however, my routines are
pretty darned fast so far, such that the times look irrelevant
compared to the actual time of sending the packets. I've estimated
based on some simple tests that they would take around 1-2% of the
frame time at 100 FPS for an average "lower end desktop machine"
(~1.6 GHz) serving 64 clients to actually compose outgoing packets,
assuming that you're sending ~10 kB/s to each client. (This is, of
course, more of an extreme FPS style scenario.) You could probably
double the figure to account for packet parsing/decomposing on the
other side, given it's already somewhat rough.
So, the real question is whether anyone has found that the effort to
do things at the bit level really pays off. As it stands I'm very
happy with it, but I'd like to be aware if anyone has any horror
stories of things that go wrong with them before I have thousands of
lines permeated with them :P
Also, one of the things I'm trying out this time around is packet
coalescing. The code currently combines smaller packets into larger
physical UDP ones to save on header space. The actual goal size is
controlled by a target MTU setting, which doesn't have to be the
same as the actual network MTU, of course. So, the question here is
if anyone has any useful information to share about this technique,
and also any tips on what type of packet sizes are optimal for
saving header space while also avoiding waiting too long to send
packets and not becoming too large to cause trouble if they're
dropped. (Of course, the optimal size/wait times will change with
different connection types; I'm pretty much targeting DSL/Cable
currently, although any information regarding 56k connections is a
plus.) I would assume sending packets nearing the full MTU might be
pushing your luck as far as packet loss, but I haven't tested it
yet.
One last thing -- I'm planning on building a simple network
simulator program (i.e. listens on certain local ports and
artificially lags/reorders packets passing through it in realtime)
for testing and statistics gathering, but I haven't gotten around to
it yet. Does anyone know if there happen to be any (free) tools that
do similar things nowadays? I've only been able to find "network
simulators" in the sense that you draw out router diagrams and it
calculates traffic throughput and such.
I have some in-progress specs and the subversion repository
available if anyone wants to see them. However, they're both pretty
sparse and again, the code is roughly 1/3 done, so it wouldn't
really help posting them here at this point unless someone really
wants to see them. I'd rather not have more 'hype' than code at this
point. (Once the spec document is more fleshed out I'll gladly post
it, I'd love to hear comments.)
Hope I haven't put anyone to sleep with this ridiculously long
message ;)
--shil - Semireliable UDP-based protocol development Mark Terrano (XBOX)
- Semireliable UDP-based protocol development Jeremy Gaffney
- The Lag monster... Harlan Beverly
- The Lag monster... Ben Carter
- The Lag monster... J C Lawrence
- The Lag monster... Amanda Walker
- The Lag monster... Miroslav Silovic
- The Lag monster... Morris Cox
- The Lag monster... Miroslav Silovic
- How many UDP sockets to use? PizaZ
- How many UDP sockets to use? Jon Mayo
- How many UDP sockets to use? Michael Montague
- JOB/RESUME: Cryptic Studios Needs Heroes! Serdar Copur
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By Chris Duesing
- NEWS: Why Virtual Worlds are Designed By Newbies -No, Really! (By Chris Duesing
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) David Kennerly
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) neild-mud@misago.org
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) David Kennerly
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) neild-mud@misago.org
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) David Kennerly
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) Ola Fosheim Grøstad
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) Hans-Henrik Staerfeldt
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) David Kennerly
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) ceo
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) olag@ifi.uio.no
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) David Kennerly
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) Koster, Raph
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) David Kennerly
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) Koster, Raph
- The Root of the Tree (was NEWS: Why Virtual Worlds ...) David Kennerly
- The Root of the Tree Eric Random
- The Root of the Tree David Kennerly
- Early Attempts at Slaying the Lag Monster Greg Boyd
- Early Attempts at Slaying the Lag Monster Amanda Walker
- Early Attempts at Slaying the Lag Monster Morris Cox
- Slaying the Lag Monster Kirinyaga
- [ssows] thinking about EQ2 - kill locking (fwd) J C Lawrence
- [ssows] thinking about EQ2 - kill locking (fwd) Ken Snider
- [ssows] thinking about EQ2 - kill locking (fwd) Vincent Archer
- [ssows] thinking about EQ2 - kill locking (fwd) Ola Fosheim Grøstad
- [ssows] thinking about EQ2 - kill locking (fwd) Michael Hartman
- [ssows] thinking about EQ2 - kill locking (fwd) Chek Yang FOO
- [ssows] thinking about EQ2 - kill locking (fwd) Tom "cro" Gordon
- NEWS: Security officials to spy on chat rooms Mike Rozak
- [ssows] thinking about EQ2 (fwd) J C Lawrence
- [ssows] thinking about EQ2 (fwd) Michael Oxford
- [ssows] thinking about EQ2 - kill locking Dread Quixadhal
- [ssows] thinking about EQ2 - kill locking Morris Cox
- [ssows] thinking about EQ2 - kill locking Jason Downs
- Time Limited MUDs and Dead Horses Revived (was: Why Virtual Worlds are Designed by Newbies) Peter Keeler
- Time Limited MUDs and Dead Horses Revived (was: WhyVirtual Worlds are Designed by Newbies) John Buehler
- In Game Family Trees (Was: Time Limited MUDs) William Leader
- In Game Family Trees (Was: Time Limited MUDs) Johan A
- In Game Family Trees (Was: Time Limited MUDs) Amanda Walker
- In Game Family Trees (Was: Time Limited MUDs) Matt Mihaly
- Challenging the grind - take 2 Vincent Archer
- Time limited worlds (Was NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle)) Mike Rozak
- Time limited worlds (was: Why Virtual Worlds are Designed by Newbies) Mike Rozak
- Distributed virtual worlds (Was NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle)) Mike Rozak
- Distributed virtual worlds (Was NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle)) Wayne Witzke
- Distributed virtual worlds (Was NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle)) Yannick Jean
- Distributed virtual worlds (Was NEWS: Why VirtualWorlds are Designed By Newbies - No, Really (By R. Bartle)) Mike Rozak
- Distributed virtual worlds (Was NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle)) Sean Kelly
- Distributed virtual worlds Ola Fosheim Grøstad
- UI Design in MMOs Derek Licciardi
- UI Design in MMOs Mike Rozak
- UI Design in MMOs Mike Rozak
- UI Design in MMOs Sean Howard
- UI Design in MMOs Tom "cro" Gordon
- UI Design in MMOs David Kennerly
- UI Design in MMOs Nathan Rogers
- UI Design in MMOs Jason Murdick
- UI Design in MMOs Amanda Walker
- UI Design in MMOs rjw
- UI Design in MMOs Johan A
- UI Design in MMOs Derek Licciardi
- UI Design in MMOs rjw
- UI Design in MMOs Damion Schubert
- UI Design in MMOs Mike Rozak
- UI Design in MMOs Paolo Piselli
- UI Design in MMOs Mike Rozak
- UI Design in MMOs Ghilardi Filippo
- UI Design in MMOs Derek Licciardi
- UI Design in MMOs Mike Rozak
- UI Design in MMOs Corey Cauble
- Making the Customer Pay for Patch Bandwidth Michael Hartman
- Making the Customer Pay for Patch Bandwidth Robert "kebernet" Cooper
- Making the Customer Pay for Patch Bandwidth Michael Hartman
- Making the Customer Pay for Patch Bandwidth Byron Ellacott
- Making the Customer Pay for Patch Bandwidth Balthazaar
- Distributed virtual worlds (Was NEWS: Why Virtual Worlds are Designed By Newbies - No, Really (By R. Bartle)) Mike Rozak
- Time limited worlds (was: Why Virtual Worlds areDesigned by Newbies) Mike Rozak