Monday, 2 March 2009

Past, present and future

Well it finally happened. The new version of ScummVM contains the Groovie engine, capable of playing The 7th Guest. It's quite exciting really. But now I'm just thinking about where to go from here.
It's not like T7G is completely finished: see the ScummVM wiki for more info on known issues. But it's close enough for now: I'll come back and look into them at some point in the future, as for now I have bigger fish to fry.
I'm sure there are a lot of people out there who are thinking that adding support for The 11th Hour will be easy, as it uses the same engine. However, let me explain to you why that's not the case:

  1. The engine is currently designed to play just one game.
  2. 11H uses > 8 bit graphics (i.e. more than 256 colour images).
  3. 11H uses a completely different video format.
  4. The script opcodes have changed.
    Those are just the big things that are obvious from the outset: I'm sure there are other smaller things (have you noticed the animated cursors blend together?).

Number 1 will involve refactoring the entire engine: no real changes, but involves difficult design decisions.
Number 2 is the real biggie. It's going to involve even bigger design decisions that will affect the whole of ScummVM, not just the Groovie engine. If ScummVM is accepted into the 2009 summer of code, it's one of the possible tasks, so we're going to wait and see if it gets taken up before even thinking of undertaking it.
Number 3 isn't as big as you might think: jvprat has already implemented a basic player from format descriptions on tinternet.
Number 4 will involve lots of fun reversing. We know a bit better what we're looking for this time tho!

Lots to do then, and very little free time to do it in. But there's no hurry :-)