GSoC Week 9

GSoC 2017: Sludge Engine Week 9

Week task conclusion

Generally, this 9th week of GSoC project is focused on objectifying the code and adding new games. The objectifying takes more time predicted and I think I will continue to work on it next week and debug for new games.

Again, thanks to my mentors _sev(Eugene Sandulenko), t0by(Tobia Tesan) and all scummvm team members that has helped me during this week.

To make a brief conclusion about what we have achieved for this week :

  1. Objectify the code
    1. Timer
    2. Language Manager
    3. Resource Manager
    4. Object Manager
    5. Graphics Manager : 1 2 3
    6. Event Manager
    7. Sound Manager
    8. Text Manager
    9. Cursor Manager
  2. Add new games
    1. Out Of Order : playable without any mechanic bugs in the first scenes, I didn’t test it to the end though. However, there are several graphic bugs with backdrops and z-buffers that need to be fixed
    2. Frasse and the Peas of Kejick : playable without bugs in the first scenes
    3. The Interview : There is a crush concerning backdrop size when we go to scene 2, need to check
    4. Life Flashes By: There is a bug concerning save & load file detect. I think implementing the fileExists built-in function will solve it.
    5. A few windows-only games, with blank screen or only main menu works. I can’t understand why there’s windows-only sludge game. I think I’ll need the source code to have a check

 

The data files of the games mentioned above can be found in the repo : https://github.com/yinsimei/sludge-test-games

What’s for next week: Fix games & Finish code objectifying

Tasks for next week :

  1. Finish code objectifying :
    1. Character Manager
    2. Stack Machine Manager
  2. Fix games
    1. Fix the animation issue in Robin’s Rescue : This issue is here for several weeks, didn’t have time to look deep into it as it’s a rather wierd one. This bug only exists in this game. No such bug in other games.
    2. The issues mentioned above

GSoC Week 8

GSoC 2017: Sludge Engine Week 8

Week task conclusion

Generally, this 8th week of GSoC project consists of a lot of code fixing and cleaning in order to merge it into the upstream.

The great news it that it’s been successfully merged and I’m able to contribute directly to the main repo now, which is quite cool. Which also means to be more careful about every commit from now on. Also, Sludge engine has been announced in the facebook page of scummvm.

Again, thanks to my mentors _sev(Eugene Sandulenko), t0by(Tobia Tesan) and all scummvm team members that has helped me during this week.

 

Before diving into the code objectifying, we find it’s better to do a thorough code cleaning first, remove the useles if 0’s and complete some critical functions.

To make a brief conclusion about what we have achieved for this week :

  1. Multi-lingual system added
    1. Multiple detection entries
    2. Change fallback detection
  2. Read/Write float to stream
  3. Replace char * by Common::Stringreplace sprintf
  4. Complete some graphic functions
    1. Parallax (not finish yet): Parallax layers can scroll at different speeds to the background image, giving the illusion of depth to a scene as it moves.
    2. Credit Scrolling
    3. Burn sprite to backdrop
    4. Paste sprite to backdrop
  5. Other code fixing and cleaning

 

What’s for next week: More games & Code objectifying

We gave a less priority to the code objectifying during this week but I think we are ready to start it from the next week, as the code cleaning has been generally finished.

Also, as there are a number of functions still untested, we think it’s better to test them with more games.

Tasks for next week :

  1. Add all sludge existing sludge games into detection list (include Out Of Order)
  2. Objectify the code and create classes
  3. Fix the animation issue in Robin’s Rescue

GSoC Week 7

GSoC 2017: Sludge Engine Week 7

Week task conclusion

Generally, this 7th week of GSoC project consists of a number of minor tasks to fix and improve the current code: most bugs have been cleared for Robin’s Rescue and Load & Save system has been added.

Again, thanks to my mentors _sev(Eugene Sandulenko), t0by(Tobia Tesan) and all scummvm team members that has helped me during this week.

To make a brief conclusion about what we have and have not achieved for this week :

 

Tasks completed:

  1. Add game timing
  2. Correct the text color bug for png font
  3. Add transparency check for character clickable zone : the area is not clickable if transparent
  4. Add blank screen effect
  5. Save Graphics::Surface as png data stream: extend png writing function for 4-byte surfaces
  6. Load & Save System
  7. Use U32String to replace sludge utf8 library

 

To resolve later:

  1. The bug that character animation is too slow in Robin’s Rescue is still being tracked.
  2. the thumbnail and snapshot is used nowhere at present, so left in #if 0 #endif

What’s for next week: Code objectifying

As in sludge, all codes have been written in a non OOP way, which means all are implemented using global variables and functions. It’s necessary to objectify the code and create classes

Tasks for next week :

  1. Clear the animation issue in Robin’s Rescue
  2. Objectify the code and create classes

GSoC Week 6

GSoC 2017: Sludge Engine Week 6

Week task conclusion

Generally, this 6th week of GSoC project was good: the first mid-term evaluation has been validated and Robin’s Rescue is playable on ScummVM (still having some bugs to fix, though).

Again, thanks to my mentors _sev(Eugene Sandulenko), t0by(Tobia Tesan) and all scummvm team members that has helped me on bug fixing during this week.

 

To make a brief conclusion about what we have and have not achieved for this week :

 

Tasks completed:

  1. Load headless png files : flag to skip signature check + modify image loader
  2. FIx bugs related to loading background after loading zbuffer
  3. Other minor bug fixes …

 

To resolve later:

  1. There is still a problem with game’s timer, which is slower than expected
  2. Characters’ animation are very slow as well
  3. The text color is not 100% right

What’s for next week: Save & Load System

Tasks for next week :

  1. Clear the rest of issues in Robin’s Rescue
  2. Get save & load system up

Some findings about sludge

Sludge engine use headless png files (without 8 byte signature) for sprites.