[Scummvm-devel] What is happening to the ScummVM team?

Max Horn max at quendi.de
Fri Feb 13 16:13:27 CET 2009


Hi Eugene,

thanks for your reasonable mail on the subject, and thanks to all the  
others who so far wrote very constructive mails. I am very happy to  
know more about the status of cruise, igor, made, m4 now, and hope  
they will prosper.


Am 13.02.2009 um 06:40 schrieb Eugene Sandulenko:

> OK, now it's my turn. I've addressed some issues in other e-mail, see
> the rest below.

[...]

>
> Still, I am really don't like the way you point this out. As I
> announce with each release schedule, I do not put it in stone. A
> simple request with sound reasons will easily make me push release
> date or even cancel it altogether. It is not that I am dictating it,
> although certain degree of dictatorship is required from the one
> wearing a release manager hat ;).

I wanted to quickly chime in and say this: Eugene, I really appreciate  
the immense work you have put into acting as release manager for  
ScummVM! I only did this a few times, and even back then it was a lot  
of work -- now it's a lot like herding bees. Given the limited  
resources, I think you are doing an awesome job.

Now I am not saying everything is perfect, but indeed, we are  
learning, and trying to improve things. And help is always welcome! It  
is very tiresome to get a release together. And I agree with Kostas  
that frequent releases are important; we can't wait until all bugs are  
fixed, as that way we'll never release. Even if in one engine we know  
about a series regression, we may have to release anyway (with that  
engine disabled and/or a big warning sign to users), as to not impede  
the others. But of course first we should make every effort to fix  
those issues.

>
>
>> Of course we now have a special date for ports to create prerelease
>> binaries. That is a step in the right direction. I am currently not  
>> sure
>> in how far our ports adapted that though.
> I saw a delighting reaction from our porters on that. Some of them
> took a step ahead and started to publish pre-release builds even
> earlier. Thank you very much, guys.
>
>> I also know some might say, "but we should really have a release  
>> soon"
>> or "we always release every 6 months", but in my opinion we should
>> rather have a quality release than a release in a fixed period, which
>> has too many annoying bugs. Thus my vote for this release is: wait  
>> for
>> more testing results! (means delay it)
> Although I wholeheartedly agree with you on this, unfortunately
> experience shows that in this case it will NEVER happen. The hardcore
> users just refuse to replay even beloved games 130-th time. And the
> newcomers just don't care.

[...]

> For the sake of this, and hoping that we will participate in GSoC'09,
> I am looking into automated testing task which I recently added to
> http://wiki.scummvm.org/index.php/OpenTasks#Implement_recorded_play
> Otherwise I see no bright light in the way of quality release testing.


Exactly. Automated game play testing would be nice. SSyke suggested  
that years ago, but it's one of those many features "someone" has to  
implement, and it is difficult :-/. Maybe the event recording code we  
have these days could be used to help with this...

Hey, we really should make adding testing (unit tests, automatic game  
reply tests, whatever) to the GSoC tasks.

Game tests could consists of a savestate for a game, plus an even  
sequence, and then there must be some way to verify things are in  
order. That could include:
1) comparing screenshots of the game state at certain intervals (right  
after loading; after executing a certain event sequence; etc.)
2) comparing sound / midi output
3) comparing save states: Load a fixed savestate, run an even  
sequence, save. Compare (uncompressed) savestae to a reference sample.  
Are there differences? Allow exluding sections of the savegame that  
are allowed to change (the latter could break with savegame revisions,  
of course)
4) add engine specific code to verify state, e.g. certain variables.

Of course none of these are perfect, none can catch all issues, and  
this might not even work in all games/engines/scenes, but as syke  
pointed out back then: Even partial testing can help *a lot*. And the  
above two points would be relatively generic, working for all engines,  
hence more likely to be usable soon

So, we could assemble a large test suite of these, and whenever we  
encounter regressions, we add a new test just for that, to make sure  
it doesn't re-appear.

besides automated play testing, of course we would have to add tons of  
unit tests, including test for the things LordHoto already pointed  
out; but in addition, a framework allowing *engines* to add unit tests  
would be nice. Of course this would require work by engine authors to  
actually be usable, but it would be optional anyway.

A lot of wild ideas, I know. GSoC ideas? Or maybe "someone" is willing  
to work on it???




All the best,
Max




More information about the Scummvm-devel mailing list