ScummVM logo Main website - Forums - BuildBot - Doxygen - Planet
Contact us - Buy Supported Games 
Log in curved edge

OpenTasksOpenTasks

This page contains a list of substantial open tasks from throughout the project. Completing any of them would be of great benefit the ScummVM project.

In theory, all of these tasks should be doable even by somebody relatively new to the project, in particular, as part of a Google Summer of Code project.

It should be noted however that while we suggest that potential GSoC students looks at these tasks they are in no way exclusive to GSoC. Anyone is very welcome to work on any task (or any aspect of it).

Besides the tasks collected here, there are of course also the TODO pages listing more things that need to be done (but with far less details).

Contents


Introduction

Some basic rules

Below follow some basic rules that anybody interested in one of these tasks should adhere to. Sometimes exceptions may be possible -- as always, common sense applies, and if in doubt, ask.

The projects below are sketches and ideas. Plus, things evolve over time, so the descriptions might be slightly outdated by the time you read them (although we strive to keep them up-to-date). Hence, you should talk with somebody from the team, probably the person(s) listed as Tech Contact, before starting work on any of them.

All code, unless stated differently, must be written in clean and portable C++, in particular, GCC must be able to compile it (portability exceptions can be made for platform specific code, of course). We also have some Code Formatting Conventions. Using the standard C++ lib for code used inside ScummVM is at this time not possible. Using it inside a non-essential tool should be fine, though.

All of the code submitted must be contributed under the terms of the GPL v2+.

We only accept clean and maintainable code. This is a somewhat vague requirement, but as a rule of thumb, if the code does what it is supposed to do, but is not extensible, a quick hack, or we need to rewrite it from scratch to properly integrate it, we will not accept it. In particular, we would rather have a maintainable, clean and incomplete piece of code that we could extend than a complete but unmaintainable piece of code.

Some good advice for Summer of Code Applications

The PostgreSQL folks have some real good Advice to Students on Submitting GSoC Applications. We recommend all students interested in applying with us (or any other GSoC project, for that matter) to read this.

Student application template

The following was adapted from the FreeBSD Proposal Guidelines.

  • Name
  • Email
  • Project Title
  • Possible Mentor (optional)
  • Benefits to the ScummVM Community - A good project will not just be fun to work on, but also generally useful to others.
  • Deliverables - It is very important to list quantifiable results here e.g.
    • "Improve X modules in ways Y and Z."
    • "Write 3 new man pages for the new interfaces."
    • "Improve test coverage by writing X more unit/regression tests."
    • "Improve performance in FOO by X%."
  • Project Schedule - How long will the project take? When can you begin work?
  • Availability - How many hours per week can you spend working on this? What other obligations do you have this summer?
  • Skype ID - If you don't use Skype, install it.
  • Phone Number - Cellular is preferable, for emergency contacts.
  • Timezone - Where do you live.
  • Bio - Who are you? What makes you the best person to work on this project?

Your task

Anything you can dream of

Technical Contact: Our IRC channel, our mailing list, or contact Eugene Sandulenko, John Willis

The Task:

Come up with your personal clever way to improve ScummVM and its various side projects. Be creative. Incorporate the ideas listed below and in our TODO, but don't let yourself be limited by them. Come up with something totally new, or enhance existing features. It's up to you.

But of course like with all the other tasks, we recommend that you first talk to us (see above).

Current Open Tasks

Below is a table of all the currently open tasks that people may wish to consider working on and links for more information. These tasks can be considered in addition or in conjunction with anything on our TODO, any other task or your own 'Anything you can dream of' project.

The GSoC workload figure can be used to indicate the percentage of GSoC project time we consider this task will take an average competent programmer. These are just rough guides and should you feel you can undertake a task well in less time (or take longer but deliver a much better or more feature rich result) please feel free to mention this on your application and select your tasks accordingly.


Task GSoC Workload Technical Contact(s) Subsystem
Support for Acorn Audio Format: Desktop Tracker 50% Eugene Sandulenko, Sven Hesse Audio
Audio Output Selection 50% Johannes Schickel Audio
MIDI Device Configuration 50% Johannes Schickel Audio
XMIDI Parser 50% The ScummVM Team Audio
Improve AGI Engine 100% Eugene Sandulenko Engine
Improve sound support in SCUMM games 75% Eugene Sandulenko, Travis Howell Audio/Engine
Objectify CruisE Engine 75% Eugene Sandulenko Engine
Add a testing framework for ScummVM's engines 100% Eugene Sandulenko Generic/Engine
Add a testing framework for ScummVM's subsystems 50% Johannes Schickel Generic
Extend plugin system 75% Eugene Sandulenko Generic
GUI Improvement 100% Johannes Schickel Generic
Improve the build system 50% Eugene Sandulenko Generic
Improve the default ScummVM backend by adding OpenGL support and providing a common base class 75% John Willis, Joost Peters Audio
Small Devices Backend 33% John Willis, Joost Peters Generic
Game script (bytecode) decompiler 100% Johannes Schickel Tools

Current TODO Lists

Below is a table of all the TODO lists currently on the wiki. These less detailed tasks can be considered in conjunction with anything from our larger open task list or your own 'Anything you can dream of' project.

A TODO list by its very nature if often made up of vague pointers or one line ideas. Please seek clarification if you are unsure of any TODO.


Task Technical Contact(s) Subsystem
AGI Engine TODO AGI Engine Team Engine
AGOS Engine TODO AGOS Engine Team Engine
Cine Engine TODO Cine Engine Team Engine
Documentation TODO The ScummVM Team Documentation
Drascula Engine TODO Drascula Engine Team Engine
GUI Themes TODO The ScummVM Team Generic
Gob Engine TODO Gob Engine Team Engine
Groovie Engine TODO Groovie Engine Team Engine
Hugo Engine TODO Hugo Engine Team Engine
Kyra Engine TODO Kyra Engine Team Engine
MADE Engine TODO MADE Engine Team Engine
Mohawk Engine TODO Mohawk Engine Team Engine
Parallaction Engine TODO Parallaction Engine Team Engine
SAGA Engine TODO SAGA Engine Team Engine
SCI Engine TODO SCI Engine Team Engine
SCUMM Engine TODO SCUMM Engine Team Engine
Sword25 Engine TODO Sword25 Engine Team Engine
Main TODO List The ScummVM Team Generic
Tinsel Engine TODO Tinsel Engine Team Engine
Toon Engine TODO Toon Engine Team Engine
Touche Engine TODO Touche Engine Team Engine
User Manual TODO The ScummVM Team Documentation

 

curved edge   curved edge