1,564
edits
(Copy from 2024 ideas page) |
(Updated to the current status) |
||
Line 85: | Line 85: | ||
* Size: 175 hours or 350 hours | * Size: 175 hours or 350 hours | ||
ScummVM currently has a number of engines | ScummVM currently has a number of engines that are very close to completion. Many of them were parts of previous GSoCs. For them, we need a playthrough and slight bug fixing, or additional portability fixes. | ||
Some of the engines are: | Some of the engines are: | ||
Line 94: | Line 94: | ||
* [[Comprehend]], finishing support for Transylvania (V2), and adding support for the 16-color Apple IIgs versions | * [[Comprehend]], finishing support for Transylvania (V2), and adding support for the 16-color Apple IIgs versions | ||
=== | === Implementing minigames in qdEngine === | ||
* Technical contacts: [[User:Sev|sev]] | * Technical contacts: [[User:Sev|sev]] | ||
* Difficulty level: Medium | * Difficulty level: Medium | ||
* Size: | * Size: 175 hours | ||
Last year, we successfully ported qdEngine to ScummVM. However, there are a few smaller tasks left: | |||
* Implementing advanced mini-games | |||
* Fixing pathfinding | |||
* Fixing actor lighting in some circumstances | |||
* Adding more features to debugger. | |||
This could be a good introductory task into general engine development for a well-established engine codebase. | |||
If you can understand Russian, you may also help with playtesting the rest of the games and perhaps fixing any issues that we discover. | |||
=== Porting ADL to ScummVM === | === Porting ADL to ScummVM === | ||
Line 161: | Line 165: | ||
The goal of this project is porting the engine code to ScummVM's OSystem framework. | The goal of this project is porting the engine code to ScummVM's OSystem framework. | ||
o | |||
The goal of this project is to rewrite/convert all of this into C++ and add to ScummVM. | The goal of this project is to rewrite/convert all of this into C++ and add to ScummVM. | ||
Line 194: | Line 192: | ||
ScummVM includes a global fully configurable keymapper, but this requires engines to be adapted to use it. The feature documentation: [[Keymapper]], some reference implementations: Wintermute has [https://github.com/scummvm/scummvm/blob/master/engines/wintermute/keymapper_tables.h per-game keymaps]; [https://github.com/scummvm/scummvm/pull/2428 a pull request] with adding keymapper to HDB engine; [https://github.com/scummvm/scummvm/commit/cce713ee4c73504e97eba8b0ca9190e47d279e69 a commit] with adding Keymapper to a simpler engine, Griffon. | ScummVM includes a global fully configurable keymapper, but this requires engines to be adapted to use it. The feature documentation: [[Keymapper]], some reference implementations: Wintermute has [https://github.com/scummvm/scummvm/blob/master/engines/wintermute/keymapper_tables.h per-game keymaps]; [https://github.com/scummvm/scummvm/pull/2428 a pull request] with adding keymapper to HDB engine; [https://github.com/scummvm/scummvm/commit/cce713ee4c73504e97eba8b0ca9190e47d279e69 a commit] with adding Keymapper to a simpler engine, Griffon. | ||
The current status can be found at [[Keymapper_and_TTS_status]] page. | |||
Line 201: | Line 201: | ||
* Size: 175 or 350 hours, depending on the number of games | * Size: 175 or 350 hours, depending on the number of games | ||
ScummVM has [https://en.wikipedia.org/wiki/Text-to-speech Text-to-Speech] (TTS) functionality that we are using for the games that have no speech (or limited options for speech). That improved usability of the games and obviously, their accessibility. | ScummVM has [https://en.wikipedia.org/wiki/Text-to-speech Text-to-Speech] (TTS) functionality that we are using for the games that have no speech (or limited options for speech). That improved the usability of the games and, obviously, their accessibility. | ||
The current status per engine can be found on the [[Keymapper_and_TTS_status]] page. | |||
For each engine, the task varies from straightforward to a mid-complexity: | For each engine, the task varies from straightforward to a mid-complexity: | ||
# Identify routines that show text on screen | # Identify routines that show text on the screen | ||
# Potentially, clean up text from things like colors and fonts | # Potentially, clean up text from things like colors and fonts | ||
# Feed this text to TTS | # Feed this text to TTS | ||
Line 214: | Line 214: | ||
== Infrastructure Tasks == | == Infrastructure Tasks == | ||
Finally, there | Finally, there are always plenty of other practical tasks on our wishlist! | ||
Line 220: | Line 220: | ||
* Technical contacts: [[User:Sev|sev]] | * Technical contacts: [[User:Sev|sev]] | ||
* Languages: | * Languages: Python, optionally C++ | ||
* Difficulty: Medium | * Difficulty: Medium | ||
* Size: 175 hours | * Size: 175 hours | ||
Line 228: | Line 228: | ||
The solution consists of two parts: server and additional functionality within ScummVM. In order to avoid any potential problems with the copyrighted material, only checksums could be passed to the server. | The solution consists of two parts: server and additional functionality within ScummVM. In order to avoid any potential problems with the copyrighted material, only checksums could be passed to the server. | ||
We already have a bulk of this task implemented | We already have a bulk of this task implemented but not yet fully integrated with ScummVM. There are two parts: [https://github.com/scummvm/scummvm-sites/tree/integrity Server], written in Python, and [https://github.com/scummvm/scummvm/pull/5247 the original ScummVM Pull Request]. | ||
We need to complete this task and make it fully functional. | We need to complete this task and make it fully functional. |