Difference between revisions of "Summer of Code/GSoC Ideas 2020"

Jump to navigation Jump to search
→‎Macromedia Director: -- improved wording
(→‎Macromedia Director: -- improved wording)
 
(5 intermediate revisions by 2 users not shown)
Line 46: Line 46:
Technical contacts: [[User:Sev|sev]]
Technical contacts: [[User:Sev|sev]]


Difficulty level: Medium. You'll need a reasonable level of programming experience, and probably some Director games.
Difficulty level: Medium. You'll need a reasonable level of programming experience, and probably some [[Director]] games.


Many 90s-era adventure games were developed using the Macromedia (now Adobe) Director tool. It would be nice to be able to play these games in ScummVM! We have a WIP engine in ScummVM tree, but it requires much more work in order to implement all hundreds of Lingo commands.
[[Director/Games|Many 90s-era adventure games]] were developed using the Macromedia (now Adobe) Director tool. It would be nice to be able to play these games in ScummVM! We have a WIP engine in ScummVM tree, but it requires much more work in order to implement all hundreds of Lingo commands.


=== Enhance SAGA engine ===
=== Enhance SAGA engine ===
Line 74: Line 74:


'''ResidualVM project.''' See [http://wiki.residualvm.org/index.php/GSoC_Ideas#In_Cold_Blood_engine_refactor ICB engine refactor] for more details
'''ResidualVM project.''' See [http://wiki.residualvm.org/index.php/GSoC_Ideas#In_Cold_Blood_engine_refactor ICB engine refactor] for more details
=== Maupiti Island ===
Technical contacts: [[User:Strangerke|Strangerke]]
Difficult level: Medium to Hard. Good knowledge of C++ and some knowledge of Pascal and Assembly are required. Some knowledge of French could also help a bit, though Strangerke could translate anything on demand.
Maupiti Island is the sequel of Mortevielle Manor, both released by Lankhor. Both games were best sellers at the time and were games of the year in France. Nevertheless, best sellers of the time were still selling low volumes and Maupiti Island is nowadays pretty rare ans unknown.
Partial Pascal sources of Maupiti Island (Atari ST) have been secured recently. Some utility functions are missing, which were written using a mix of Pascal and assembly. So, the whole harcoded logic is available with most of the utility functions. Some reverse engineering may be required if the equivalent functions in Mortevielle are not working out of the box for the DOS version.
The purpose of this task is to reimplement a Maupiti Island engine for the DOS variants of the game in at least two languages, using Mortevielle Manor and the original sources as documentation.
[https://www.mobygames.com/game/dos/maupiti-island/screenshots/gameShotId,732668/ Screenshots on Mobygames]


=== The Immortal ===
=== The Immortal ===
Line 121: Line 108:
Please come talk to us to see if we have a mentor who would be interested in
Please come talk to us to see if we have a mentor who would be interested in
working with you on such a game. We'd be happy to help out.
working with you on such a game. We'd be happy to help out.
== Smaller Tasks ==
=== Unicode and BiDi support for GUI ===
Technical contacts: [[User:Sev|sev]]
Difficulty: Easy. It will take up to 2 weeks to implement. C++ knowledge required.
ScummVM GUI is based on char size strings, so we have to rely on code pages. With this task, you would need to switch our GUI to usage of Common::U32String, thus making it Unicode-friendly.
Along the way, we would need support for right-to-left languages, and basically flip the widgets horizontally.


== Infrastructure Tasks ==
== Infrastructure Tasks ==
Line 130: Line 131:
Technical contacts: [[User:Sev|sev]] or [[User:DJWillis|DJWillis]]  
Technical contacts: [[User:Sev|sev]] or [[User:DJWillis|DJWillis]]  


ScummVM offers 8 freeware games for download, but they need to be downloaded and installed manually. It would be great to develop a universal system which would let us describe a game, e.g. provide screenshots, game descriptions, metadata, and package it for different platforms, so we could put them to different application distribution systems bundled together with ScummVM. For example, we could have Beneath a Steel Sky bundled together with ScummVM, with its own logo, description and instructions on how to add another game along the way.
ScummVM offers 9 freeware games for download, but they need to be downloaded and installed manually. It would be great to develop a universal system which would let us describe a game, e.g. provide screenshots, game descriptions, metadata, and package it for different platforms, so we could put them to different application distribution systems bundled together with ScummVM. For example, we could have Beneath a Steel Sky bundled together with ScummVM, with its own logo, description and instructions on how to add another game along the way.


Potentially and in the future this system could also be used for DLC on platforms which support it, like Steam, Android Play Store or Apple App Store, though support for Android and iOS is out of scope for this project.
Potentially and in the future this system could also be used for DLC on platforms which support it, like Steam, Android Play Store or Apple App Store, though support for Android and iOS is out of scope for this project.
Line 178: Line 179:
Benefits would be faster game detection as well as the ability to detect games even if the corresponding plugin is missing, and let the user know which plugin is missing and needed to play that game.
Benefits would be faster game detection as well as the ability to detect games even if the corresponding plugin is missing, and let the user know which plugin is missing and needed to play that game.


You need a medium knowledge of C++ for this task.
You need a medium knowledge of C++ for this task. Some bash shell knowledge is a plus.

Navigation menu