> In this I do not disagree with Tchize and Gros, however I am still 
> unconvinced by the case for a complex API to enforce such separation,

I never suggested to make a complex API to enforce such separation. Quite the 
contrary, I think that the API should be kept simple, organized and rather 
straightforward. If the resulting API is complex (either in structure or to 
maintain), then it is indeed a failure, as one of the goal is to make the code 
easier to interface, not harder.

> a well constructed layout of functions within files, created according to how 
> they are called in various places, would, I feel, help almost as much without 
> adding yet another thing to support that will quickly become outdated.

Such a layout is indeed one of the points to achieve, and is the first step to 
do (one cannot expect to define a solid API without a clear and global view 
over the existing code).

On the other hand, let's not forget that "cleaner code" is *one* point a 
modularized system with a generic API for objects is meant to address. A 
modular system would allow easier interfacing with other libraries, languages 
or software, would make possible integration of new classes of objects 
alongside the maps themselves; if properly done, it could allow upgrades and 
fixes in the modules code to be integrated in a running server without having 
to stop it; on-demand loading/unloading of code, with the possibility of 
creating auto-downloadable chunks, etc. It would basically make Crossfire a 
game framework that could effectively be used as a workbasis for all kinds of 
square-based multiplayer RPGs, something a monolithic code will *never* be able 
to achieve.

Of course, you may object that "this is pure conjecture, that would get only 
results on the long-term, if they ever get any". Sure - this is an important 
change. I think that it all comes down to asking the question: do we want to 
polish the current infrastructure, keeping adding details to it, or do we want 
it to evolve into something more ambitious ? 
I think that we should, at some point, clearly put on the table the future 
direction we want Crossfire to go to, goals we want it to achieve not today or 
the next month, but on a long-term perspective.


_______________________________________________
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire

Reply via email to