Welcome to the Silverwing's Lair



Instead9x

Downloads

Known Limitations

  • Some hardware may not be able to run more complex games. If the game runs too slow, you can try disabling fading, music, or using lower resolution;
    • Reasonable performance achievable on Pentium 3 or faster CPU;
    • Alpha-transparency is particularly slow, since it's done on the CPU; Games extensively using that will be slow;
  • Only software rendering is available.

Project Status

The project is indefinitely on hold. We are going to fix the issues and maintain compatibility with latest mainline INSTEAD, but no further performance and compatibility improvements are expected.

At the current stage we have encountered certain difficulties with optimisation of the engine which we are unable to overcome without significant rewriting of the rendering code. There are a lot of factors to that:

  • SDL 1.2 supports GDI (fully software and quite slow) and DirectDraw (hardware-accelerated and reasonably fast) renderers on Windows. OpenGL can be used as well, but it will require directly writing OpenGL code, not just SDL.
  • Current rendering code in INSTEAD is clearly written with optimised software rendering in mind: only changed areas are repainted and optimised routines are preferred whenever possible;
  • Repainting only the changed areas make usage of DirectDraw double buffering not possible, since there are essentially two screens, holding two previously painted frames;
  • Directly using DirectDraw's hardware surface is problematic as well due to extensive use of alpha transparency in INSTEAD which is not supported by DirectDraw; This means that alpha-blending is done in software (i.e. slowly);
  • Using software "shadow surface" (in SDL's terms) does not yield significant improvements (since everything except the final painting on the screen is done in software) and breaks hardware cursor (which by itself makes using of somewhat slow INSTEAD much more pleasant);
  • The extensive use of alpha transparency mentioned above makes any optimisations quite problematic, since a lot of games rely on this support.

To summarise it all: Proof of concept succeeded -- the engine can launche games on quite slow machines; now the project is stuck between performance improvement, games compatibility and effort required to move anywhere; In this state, we decided to switch attention to our own engine that will be developed with less-performant hardware in mind.