April 2004
- [BIZ] Playas Pay to Spread the Luv Michael Tresca
- Mogi from Newtgames Olivier Lejade
- Client side simulation dienw
- Client side simulation Nate Combs {Home}
- Client side simulation Thomas Tomiczek
- Client side simulation Amanda Walker
- Client side simulation Artur Biesiadowski
- Client side simulation Byron Ellacott
- [Devops] Initial meoww cleanup J C Lawrence
- Middleware (was Sun's Sim Server and Gordon's 10 Reasons (thefirstone :)) Michael Sellers
- Announcement: Community Work Symposium - May 21 T.L. Taylor
- Middleware ceo
Michael Sellers wrote:
> Raph wrote:
>> To broaden the discussion a little to the general topic of server
>> middleware/server codebases: what's the general feeling of the
>> list on this issue? My personal take is that middleware generally
>> makes too many assumptions that end up constraining the eventual
>> game design--plus, you have to rewrite most of it anyway or end
>> up with generic stuff. This has seemed to me to be true with muds
>> and true with MMOGs.
(At the risk of being perceived as blowing my own trumpet, I'm
responding with "the vendor perspective" :). Oh, and I'm
*definitely* not claiming "we've solved this problem"; we see it as
an ongoing process - like customer support, it's something you can
never sit back and say "There! It's Done!" - you just have to choose
how much you are going to make it a permanent high priority of your
development).
This is one of the three core USP's we've aimed at with the
GrexEngine from day one (I'm afraid I can't speak for other vendors
on this?): the ability for a developer to undo *any* assumption,
tweak *any* aspect of the system, and even replace *any* code at as
fine a grain as we can manage (which usually boils down to "replace
any instance of any class, even instances generated privately within
private code") and do all this without access to the source code.
(the "without source code" requirement is a rather
easy-to-understand way for us to check how well we're doing at
achieving our aim).
It's worth noting that java's dynamic classloading and "all linking
is dynamic" behaviour go a long way to simplifying this task,
although we had to put in substantial effort to finish the job off
for class-replacement (java only provides very very low-level
routines for this; there are rumours it may provide high-level
features in this area in the next beta release, due in around 2006
(!)).
I would be surprised if this wasn't on the list of reasons why each
of the other middelware providers chose java as their implementation
language.
I'll be honest and point out that achieving the aim is a lot more
complex (though not necessarilly a lot harder) than simply
facilitating the hot-swapping of classes whilst preserving
performance. As a vendor you have to include a lot of architectural
support to get much traction on this - or else limit yourself to
providing the basic mechanisms to support it ("tart up" the java
low-level features into a toolkit) and leaving it to each games
developer to hang themself with the rope provided, unless they are
skilled or lucky enough to fashion a very powerful system from your
toolkit.
As far as implementation goes, we've shifted a lot of the burden of
code developed by game-studios into higher-level coding
areas. That's a bit of a crummy description, but I'm trying to say
that we don't simply say "script the lot" nor do we say "do it all
in a Rete" (which is an inference engine for those not familiar with
it) - we use our control of the base platform (i.e. the wider
execution environment) to provide a spectrum of places where you
write different code, blurring the lines between "scripts" and
"compiled code".
The effect is that some things you (as a game developer) would
traditionally expect to implement as imperative code you actually
implement as a series of directive to grexengine subsystems - the
"programming language" has been redefined for those tasks to be a
merging of a concrete language with a complex black-box system which
is effectively extending the language.
One example is where we use the fact that every method call in a
distributed system must eventually indirect via some form of
"locator and router" service provided by the cluster. This is a
perfect opportunity to provide a language-independent customised
function despatcher (one of java's major let-downs to 3rd party lib
developer is it doesn't allow you to in ANY WAY customize function
despatch :(, unlike C++ ).
Of course, that's only suitable for a particular set of
use-cases. For instance, it would usually be a bad idea to try and
divert every single method-call in your traditional scripted part of
your game in such a manner - the performance overhead would be
debilitating.
IMHO, the kind of work done by inference engines is the best way
forwards to solving the "my middleware provider made an assumption
that all players were subject to collision-detection, and I want a
game with a billion collionless ghosts; their assumption means I
can't get that many ghosts in the game on the hardware available"
problem. We have done a not inconsiderable amount of research into
customized inference engines (and hope to do some side-by-side
benchmarking with optimized CLIPS derivatives to see how ours fares;
basically, we were able to shortcut a lot of things by using
different engines for different problem areas).
Unfortunately, the real-life problems of financial management in the
midst of a 3 year VC drought have put such research on temporary
hold whilst we concentrate on getting our first 5 licensees games to
market (and this, incidentally, is the reason why a lot of my
promised extra info on the GrexEngine for 2003 never materialized:
it was all hands to the pump on the capital-generation side of the
business). We've had a few VC's cold-calling us this Spring, so
perhaps 2004 will turn out to be what we'd expected for 2003; but
I'm not promising anything :).
Adam M - [NEWS] Final Fantasy XI debut on PS2 in US kennerly@sfsu.edu
- Random Placename Generation Matt Chatterley
- Random Placename Generation Joshua Hughes
- Random Placename Generation Ben Hawes
- Random Placename Generation Matt Chatterley
- Random Placename Generation Hans-Henrik Staerfeldt
- Sun's Sim Server and Gordon's 10 Reasons (thefirstone :)) Mike Rozak
- Middleware Luca Girardo
- Habitat Redux Mirjam Eladhari
- MUD-Dev Convention Report David Kennerly
- Licensed setting MMOGs Matt Mihaly
- Licensed setting MMOGs Michael Sellers
- Licensed setting MMOGs Matt Mihaly
- [News] Virtual goods--Oh, the controversy! Matt Mihaly
- [News] Virtual goods--Oh, the controversy! John Buehler
- Player Justice Freeman, Jeff
- Licensed setting MMOGs Taylor Daynes
- Licensed setting MMOGs Christopher Allen
- [News] Virtual goods--Oh, the controversy! Jeff Fuller
- Dangers of Middleware Mike Rozak
- Licensed setting MMOGs Christopher Allen
- [News] Virtual goods--Oh, the controversy! Matt Mihaly
- [News] Virtual goods--Oh, the controversy! John Buehler
- [News] Virtual goods--Oh, the controversy! Amanda Walker
- [News] Virtual goods--Oh, the controversy! John Buehler
- [News] Virtual goods--Oh, the controversy! Marian Griffith
- [News] Virtual goods--Oh, the controversy! Jeff Fuller
- [News] Virtual goods--Oh, the controversy! Douglas Goodall
- [News] Virtual goods--Oh, the controversy! Eric Random
- [News] Virtual goods--Oh, the controversy! John Buehler
- [News] Virtual goods--Oh, the controversy! Matt Mihaly
- [News] Virtual goods--Oh, the controversy! John Buehler
- [News] Virtual goods--Oh, the controversy! Stone, Jason
- [News] Virtual goods--Oh, the controversy! Douglas Goodall
- Sun's Sim Server and Gordon's 10 Reasons (the firstone:)) Thomas Tomiczek
- Sun's Sim Server and Gordon's 10 Reasons (thefirstone:)) David Kennerly
- [News] Virtual goods--Oh, the controversy! Jeff Fuller
- [News] Virtual goods--Oh, the controversy! Matt Mihaly
- [News] Virtual goods--Oh, the controversy! J C Lawrence
- [News] Virtual goods--Oh, the controversy! John MacQueen
- [News] Virtual goods--Oh, the controversy! Brian Hook
- [News] Virtual goods--Oh, the controversy! Travis Casey
- [News] Virtual goods--Oh, the controversy! Jeff Fuller
- [News] Virtual goods--Oh, the controversy! Brian Hook
- [News] Virtual goods--Oh, the controversy! Jeff Fuller
- [News] Virtual goods--Oh, the controversy! Kevin N Shallow
- Paranoia Ragnar Lonn
- Player Justice Amanda Walker
- Player Justice Paul Schwanz
- Less constrained environments Chris Duesing
- Less constrained environments John MacQueen
- MMOG money-making clients ceo
- MMOG money-making clients Koster, Raph
- MMOG money-making clients Valerio Santinelli
- [News] Virtual goods--Oh, the controversy! Otis Viles
- [News] Virtual goods--Oh, the controversy! Paul Schwanz
- [News] Virtual goods--Oh, the controversy! Paolo Piselli
- [News] Virtual goods--Oh, the controversy! Otis Viles
- [News] Virtual goods--Oh, the controversy! Amanda Walker
- [News] Virtual goods--Oh, the controversy! Vincent Archer
- [News] Virtual goods--Oh, the controversy! Jeff Fuller
- [News] Virtual goods--Oh, the controversy! Thomas Tomiczek
- [News] Virtual goods--Oh, the controversy! Steven King
- [News] Virtual goods--Oh, the controversy! Daniel.Harman@barclayscapital.com
- [News] Virtual goods--Oh, the controversy! Vincent Archer
- [News] Virtual goods--Oh, the controversy! J C Lawrence
- [News] Virtual goods--Oh, the controversy! Brian Miller
- [News] Virtual goods--Oh, the controversy! John Buehler
- [News] Virtual goods--Oh, the controversy! Chris Duesing
- [News] Virtual goods--Oh, the controversy! Paul Schwanz
- [News] Virtual goods--Oh, the controversy! Paolo Piselli
- [News] Virtual goods--Oh, the controversy! Amanda Walker
- [News] Virtual goods--Oh, the controversy! Matt Mihaly
- [News] Virtual goods--Oh, the controversy! baar@imperian.com
- Middleware (was Sun's Sim Server andGordon's10Reasons (thefirstone :)) Matt Chatterley
- MudDev FAQ - part 2 Marian Griffith
- Gay Characters in Videogames Michael Tresca
- Gay Characters in Videogames Tess Snider
- Gay Characters in Videogames Darksuit
- Gay Characters in Videogames Matt Mihaly
- Gay Characters in Videogames Michael Tresca
- Gay Characters in Videogames Jon A. Lambert
- Gay Characters in Videogames matt@ironrealms.com
- Gay Characters in Videogames Douglas Goodall
- MUD-Dev Digest, Vol 11, Issue 10 kihyun {GTA Interactive}
- Player Justice Freeman, Jeff
- Player Justice Paul Schwanz
- Licensed setting MMOGs Ian McDonald
- Licensed setting MMOGs Christopher Allen
- [News] Virtual goods--Oh, the controversy! Ryan S. Dancey
- [News] Virtual goods--Oh, the controversy! Otis Viles
- [News] Virtual goods--Oh, the controversy! baar@imperian.com
- [News] Virtual goods--Oh, the controversy! J C Lawrence
- R: [News] Virtual goods--Oh, the controversy! Ghilardi Filippo
- [BoardGameDesign] Fog of War (to Robert & dr1010xltd) (fwd) J C Lawrence
- Online economies was [News] Virtual goods--Oh, the controversy! Brian Hook
- PvP vs. PvE was [News] Virtual goods--Oh, the controversy! Brian Hook
- [News] Virtual goods--Oh, the controversy! Eric Random
- Kaczynski's Law Freeman, Jeff
- Kaczynski's Law Michael Sellers
- Kaczynski's Law Freeman, Jeff
- Kaczynski's Law Michael Sellers
- Kaczynski's Law Jon A. Lambert
- Kaczynski's Law jfreeman@soe.sony.com
- Kaczynski's Law Robert Flesch
- Kaczynski's Law Freeman, Jeff
- Kaczynski's Law Freeman, Jeff
- Kaczynski's Law J C Lawrence
- Kaczynski's Law Mike Rozak
- Kaczynski's Law Michael Sellers
- Kaczynski's Law cruise
- Kaczynski's Law Hans-Henrik Staerfeldt
- Kaczynski's Law Mike Rozak
- Playing catch-up with levels [WAS Virtual goods--Oh, the controversy!] Byron Ellacott
- PvP vs. PvE Rob C
- notes from MUD Dev conf and GDC Mirjam Eladhari
- notes from MUD Dev conf and GDC matt@ironrealms.com
- notes from MUD Dev conf and GDC Luca Girardo
- notes from MUD Dev conf and GDC Jonas Heide Smith
- notes from MUD Dev conf and GDC Ren Reynolds
- notes from MUD Dev conf and GDC Brian 'Psychochild' Green
- Playing catch-up with levels Byron Ellacott
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels Craig Huber
- Playing catch-up with levels Michael Sellers
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Ben Hawes
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels Kwon J. Ekstrom
- Playing catch-up with levels Hulbert, Leland
- Playing catch-up with levels John Arras
- Playing catch-up with levels jfreeman@soe.sony.com
- Playing catch-up with levels Matt Chatterley
- Playing catch-up with levels Kwon J. Ekstrom
- Playing catch-up with levels Matt Chatterley
- Playing catch-up with levels Kwon J. Ekstrom
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Matt Mihaly
- Playing catch-up with levels Vincent Archer
- Playing catch-up with levels Kwon J. Ekstrom
- Playing catch-up with levels cruise
- Playing catch-up with levels Stephen Routledge
- Playing catch-up with levels cruise
- Playing catch-up with levels Lars Duening
- Playing catch-up with levels ext.Christer.Enfors@tietoenator.com
- Playing catch-up with levels Vincent Archer
- Playing catch-up with levels Kwon J. Ekstrom
- Playing catch-up with levels John Buehler
- Playing catch-up with levels ext.Christer.Enfors@tietoenator.com
- Playing catch-up with levels Eli Stevens {WG.c}
- Playing catch-up with levels Zach Collins {Siege}
- Playing catch-up with levels John Buehler
- Playing catch-up with levels cruise
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels cruise
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Jason Downs
- Playing catch-up with levels John Buehler
- Playing catch-up with levels cruise
- Playing catch-up with levels Steven King
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Chris Duesing
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Travis Nixon
- Playing catch-up with levels Steven King
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels Travis Nixon
- Playing catch-up with levels cruise
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Douglas Goodall
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Douglas Goodall
- Playing catch-up with levels Harrok
- Playing catch-up with levels Valerio Santinelli
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels Kwon J. Ekstrom
- Playing catch-up with levels Jeff Fuller
- Playing catch-up with levels Craig Huber
- Playing catch-up with levels Jeff
- Playing catch-up with levels Byron Ellacott
- Playing catch-up with levels Craig Huber
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels cruise
- Playing catch-up with levels Zach Collins {Siege}
- DESIGN: Active and Inactive currency Freeman, Jeff
- DESIGN: Active and Inactive currency Edward Glowacki
- DESIGN: Active and Inactive currency baar@imperian.com
- DESIGN: Active and Inactive currency Ian McDonald
- DESIGN: Active and Inactive currency baar@imperian.com
- DESIGN: Active and Inactive currency Pileborg Joachim - FMT
- DESIGN: Active and Inactive currency Paul Schwanz
- DESIGN: Active and Inactive currency Matt Chatterley
- DESIGN: Active and Inactive currency Rayzam
- DESIGN: Active and Inactive currency Freeman, Jeff
- DESIGN: Active and Inactive currency Rayzam
- DESIGN: Active and Inactive currency Freeman, Jeff
- DESIGN: Active and Inactive currency John Buehler
- DESIGN: Active and Inactive currency Freeman, Jeff
- DESIGN: Active and Inactive currency John Buehler
- DESIGN: Active and Inactive currency Freeman, Jeff
- DESIGN: Active and Inactive currency John Buehler
- DESIGN: Active and Inactive currency Matt Chatterley
- DESIGN: Active and Inactive currency Freeman, Jeff
- DESIGN: Active and Inactive currency John Buehler
- DESIGN: Active and Inactive currency Matt Chatterley
- DESIGN: Active and Inactive currency Douglas Goodall
- DESIGN: Active and Inactive currency Paul Schwanz
- DESIGN: Active and Inactive currency Rayzam
- DESIGN: Active and Inactive currency John Buehler
- DESIGN: Active and Inactive currency sziisoft
- DESIGN: Active and Inactive currency cruise
- DESIGN: Active and Inactive currency Steven King
- DESIGN: Active and Inactive currency Matt Chatterley
- DESIGN: Active and Inactive currency Douglas Goodall
- DESIGN: Active and Inactive currency Rayzam
- DESIGN: Active and Inactive currency Douglas Goodall
- DESIGN: Active and Inactive currency baar@imperian.com
- DESIGN: Active and Inactive currency Eric Random
- DESIGN: Active and Inactive currency Adam Helps
- DESIGN: Active and Inactive currency Eric Random
- DESIGN: Active and Inactive currency Brian Thyer
- DESIGN: Active and Inactive currency Castronova, Edward
- DESIGN: Active and Inactive currency Eric Random
- DESIGN: Active and Inactive currency Alistair Milne
- DESIGN: Active and Inactive currency Rayzam
- DESIGN: Active and Inactive currency John Buehler
- DESIGN: Active and Inactive currency Rayzam
- DESIGN: Active and Inactive currency Freeman, Jeff
- DESIGN: Active and Inactive currency Kirinyaga
- DESIGN: Active and Inactive currency Freeman, Jeff
- DESIGN: Active and Inactive currency brian@thyer.net
- DESIGN: Active and Inactive currency Kirinyaga
- DESIGN: Active and Inactive currency Arkitan Plu
- Story Generators Douglas Goodall
- ADMIN Changes to the list page J C Lawrence
- MUD-Dev Digest, Vol 11, Issue 19 Chanur Silvarian
- Playing catch-up with levels Jeremy Gaffney
- MUD-Dev Digest, Vol 11, Issue 19 Threshold RPG
- Bringing in friends Pat Ditterline
- Bringing in friends Amanda Walker
- [biz][tech][dgn][soc] Ten MMOG's you don't want to do... ceo
- [biz][tech][dgn][soc] Ten MMOG's you don't want to do... Freeman, Jeff
- [biz][tech][dgn][soc] Ten MMOG's you don't want to do... Eli Stevens {WG.c}
- [biz][tech][dgn][soc] Ten MMOG's you don't want to do... Sean Howard
- [biz][tech][dgn][soc] Ten MMOG's you don't want to do... Mike Rozak
- [biz][tech][dgn][soc] Ten MMOG's you don't want to do... Nathan Yospe
- Playing catch-up with levels Steven King
- Playing catch-up with levels Byron Ellacott
- Playing catch-up with levels Threshold RPG
- MUD-Dev Digest, Vol 11, Issue 23 Alex Chacha
- Playing catch-up with levels Sean Howard
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Matt Mihaly
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Matt Mihaly
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Matt Mihaly
- Playing catch-up with levels Amanda Walker
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Sean Howard
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Sean Howard
- Playing catch-up with levels Matt Mihaly
- Playing catch-up with levels Ola Fosheim Grøstad
- Playing catch-up with levels John Buehler
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Zach Collins {Siege}
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Sean Howard
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels Sean Howard
- Playing catch-up with levels Threshold RPG
- Playing catch-up with levels John Buehler