1,510
edits
(→Infrastructure Tasks: remove native macOS port task - I feel the switch to SDL2 fixes the issues we had with the SDL port) |
m (Fixed my nick) |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 29: | Line 29: | ||
== Tasks == | == Tasks == | ||
General contacts: Our IRC channel, our mailing list, or contact [[User:Sev| | General contacts: Our IRC channel, our mailing list, or contact [[User:Sev|sev]], [[User:DJWillis|John Willis]], [[User:Strangerke|Arnaud Boutonné]] | ||
The ideas here are meant to be just that - '''ideas'''. We hope they help inspire your proposals, but you should also consider suggesting your own completely new project ideas. Pick something you really want to see improved/fixed, and come and talk to us about it! | The ideas here are meant to be just that - '''ideas'''. We hope they help inspire your proposals, but you should also consider suggesting your own completely new project ideas. Pick something you really want to see improved/fixed, and come and talk to us about it! | ||
Line 43: | Line 43: | ||
=== Improve touchscreen GUI === | === Improve touchscreen GUI === | ||
Technical contacts: [[User:Sev| | Technical contacts: [[User:Sev|sev]]. | ||
Difficulty level: Easy (code) / medium (architecture). You'll need a touchscreen device which can run ScummVM, to test on. | Difficulty level: Easy (code) / medium (architecture). You'll need a touchscreen device which can run ScummVM, to test on. | ||
Line 56: | Line 56: | ||
=== Improve Main GUI === | === Improve Main GUI === | ||
Technical contacts: [[User:Sev| | Technical contacts: [[User:Sev|sev]]. | ||
Difficulty level: Easy. | Difficulty level: Easy. | ||
Line 70: | Line 70: | ||
== Game Tasks == | == Game Tasks == | ||
Technical contacts: Our IRC channel, our mailing list, or contact [[User:Sev| | Technical contacts: Our IRC channel, our mailing list, or contact [[User:Sev|sev]], [[User:DJWillis|John Willis]], [[User:Strangerke|Arnaud Boutonné]], [[User:Md5|Filippos Karapetis]], | ||
If you already have reverse engineering experience, you could consider working on one of the external in-development game engines, or even on support for a new game. However, doing this kind of work is very difficult and time-consuming - you would have to convince us that you have the necessary skills to actually be sufficiently productive, probably by demonstrating some actual progress first. | If you already have reverse engineering experience, you could consider working on one of the external in-development game engines, or even on support for a new game. However, doing this kind of work is very difficult and time-consuming - you would have to convince us that you have the necessary skills to actually be sufficiently productive, probably by demonstrating some actual progress first. | ||
Line 77: | Line 77: | ||
=== Macromedia Director === | === Macromedia Director === | ||
Technical contacts: [[User: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. | 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 === | |||
Technical contacts: [[User:Sev|sev]] | |||
Difficulty level: Medium. You'll need a reasonable level of programming experience, and some network development experience. | |||
[[Moonbase Commander]] is a SCUMM-based strategy game. The original supported up to 4 network players. We have the source code for the original game, but it is based on top of Microsoft DirectPlay. We need to do a clean reimplementation, not necessarily compatible with the original. It may also require some basic server side for discovery. The networking libraries libcurl and SDL_Net are already part of ScummVM. | |||
=== Wintermute 3D === | === Wintermute 3D === | ||
Line 98: | Line 106: | ||
'''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 | ||
=== Stark Engine improvements === | |||
Technical contacts: [[User:bgK|bgK]] | |||
Difficulty level: Medium | |||
The Longest Journey is a 2.5D point and click adventure game released in 1999 by Funcom. ResidualVM has a reimplementation for most of the game engine. However some important parts are missing: | |||
* The original menus | |||
The game menus allow displaying the main character's diary, viewing past cutscenes, loading and saving, ... Implementing the original menus is valuable to the players because of the very nice art they display. | |||
The menus are semi-data driven. This task involves implementing the shared draw logic as well as the screen-specific gameplay logic. | |||
* The characters' shadows | |||
ResidualVM uses programmable pipeline OpenGL (shaders) to display the game world. For this task, it is required to write the code responsible for drawing the characters' shadows using a technique such as shadow mapping. | |||
Working on Stark can be a great experience to learn game engine programming. The engine behind The Longest Journey was very well designed. Most concepts still apply in more recent 3D game engines. | |||
'''ResidualVM project.''' For details see http://wiki.residualvm.org/index.php/TLJ_TODO_list | |||
=== Mission Supernova games === | === Mission Supernova games === | ||
Line 103: | Line 128: | ||
Technical contacts: [[User:Strangerke|Strangerke]] or [[User:Criezy|Criezy]] | Technical contacts: [[User:Strangerke|Strangerke]] or [[User:Criezy|Criezy]] | ||
Difficulty level: Medium. | Difficulty level: Medium. Good knowledge of C++ and basic knowledge of C and ASM is required. Some knowledge of German language would also help. | ||
There were several adventure games by Steffen Dingel, which are freeware now: http://outpost.simplicity.de/ Among them were Mission Supernova and Mission Supernova 2. | There were several adventure games by Steffen Dingel, which are freeware now: http://outpost.simplicity.de/ Among them were Mission Supernova and Mission Supernova 2. | ||
Line 144: | Line 169: | ||
=== Game packaging system === | === Game packaging system === | ||
Technical contacts: [[User:Sev| | Technical contacts: [[User:Sev|sev]] | ||
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 152: | Line 177: | ||
=== Support for shaders and arbitrary scalers === | === Support for shaders and arbitrary scalers === | ||
Technical contacts: [[User:Sev| | Technical contacts: [[User:Sev|sev]] | ||
Difficulty: Medium | Difficulty: Medium | ||
Line 187: | Line 212: | ||
Alternatively (or additionally), you could consider adding other accessibility features. | Alternatively (or additionally), you could consider adding other accessibility features. | ||