Open main menu

Difference between revisions of "OpenTasks"

1,980 bytes added ,  15:32, 4 February 2009
→‎Generic infrastructure tasks: -- add task about recorded play
(→‎Some basic rules: Our code is GPLv2+, thus I guess we want code contributed as GPLv2+ too.)
(→‎Generic infrastructure tasks: -- add task about recorded play)
Line 66: Line 66:
* Good C++ skills.  
* Good C++ skills.  
* Excellent Makefile skills
* Excellent Makefile skills
=== Implement recorded play ===
''Technical Contact'': [[User:Sev|Eugene Sandulenko]]
''Background:''
Number of ScummVM supported games grows with each release. Since 0.8.0 we are performing extensive prerelease testing. Basically it is game replaying for finding regressions. This becomes somewhat tiresome process and takes much time.
In fact there should be no changes in the gameplay in most cases, so event recording and proper replaying should be enough. There is some code for that based on [http://sourceforge.net/tracker/index.php?func=detail&aid=1738058&group_id=37116&atid=418822 Action recorder patch], but the recordings are not played consistently. The main problem is that there is no guarantee of the events to be in sync with other engine parts, so the playback may deviate, depending on the machine speed.
''The Task:''
Implement proper event recorder and player. It should be multiplatform and not depend on the CPU power. I.e. it should ''guarantee'' proper event sequence and time. It should store mouse, keyboard events, as well as generated random numbers and any other functions dealing with extern world such as time. Basically it should be implemented as some globally blocking cycle which will be driven by recorded events.
The format should contain also ways to give name to the recording, keep a screenshot, and optional savegame, so arbitrary portions of the game could be recorded.
The GUI should include an overlay image which will indicate that the game is being recorded or played back.
Additionally there should be implemented possibility to create screenshots at specified intervals, so the output could be compared.
Optionally there could be implemented step-by-step mode with ability to pause the playback at any place. And as a big bonus ability to annotate the recordings with on-screen messages could be also implemented.
''Required Skills:''
* Good C++ skills.
* Access to slow(er) devices such as handhelds is preferable.