January 2009
- [Design] on the game mechanics of open questing Siege)
- RANT: The Future of Quests Mike Rozak
- RANT: The Future of Quests Amanda Walker
- Players are shallow [was: The Future of Quests] cruise
- Players are shallow [was: The Future of Quests] Amanda Walker
- Players are shallow [was: The Future of Quests] Mike Sellers
- Players are shallow [was: The Future of Quests] John Buehler
- Players are shallow [was: The Future of Quests] cruise
- Players are shallow [was: The Future of Quests] John Buehler
 
- Wikia MUD project Raph Koster
- Wikia MUD project Nabil Maynard
- Wikia MUD project Raph Koster
 
- Wikia MUD project Peter Harkins
 
 
- Players are shallow [was: The Future of Quests] Mike Oxford
- Players are shallow [was: The Future of Quests] cruise
- Players are shallow [was: The Future of Quests] Damion Schubert
- Players are shallow [was: The Future of Quests] Threshold
- Players are shallow [was: The Future of Quests] John Buehler
- Players are shallow [was: The Future of Quests] Mike Sellers
 
 
 
 
 
 
- RANT: The Future of Quests Mike Sellers
- RANT: The Future of Quests Damion Schubert
- RANT: The Future of Quests Mike Rozak
 
 
 
 
- [DESIGN] How big is enough? Ian Hess
- [DESIGN] How big is enough? Mike Rozak
- [DESIGN] How big is enough? Mike Oxford
- [DESIGN] How big is enough? Vincent Archer
- [DESIGN] How big is enough? szii@sziisoft.com
 
 
 
- [DESIGN] How big is enough? Siege)
- [DESIGN] How big is enough? Threshold
- [DESIGN] How big is enough? David Johansson
- [DESIGN] How big is enough? Roger DuranĚona Vargas
 
- Persisting a MUD state with plain binary serialization Tiago
- Persisting a MUD state with plain binary serialization Jon Mayo
								On Fri, Jan 16, 2009 at 4:51 AM, Tiago <tiago.matias@gmail.com> wrote:
 > Hello all!
 >
 > I'm building a (classical) MUD server as hobby. I would like to have a fully
 > persistent game state and thought of using simple serialization to dump the
 > entire object graph to disk periodically.
 >
 > Thing is, binary serialization has a few drawbacks, in terms of versioning
 > and it's a pain to control which parts of the graph are serialized or not
 > (it's perfect to serialize everything tough).
 >
 > So, I would like to hear if someone here has had any (bad) experiences with
 > serialization (applied to this particular domain) and if they recommend it
 > or not.
 >
 > Thanks!
 >
 > tiago matias
 
 I just append my binary blobs to the end of a journal file and update
 hash table entries to point to the new offset. I write the entire
 record out to the journal so book keeping of the blobs is relatively
 simple. When I boot and reply the journal I immediately rewrite a
 compacted journal to a new file (and rename the old file to a backup).
 Compacting can be done as often as you like, but in my system it means
 you're writing the entire graph to disk in one go. Which causes a
 moderate amount of pausing for players depending on disk performance
 and size of the graph.
 
 I keep a generation number in every object, but I don't use it for
 anything. It turns out I didn't need it. And accessors for setting all
 the fields of an object also set a dirty flag so I know that it needs
 to be serialized.
 
 My binary serialization uses a printf style string to describe the
 format. It was easier than my other experiments using ASN.1 to
 generate routines or doing it by hand with a (large) hand rolled
 function for every type of object. I think if I were to do it again
 I'd write an XDR parser (as in Sun RPC) and my own code generator, the
 printf one was neat in that I could get gcc to warn if I passed the
 wrong thing, but with many many fields to dump I either needed a
 function that took many arguments or I needed to call the routine and
 update an buffer offset each time to do the serialization process.
 
 --
 Jon Mayo
 <jon.mayo@gmail.com>
- Persisting a MUD state with plain binary serialization Jeffrey Kesselman
- Persisting a MUD state with plain binary serialization Chris White
- Persisting a MUD state with plain binary serialization Mike Oxford
- Persisting a MUD state with plain binary serialization Tiago
- Persisting a MUD state with plain binary serialization Jeffrey Kesselman
- Persisting a MUD state with plain binary serialization Mike Oxford
- Persisting a MUD state with plain binary serialization Tiago.matias@gmail.com
 
 
 
 
- Persisting a MUD state with plain binary serialization Jon Mayo
								
- [DESIGN] Clojure? Matt Cruikshank
- [DESIGN] Clojure? Richard Tew
- [DESIGN] Clojure? Matt Cruikshank