[MUD-Dev] New Beginings

ceo at grexengine.com ceo at grexengine.com
Sun Jun 2 08:42:29 New Zealand Standard Time 2002

On Thu, May 30, 2002 at 09:30:14AM -0400, Drylar Levre wrote:

> Well, I've been lurking and learning for a few months now, and
> decided to inquire as to opinions. I've been working with a
> text-based mud, diku in origin, with rom influence for a few years
> now. I belive it's time to move onwards and upwards to a more
> challenging goal. As it stands, I've aquired decent knowledge of
> C, and a taste of C++. If I would like to attain my goal, I'm
> wanting to create a graphical mud that: handles 'simple' 3D (ie
> Warcraft or AOE), basic sound effects as well as music,
> cross-platform for Windows and Mac (with the ability to handle
> more, but at least those as a starting point), and that can be
> expanded upon. I'd throw in completely bug and memory leak free,
> but that is every (I hope) programmers wish. What I'd like input
> on is; what would be a good cross-platform language to learn?
> What would be good models to study (I learn best by example)? 
> Where can I find good, quality programming resources for
> cross-platforming online games?  When it comes to the questions of
> Artist and Composers, those I can handle.  I need to learn where
> to go to begin on the groundwork for what I hope to become the
> next great multi-user online game.

I'm sure a dozen people will probably respond to this post in the
same way [so if everything in this post has already been said,
please feel free to junk it, JC :)].

Theoretically, almost any language would serve your purposes -
e.g. the whole of Java could be implemented in C++ (and in fact on
most plaforms it is - at an overly simplistic level, Java is just a
set of conventions about using a subset of C++, together with a
particular set of C++ libraries <ducks and runs for cover :P>).

In practice, I'd suggest you want:
  - something mainstream = good support, lots of examples, easy to
  find tutorials and people to help you when things go wrong

  - something modern = ditto

  - less power than C++ provides = since you don't mention
  performance as a number one priority [NB Java/Python/etc are often
  within 5% of the performance of C++ these days - sometimes faster
  [normally better at memory management]]

  - a virtual-machine/interpreter based language = Java/Python and
  others I'm not su familiar with - this approach is the most
  effective at providing transparent cross-platform compatibility
  without source modification

  - a darn good networking library = blocking I/O is a potential
  source of a whole lot of pain when handling 100's-1000's of
  connections, and is such an outdated concept :)

  - something that works on the Mac...

  - something so popular with commercial companies that any
  middleware you may want to use is written in your language

AFAIAW all those apart from the last two are equally well supported
by Java and Python, and a number of others (although CMIIW those are
the two most mainstream?).

Java, on the Mac, sucks. If everyone's using Mac OS X - hooray! its
fine. If they aren't -boooo! they don't even have java 1.2 (Note: it
is not worth even considering writing code that works on java 1.1 -
1.2 introduced FAR too many improvements and bug fixes. We are now
on 1.4.0).

OTOH I'm personally aware of up to half a dozen middleware companies
writing MMOG middleware in Java, and none in Python - N.B. only two
or three of those could eb said to be "public" at the moment, so
there could well be another 100 writing in Python! I just happen to
know of the Java ones, probably largely because its my current
language of preference, so YMMV.

Adam M
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list