[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Adonthell-devel] Thoughts about modules
From: |
Alexandre Courbot |
Subject: |
[Adonthell-devel] Thoughts about modules |
Date: |
Sun, 15 Feb 2004 20:14:57 +0100 |
User-agent: |
KMail/1.5.3 |
We already discussed a bit about this topic, but since things are more clear
now, it's worth to analyze the issue once again.
I've begun implementing the current map model prototype in C++, under the
"landmap" module. Doing so, I've noticed that "landmap" will never have to
use something else than "base" and "event" (as could be excepted, since the
game mechanisms and user interfaces are now completely separated). Worse, it
appears that all our modules could actually be divided into two types of
modules: the game modules and the input/output modules.
Game modules are landmap and the future modules that will have a role in the
game mechanisms (rpg, etc.). I/O modules are gfx, audio, network and gui.
These modules have nothing to do with the game internals and are just to
interact with the user or other machines (the external world in general).
Between the two, we have main and base, which are used by both kinds of
modules.
The interesting thing to notice is that the I/O modules are the only ones to
require a backend (like SDL) and the special starting method using backend
loading. What it means is that a server-only binary will never need to load a
single backend, while the main module requires one (for now, SDL is hardcoded
but it is easy to make it more flexible). Would a server-only application
need to require SDL just for starting, while it will never make use of it? It
is possible of course to prevent linking with the main module and define a
customized program entry that will bypass all the module loading mechanism,
but this would make two kinds of programming styles depending on whether one
is using the I/O modules or not.
Maybe we have to redefine our design here. I'd like to see something more
coherent, although I fail to imagine how it would look like. Any idea about
this?
Alex.
PS: Jol and I will be present at FOSDEM 2004, if some of you go there too, we
could have a drink! ;)
- [Adonthell-devel] Thoughts about modules,
Alexandre Courbot <=