User Tools

Site Tools

Translations of this page:


To illustrate the other features of the library, let's think about this statement: a code that adapts itself to different things does not imply an abstraction. ALL my games rearrange themselves as a play area depending on the monitor surface. This adaptation occurs at compile time, not at run time.

For example, in the game The Elevator there are as many floors as the drawable area allows. There are fewer planes in the VIC-20 version than in the C=64 version, but the game remain the same. MIDRES library, on its own, does not place any constraints on width and height. In different terms, the programmer who uses MIDRES library does not need to stay (whatever) on a “virtual” 40×25 character screen, which is then reduced or enlarged depending on the actual hardware; or it doesn't have to think in terms of “possible sizes” by using #ifdef…#endif. This is why it can be said that there is no abstraction because, however different the computer implementations are, the concept of “screen” as “a rectangular surface” is not an abstraction but a fact.

In MIDRES library it is not necessary to differentiate the initialization of the graphics according to the “performance” of the same. For example, if the target platform has the colors or if it hasn't.

There is the possibility of synchronizing the execution speed according to an external mechanism, without introducing programmatic and / or empirical slowdown factors. This allows you to write a game on a computer with a slow processor and have it run perfectly on a computer with a fast processor. Without going crazy making “attempts” or forcing you to review the algorithmic logic for each target. There is usually only one configuration for each platform. It makes no sense, from the MIDRES library project point of view, that there are 10 possibilities to choose from. Only one is the efficient one and that must be chosen. Efficient, in this context, means written in such a way that the performances are acceptable on the reference platform and remain identical if you change it, regardless of which will be the target one, and without fine tuning.