[Prev][Next][Index][Thread]

Re: Using Dylan for a Commercial Server



Mike Roberts <zoarre@my-deja.com> writes:

> > What world will it be serving?
> 
> :)
> 
> We are developing a same similar to Ultima Online or Everquest. The
> server manages the state of the enviornment that different players
> interact in.

I had a look at your web page. Interesting project.

Obviously, you need to store some game state. You'll probably want
transactions too, which most likely means an SQL database. Fun-O
offers a ready-made ODBC interface. For Gwydion Dylan, an interface
can be generated from the C headers for an arbitrary database, which
is a little more work, but possible.

If you can live without transactions, by, say, regularly making
snapshots of the game state, you can also use one of the permanent
object stores (dood from Fun-O, or od-dump from the Gwydion project)
to write the state to disk. This of course means keeping the whole
game state in memory, but that's not a bad idea anyways.

I guess that you will have a lot of users, so you'll need more than
one server. That means you need IPC not only between users and
servers, but also between servers. Fun-O has a CORBA implementation,
and both systems can use the XML-RPC library by Chris Double.

Functional Developer is really leading in terms of features you will
need, it's only drawback is that it runs on Windows. For a server
project like that, you really want a stable OS.

Gwydion Dylan, on the other hand, can be used on UNIXen, but lacks
features here and there. 

So yes, a project like that can probably be done in Dylan, but you'll
have to either persuade Fun-O to come up with a UNIX version of FD; or
hire one the Gwydion Dylan team fulltime to enhance the compiler for
what you need.

> I think that it's a waste to spend the extra time adding to C++ an
> approximation of the features already in a language such as Eiffel,
> Smalltalk, or Dylan.

Most certainly.

Andreas



Follow-Ups: References: