May 2003
- NetGames 2003: CFParticipation Sugih Jamin
- MUD codebases Chris Saik
- MUD codebases Ammon Lauritzen
- MUD codebases Caliban Tiresias Darklock
- MUD codebases Linder Support
- MUD codebases J C Lawrence
- Flow of messages sanxion sanxion
- Flow of messages Ammon Lauritzen
- Flow of messages Ben Chambers
- Flow of messages Travis Casey
- Flow of messages Brian Lindahl
- Flow of messages Ben Chambers
- Flow of messages Brian Lindahl
- Flow of messages sanxion sanxion
- Flow of messages Brian Lindahl
- UDP vs TCP for MUD/MMORPG project. Jason Slaughter
- UDP vs TCP for MUD/MMORPG project. Matt Mihaly
- UDP vs TCP for MUD/MMORPG project. Ryan Arthur
- UDP vs TCP for MUD/MMORPG project. Crosbie Fitch
- UDP vs TCP for MUD/MMORPG project. William
- UDP vs TCP for MUD/MMORPG project. Byron Ellacott
- UDP vs TCP for MUD/MMORPG project. Evan Cortens
- UDP vs TCP for MUD/MMORPG project. J C Lawrence
- UDP vs TCP for MUD/MMORPG project. Amanda Walker
- Customization in games, as a design tool / gameplay element ceo
- Warrior Challenge on PBS Madrona Tree
- Warrior Challenge on PBS Edward Glowacki
- Warrior Challenge on PBS Travis Casey
- Warrior Challenge on PBS Michael Chui
- MudDev FAQ - part 2 Marian Griffith
- MudDev FAQ - part 2 Mats Lidstrom
- MudDev FAQ - part 2 J C Lawrence
- MudDev FAQ - part 2 J C Lawrence
- Storytelling in a PSW from a Player's Persepctive Talanithus HTML
- Storytelling in a PSW from a Player's Persepctive Michael Chui
- Storytelling in a PSW from a Player's Persepctive David Kennerly
- Storytelling in a PSW from a Player's Persepctive Michael Chui
- Storytelling in a PSW from a Player's Persepctive Talanithus HTML
- Storytelling in a PSW from a Player's Persepctive J C Lawrence
- relevance of paper RPGs (was D& D vs. MMORPG "complexity") Travis Casey
- WAP MUD GAME DEVELOP Richard Ruan
- WAP MUD GAME DEVELOP Edouard Kock
- D&D and MMORPGs Michael Tresca
- D&D and MMORPGs Sean Kelly
- D&D and MMORPGs shren
- D&D and MMORPGs Threshold RPG
- D&D and MMORPGs Taylor
- D&D and MMORPGs Chris Holko
- D&D and MMORPGs Daniel James
- D&D and MMORPGs Peter Tyson
- D&D and MMORPGs Jason Murdick
- D&D and MMORPGs Michael Tresca
- D&D and MMORPGs Michael Tresca
- Database vs. Disk Tom
- Database vs. Disk Sean Kelly
- Database vs. Disk Ben Garney
- Database vs. Disk Adam Dray
- Database vs. Disk Hans-Henrik Staerfeldt
- Database vs. Disk Brian Lindahl
- Database vs. Disk Chris Holko
- Database vs. Disk Daniel.Harman@barclayscapital.com
- Database vs. Disk Weston Fryatt
- Database vs. Disk J C Lawrence
- Database vs. Disk Byron Ellacott
- Database vs. Disk Dave Rickey
- Database vs. Disk J C Lawrence
On Sat, 17 May 2003 11:03:25 -0400
tom <tom@interspaces.com> wrote:
> Greets, I'm sure this has been addressed before, although I haven't
> found anything really direct so far. Aside from conjecture, does
> anyone have some practical experience using a database as opposed to
> disk for storing MUD objects, or projects and experience similar
> enough.
First you need to clarify what you mean by a database. RDBMS? Object?
Hierarchal? Tuplespace? What?
Assuming RDBMS (as that's the most common form of the question), yes,
there are several here that have been down that path with various levels
of pain and success. In my case I accorded it a dismal and utter
failure due to the fact that my object space and the manipulations I
wanted to perform just didn't map worth a damn to a table-based
metaphor.
Briefly: I had a runtime morphic soft-code system with dynamic
inheritance and actively mutating and redefining objects. Trying to
wrap that decently in an RDMBS was not something I found acceptably
possible. How can I represent the methods and attributes of an
object, if the basic structure and schema of an object is decided and
edited dynamically at runtime? If I'd been willing to not be runtime
morphic, to not use dynamic inheritance, and to not have a rather
curious inheritance model in the first place (based off my soft code
system) then it would have been much easier. In the end I found a
simple dbm derivative based off tdbm with external index structures
(see the list archives for details) and heavily cached abstracted
lookup tables to be the most effective for my needs.
> We're considering moving to database because it'd provide us alot of
> extra versatility, but I'd like some informed opinions. Not so much
> whether a SQL database would be more efficient, but would it be
> drastically inefficient on a MUD with a large number of objects
> (500,000 to 2,000,000)?
What sorts of objects? Behaviours? Lookups? Operations? Is this
something relatively static ala Aber or Diku? Something runtime dynamic
ala LP? Something runtime morphic ala the Tiny* clan or MOO?
> I know it depends on many factors, let's assume a mySQL database
> without alot of bells and whistles on the DB end (stored procedures,
> etc.).
Choice of exact database implementation is the last and least
interesting point. You need to start out with what you want to do, what
you want to gain, what you can't afford to lose, and then a pretty
accurate concept of both your object definition space and its
behaviours. "Database" is not a magic wand.
Remember: The filesystem is fundamentally a database, as are flat text
files. The differences are in structuring and supported operations.
> I'm not trying to start a holy war, I just wanted some practical
> advice on whether this is even worth considering, and maybe some
> blantant issues we should be aware of by attempting it.
Databases are a tool.
To a man with a hammer, everything looks like a nail.
That's not a smart way to work (or cook dinner). Instead, start with
the problem, make sure you understand it fully, carefully phrase it in
terms of, "I need/want to have ..." and THEN pick the exact tools best
suited to that problem and your intended method of assault on it. Don't
skip the bit about phrasing the problem, its quite critical to get it
expressed in terms of a concrete measurable, preferably tangible
products.
I want to have reports showing the distribution of economic activity
over the game world and player base, viewed by correlations like...
I want to have changed fundamental inheritance structures at
runtime without creating logical inconsistencies in the running
game, or a perceived lag in play longer than N milliseconds.
I want to have lookups to objects by unique ID in less than 5ms, with
lookups of object sets by inheritance from a unique ID in less than
50ms.
I want to...
Start with the GOAL, then figure out what you have to DO to get
there, then WHO and what you have to BE to do that 'how' to get that
goal.
That mountain, that path, this human.
Changing the order is a recipe for something you don't want.
ObNote: Bruce Mitchener pointed me a while back at some excellent
discussions on another list about various schemas and models for
object definitions for games (gdalgorithms?). There was good stuff in
there that you might like to look at to help understand how game
objects can be constructed, manipulated, etc in useful and sometimes
surprising fashions.
--
J C Lawrence
---------(*) Satan, oscillate my metallic sonatas.
claw@kanga.nu He lived as a devil, eh?
http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live. - Database vs. Disk Bruce Mitchener
- Database vs. Disk J C Lawrence
- Database vs. Disk Bruce Mitchener
- Database vs. Disk Jason Gauthier
- Database vs. Disk J C Lawrence
- Database vs. Disk Nicolai Hansen
- Database vs. Disk Zach Collins {Siege}
- Database vs. Disk J C Lawrence
- Database vs. Disk Zach Collins {Siege}
- Database vs. Disk J C Lawrence
- Database vs. Disk Kwon Ekstrom
- Database vs. Disk J C Lawrence
- Database vs. Disk John A. Bertoglio
- Database vs. Disk corrine_123@hotmail.com
- Database vs. Disk Kwon J. Ekstrom
- Database vs. Disk J C Lawrence
- Database vs. Disk Peter "Pietro" Rossmann
- Database vs. Disk Marc Bowden
- Database vs. Disk Kwon J. Ekstrom
- Database vs. Disk Sulka Haro
- Thoughts on a simplified multiplayer game. Jason Slaughter
- Thoughts on a simplified multiplayer game. Edward Glowacki
- Thoughts on a simplified multiplayer game. J C Lawrence
- Thoughts on a simplified multiplayer game. Bruce Mitchener
- Thoughts on a simplified multiplayer game. Edward Glowacki
- Thoughts on a simplified multiplayer game. J C Lawrence
- Thoughts on a simplified multiplayer game. Bruce Mitchener
- Thoughts on a simplified multiplayer game. Christopher Allen
- Thoughts on a simplified multiplayer game. ghfdh fcgdfgdfg
- ADMIN: Untoward unsubscriptions J C Lawrence
- Bringing out the barbaric in each of us David Kennerly
- Horizons Valerio Santinelli
- RP, MMORPGs, and their Evolution Talanithus HTML
- RP, MMORPGs, and their Evolution Brian Lindahl
- RP, MMORPGs, and their Evolution Michael Chui
- RP, MMORPGs, and their Evolution Marian Griffith
- RP, MMORPGs, and their Evolution Paul Schwanz
- RP, MMORPGs, and their Evolution J C Lawrence
- RP, MMORPGs, and their Evolution Matt Mihaly
- Account retention (was: D& D vs. MMORPG "complexity") Byron Ellacott
- Object-Oriented Databases John A. Bertoglio
- Object-Oriented Databases Weston Fryatt
- Object-Oriented Databases Travis Nixon
- Object-Oriented Databases Bruce Mitchener
- Object-Oriented Databases John A. Bertoglio
- Object-Oriented Databases Jeff Bachtel
- Object-Oriented Databases Sean Kelly
- TECH: Application-level branch prediction? ceo
- DID vs. MORAG "complexity" Jeff Cole
- DID vs. MORAG "complexity" Dave Rickey
- DID vs. MORAG "complexity" Matt Mihaly
- Objects Ben Chambers
- Scripting languages Jason Murdick
- Scripting languages Brian Hook
- Scripting languages Jason Gauthier
- Scripting languages Sanvean
- Scripting languages Jason Murdick
- Scripting languages Mark 'Kamikaze' Hughes
- Scripting languages Ling Lo
- Scripting languages Jay Carlson
- Scripting languages Mark 'Kamikaze' Hughes
- Scripting languages Lars Duening
- Scripting languages Mark 'Kamikaze' Hughes
- Scripting languages Lars Duening
- Scripting languages Kwon J. Ekstrom
- Scripting languages Lars Duening
- Scripting languages justice@softhome.net
- Scripting languages MIKE MacMartin
- Scripting languages Kwon J. Ekstrom
- Scripting languages Bruce Mitchener
- Scripting languages Kwon J. Ekstrom
- Scripting languages Dr. Cat
- Scripting languages Jay Carlson
- Scripting languages David H. Loeser Jr.
- Scripting languages Shu-yu Guo
- Scripting languages Lars Duening
- Scripting languages David H. Loeser Jr.
- Scripting languages criscal@gmx.de
- Scripting languages eric
- Scripting languages Smith, David {Lynchburg}
- Scripting languages John Buehler
- Scripting languages Mike Shaver
- Scripting languages sanxion sanxion
- Scripting languages Mark 'Kamikaze' Hughes
- Scripting languages Mike Shaver
- Scripting languages sanxion sanxion
- Scripting languages Mark 'Kamikaze' Hughes
- When marketroids attack! Tess Snider
- Moo mailing list issue _DESPARATE FOR HELP! Ms Leigh Canny
- Moo mailing list issue _DESPARATE FOR HELP! David Clifton
- When Player Communities Rebel / Fanbois Gone Rogue vladimir cole
- When Player Communities Rebel / Fanbois Gone Rogue Andrew Barratt {MIS}
- NWN player modules (was: D&D and MMORPGs) Lars Duening
- NWN player modules (was: D&D and MMORPGs) Jonathan Grant
- Simpsons player types Matt Mihaly
- Dealing with cloned NPCs Thomas Sullivan
- Dealing with cloned NPCs Sasha Hart
- Dealing with cloned NPCs Mark 'Kamikaze' Hughes
- Dealing with cloned NPCs Kristen Koster
- Dealing with cloned NPCs Marc Bowden
- Dealing with cloned NPCs Kristen Koster
- Dealing with cloned NPCs Thomas Sullivan
- Dealing with cloned NPCs Owen Matt
- Dealing with cloned NPCs John Buehler
- Dealing with cloned NPCs Owen Matt
- Dealing with cloned NPCs Thomas Sullivan
- Dealing with cloned NPCs Vincent Archer
- The Laws of the Virtual Worlds Tamzen Cannoy