On Wed, 24 May 2000, Maarten van Strien (cs^tbl) wrote:

> And keep in mind that once an engine is done, the only thing 
> needed to make a 100% game is datafiles! NO additional code!! So, the 
> engine has to cover ALL needs!

This is not necessary. There could be an engine that allows a kind of
plug-ins that communicate with the engine through a well defined and
documented interface.

I see two advantages of plug-ins:
1. They can implement things that are useful in one game, but useless in
another. No need for the engine to cover the entire spectrum of RPGs.
2. They can be loaded per scene. A boss monster requires different routines
than a peaceful village. If all code must be in the engine, that code plus
its data would be loaded all the time.
       
> Oh, and then something else: what about making the editing tools (map 
> editor, sprite editor, dot editor, demo storyboard editor etc.) for windows ..?

Making those tools for a non-MSX machine is a good idea. But remember that
not everyone uses Windows. Especially among coders other operating systems
are popular. We need something that is cross-platform.

I think there are two options for cross-platform development: Java or
cross-platform C/C++ libraries. Java allows the same binaries to run on many
systems, cross-platform libraries allow the same source to compile on many
systems.

When making a set of tools, I think it's useful to re-use code from one
tool for making the others. Object oriented languages make this easier to
do. Maybe we could even integrate all tools. So I think plain C would not
be a good choice. Yes, you can emulate OO using C, but why go through that
trouble and not use an OO language instead?

So it's between C++ and Java. I think Java is the better choice, because it
is a lot easier to keep your programs free of bugs if you write in Java:
1. The language is smaller and easier to understand, this avoids mistakes
by the coder.
2. Java catches more errors at compile time. Catching errors at compile
time is important, because testing takes a lot of time and you can be sure
you never tested every possible combination of actions.
3. If there is a bug, Java makes catching it a lot easier. Typecasts are
checked by the virtual machine. Out of bounds array indexing is detected by
the virtual machine. Because the virtual machine detects those errors, it
gives you a very accurate error message, even including the file and line
number of the offending code. In C++, the error can often only be seen
indirectly (array out of bounds overwrites another variable, the wrong
value of that variable shows up as a bug), making tracking bugs a lot
harder.

Bye,
                Maarten

****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet
****

Reply via email to