208
edits
Strangerke (talk | contribs) |
|||
(19 intermediate revisions by 3 users not shown) | |||
Line 34: | Line 34: | ||
If you're looking for more inspiration for ideas, beware of our [[TODO]] (and the other TODO lists linked from there) and our [[OpenTasks]] pages. Many of the tasks listed there might be incomplete or outdated, or too difficult for a new developer. The best thing to do is to come and talk to us! | If you're looking for more inspiration for ideas, beware of our [[TODO]] (and the other TODO lists linked from there) and our [[OpenTasks]] pages. Many of the tasks listed there might be incomplete or outdated, or too difficult for a new developer. The best thing to do is to come and talk to us! | ||
== Game Tasks == | == Game Tasks == | ||
Line 76: | Line 43: | ||
If you don't feel quite up to that level of challenge, we have lots of other suggestions: | If you don't feel quite up to that level of challenge, we have lots of other suggestions: | ||
=== Macromedia Director | === Macromedia Director</span>=== | ||
Technical contacts: [[User:Sev|sev]] | Technical contacts: [[User:Sev|sev]] | ||
Line 83: | Line 50: | ||
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. | 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. | ||
=== Networking code for Moonbase Commander | === Networking code for Moonbase Commander=== | ||
Technical contacts: [[User:Sev|sev]] | Technical contacts: [[User:Sev|sev]] | ||
Line 105: | Line 72: | ||
'''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] | |||
=== Hyperspace Delivery Boy === | |||
Technical contact: [[User:sev|sev]] or [[User:DJWillis|DJWillis]] | |||
Difficulty level: Medium to hard. Good knowledge of C++ and some knowledge of Lua are required. | |||
Hyperspace Delivery Boy if a game written by (between others) John Romero after he left ID Software. The games has been ported to multiple platforms and is somehow a zelda like, mixing RPG, action and puzzles. | |||
The original sources have been secured. they are written in C++ and Lua. | |||
The purpose of the task is to write an engine for ScummVM of the Windows version. Sword25 engine is also written using Lua and could be used as an example of how to proceed. | |||
[https://www.mobygames.com/game/windows/hyperspace-delivery-boy/screenshots Screenshots on Mobygames] | |||
=== Mission Supernova games === | === Mission Supernova games === | ||
Technical contacts: [[User:Strangerke|Strangerke]] or [[User:Criezy|Criezy]] | Technical contacts: [[User:Strangerke|Strangerke]] or [[User:Criezy|Criezy]] | ||
Difficulty level: Medium. Good knowledge of C++ and basic knowledge of C and ASM is required. Some knowledge of German language would also help. | Difficulty level: Medium. Good knowledge of C++ and basic knowledge of C and ASM is required. Some knowledge of German language would also help. | ||
Line 115: | Line 108: | ||
We got hold of the original source code written in C with some x86 assembler and Mission Supernova was ported to ScummVM and translated to English as part of GSoC 2017. We now need to rewrite the second game as well in a portable C++ and polish its English translation. | We got hold of the original source code written in C with some x86 assembler and Mission Supernova was ported to ScummVM and translated to English as part of GSoC 2017. We now need to rewrite the second game as well in a portable C++ and polish its English translation. | ||
=== The Immortal === | |||
Technical contacts [[User:dreammaster|dreammaster]] or [[User:Strangerke|Strangerke]] | |||
Difficulty level: Hard. Good knowledge of C++ and assembly (x86 or 68K or 6502) is required. | |||
The immortal was released in 1990 by Electronic Arts. It's a mix of genres involving RPG elements with action and puzzles. | |||
The gameplay is different one variant to the other, and all variants are written in assembly, making it more difficult to support all the variants. | |||
In 2018, a GSoC student picked this task but, due to personal issues, didn't manage to complete the task. The purpose of the task is therefore to implement an engine for a variant of the game, using the original sources and the work of JoeFish as a documentation. | |||
[https://www.mobygames.com/game/immortal/screenshots Screenshots on Mobygames] | |||
=== Bring your own Adventure or RPG === | === Bring your own Adventure or RPG === | ||
Line 141: | Line 147: | ||
Finally, there's always plenty of other practical tasks on our wishlist! | Finally, there's always plenty of other practical tasks on our wishlist! | ||
=== Improve Android port | === Improve Android port</span>=== | ||
Technical contacts: [[User: | Technical contacts: [[User:Sev|Sev]] | ||
Difficulty level: Medium/hard. You'll need some knowledge of C++, Java and ideally Android development and OpenGL. Access to at least one Android device is probably also necessary. | Difficulty level: Medium/hard. You'll need some knowledge of C++, Java and ideally Android development and OpenGL. Access to at least one Android device is probably also necessary. | ||
Line 150: | Line 155: | ||
Our current Android port is in need of improvement, especially combined with modern versions of Android. We'd like to improve the GUI and the input code in particular, but hopefully you also have your own ideas if you've tried the port (if you haven't: do so!). There are some patches already available, and it should be possible to merge code from other projects (such as SDL 2). A native configuration GUI could also be an option. | Our current Android port is in need of improvement, especially combined with modern versions of Android. We'd like to improve the GUI and the input code in particular, but hopefully you also have your own ideas if you've tried the port (if you haven't: do so!). There are some patches already available, and it should be possible to merge code from other projects (such as SDL 2). A native configuration GUI could also be an option. | ||
=== Game packaging system | === Game packaging system === | ||
Technical contacts: [[User:Sev|sev]] | 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 descibe a game, e.g. provide screenshots, game descriptions, metadata, and package it for different platforms, so we could put them to different applicaiton distribution systems. | 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 descibe a game, e.g. provide screenshots, game descriptions, metadata, and package it for different platforms, so we could put them to different applicaiton distribution systems. | ||
Line 158: | Line 163: | ||
Examples are: Linux packages, Google Play, Apple App Store, Steam, ForgeTV store, and anything beyond that. | Examples are: Linux packages, Google Play, Apple App Store, Steam, ForgeTV store, and anything beyond that. | ||
=== Support for shaders and arbitrary scalers | === Support for shaders and arbitrary scalers === | ||
Technical contacts: [[User:Sev|sev]] | Technical contacts: [[User:Sev|sev]] | ||
Line 171: | Line 176: | ||
We need to have it tested on desktops and at least Android, but preferably also Windows and iOS. | We need to have it tested on desktops and at least Android, but preferably also Windows and iOS. | ||
edits