[Scummvm-devel] KYRA - Eye of the Beholder extension

Eugene Sandulenko sev at scummvm.org
Fri Dec 2 12:10:48 CET 2011


On 1 December 2011 19:40, Johannes Schickel <lordhoto at gmail.com> wrote:
> As Florian correctly points out, EoB I+II (and also LoL) just mostly
> share file format code with the Kyra games. That mostly comes down to
> the PAK (resource bundles) file code, the CPS (static images) code, FNT
> (DOS font) code, WSA (graphical animations) code, ADL (AdLib sound
> format) code, EMC (script format) code. I didn't check all of the code
> yet, but I think Florian once mentioned EoB (1) is even using a
> different script format. Apart from that code mostly only some shared
> graphics related routines are used by both parts (i.e. RPG and
> Adventure) of the Kyra "engine". I put the "engine" in quotation marks,
> since basically most games using it are using some shared file format
> code and minor other things plus a lot of game specific code.
If it is so, then another approach would be to refactor those specific
format readers and put them into common code, then base eob engine on
that and have it as external one. How does it sound now?

As I see from where the discussion goes now, we are constantly falling
into a hypothetical situation 'what if'. Let's concentrate on what we
_do_have_.

The main fears over here is the maintenance overhead. So let me put a
simple question: 'Will supporting of 2 forks of code be easier for
athrxx, or it will basically suck out the developer out of the team?'

There were thoughts about additional burden during refactoring. Well,
I consider OSystem interface as quite stable, and let me point out,
that the game-specific code is exceptionally rare if ever touched by
the refactorings. The engine interface to outside world is shared
between all subengines. No additional work here. Really. Come back
with specific examples.

The only major OSystem impact which I currently envision is
implementation of event recorder which theoretically could require
intrusion in event loops in every engine and developing a set of
specific rules for their implementation.

Thus again, we are talking (and always been talked for these 10
years), that we are supporting adventure engines. And I would really
like the project to stay so, despite the attempts to bring in RPG
engines.

The only disputable area here is those /few/ games which were
developed on top of adventure engines.

Being led by this principle of 'who will do the work', I for instance,
was reluctant to add a number of 95%-finished adventure engines living
outside of the tree. Just there was nobody to finish them. Once, say,
md5 decided to actively work on toltecs engine, I let it in. Similarly
I voiced for removing m4 engine, and may raise question about
lastexpress engine in several months, since Littleboy has no time now
to finish the engine. This was the original reasoning of adding LoL
support and inviting Florian to the team. So far this approach worked
well for me and the project.

Let's discuss.


Eugene




More information about the Scummvm-devel mailing list