FIFEIdeas2011
Contents |
Improve FIFE's SoundManager
Our problem
The current FIFE SoundManager along with it's Python extension leaves something to be desired. It uses OpenAL as a cross platform sound engine which works well for our purposes but it is lacking some features. See FIFE ticket F#485. We would like the Sound Manager completely re-vamped and the Sound Manager python extension removed completely.
Our idea
List of possible improvements to the SoundManager:
- some features from the SoundManager Python extension should be implemented in C++ and the SoundManager extension should be removed altogether.
- have it's own Update function to be called directly by the engine
- callbacks when sounds have finished being played (including streamed audio)
- manage the number of sounds being played and limit if required (must choose which sounds to stop playing)
- should not rely on timers (the manager should have it's own update function as described above)
- ability to apply sound effects to specific emitters (you can change which clip to play for a specific emitter)
- manage the creation and deletion of emitters (emitters should be handed out by the engine)
- manage OpenAL sources
Probably there are more areas that could be improved.
What you need
- Excellent C++ programming skills
- Possibly skills in OpenAL
- Self motivated work, FIFE devs are not always available.
- Template:Span:purple Reduce the impact on FIFE clients (keeping the python API changes to a minimum).
- We expect a hard difficulty: You will need to dig into the FIFE code and python bindings, possibly proposing your own ideas for improvements.
What we provide
- The current development branch of FIFE: [1]
- You need to checkout this to work on the latest version of FIFE!
- Ideas for improvement
- Support as much as we can
What we expect
You can shift around release goals and target dates in the planning stage as you like. Once your mentor and you agreed on a rough timetable, only light modifications should occur if there happens nothing unforeseeable.
- No milestones from our side. Propose some to your mentors!
- SoC Deadline: you implemented, documented and tested code which improves the SoundManager.
What you can add
In general: If your mentor agrees, you can change almost everything in our descriptions. They are just meant to provide guidance if you are not sure where to start or which way to choose.
You are especially free to alter the following parts:
- List of improvements (especially if you have some better ideas to handle audio)
Who looks after you
Your mentors for this task will be: prock & vtchill
Decouple FIFE from Guichan/Pychan
Our problem
One of our MAJOR issues we have encountered over the years has been how closely coupled FIFE is with Guichan. Because Guichan is no longer being actively developed many guichan bugs remain problems for FIFE. We have found ourselves stuck with Guichan.
Our idea
The basic idea would be to define a generic FIFE -> GUI interface and write an implementation of that interface for Guichan. Theoretically we could then use any 3rd party GUI library with FIFE by writing an interface for it.
Probably there are more areas that could be improved.
What you need
- Excellent C++ programming skills
- Possibly skills with Guichan or other GUI libraries
- Self motivated work, FIFE devs are not always available.
- Template:Span:purple Reduce the impact on FIFE clients (keeping the python API changes to a minimum).
- We expect a hard difficulty: You will need to dig into the FIFE code and python bindings, possibly proposing your own ideas for improvements.
What we provide
- The current development branch of FIFE: [2]
- You need to checkout this to work on the latest version of FIFE!
- Ideas for improvement
- Support as much as we can
What we expect
You can shift around release goals and target dates in the planning stage as you like. Once your mentor and you agreed on a rough timetable, only light modifications should occur if there happens nothing unforeseeable.
- No milestones from our side. Propose some to your mentors!
- SoC Deadline: you implemented, documented and tested code which decoupled FIFE from Guichan.
What you can add
In general: If your mentor agrees, you can change almost everything in our descriptions. They are just meant to provide guidance if you are not sure where to start or which way to choose.
You are especially free to alter the following parts:
- List of improvements (especially if you have some better ideas to handle audio)
Who looks after you
Your mentors for this task will be: prock & vtchill