-
Notifications
You must be signed in to change notification settings - Fork 0
Ideas 2011:GUI overhaul
The files horizons/gui/gui.py
and horizons/gui/ingamegui.py
exist for several years now.
Whenever something got added, everybody did a little bit of patchwork to it.
- nobody understands how the widgets work anymore
- a lot of methods are too huge and need to be split up into smaller pieces
Besides this, we miss several features already defined in our current GUI and want others improved. See below for a detailed list.
We have collected ideas on how to improve the following parts by adding new features:
- island inventory display (top bar when hovering settlements)
- build menu
- new chat widget
Besides this, we want a documented rewrite of gui.py and ingamegui.py with eydocified comments for each method.
- Python skills, basic xml knowledge
- delight in [pychan] (http://fifedocs.boxbox.org/epydoc/fife.extensions.pychan-module.html)
- A lot of communication with everybody when implementing new or altering current UI elements
- motivation to tackle several smaller parts instead of one large task
- Estimated difficulties: Pychan interaction, very clear documentation
- We expect a moderate difficulty -- most of the stuff is already done, you just ;-) need to understand how.
There exist references for nearly everything related to our GUI in
-
horizons/gui/
and -
content/gui/xml/
.
You might want to find your way through them first.
Additionally, we assembled a list of tickets and wiki articles covering most of your tasks:
- specifications of the widgets that you will (re-)write: Configurable HUD, Modular Build menu, [Tooltips] (http://trac.unknown-horizons.org/t/ticket/714), Chat widget
- the most urgent parts are HUD, chat widget and build menu
- examples of implementations:
- [the current chat widget] (http://trac.unknown-horizons.org/t/browser/horizons/gui/ingamegui.py#L410)
- [pychan demo of a modular build menu by chew-ie, extract into
<fife>/demos/
] (http://chewie.zero-projekt.net/div/uh_buildmenu_pychandemo_standalone.tar.gz)
- [pychan documentation] (http://fifedocs.boxbox.org/epydoc/fife.extensions.pychan-module.html)
As a pre-GSoC task you could pick one item of the ticket list below and try working with it.
- This should get you accustomed to our GUI code quite well.
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 sensible modifications should occur if there happens nothing unforeseeable.
- Possible Milestone goals: ingamegui & gui, HUD, chat, build menu, tooltips, status overlay
- SoC Deadline: you tried your luck at several of the following tickets and were able to implement a vast amount of the ones you tackled: [#35] (http://trac.unknown-horizons.org/t/ticket/35 ) [#72] (http://trac.unknown-horizons.org/t/ticket/72 ) [#136] (http://trac.unknown-horizons.org/t/ticket/136) [#445] (http://trac.unknown-horizons.org/t/ticket/445) [#694] (http://trac.unknown-horizons.org/t/ticket/694) [#714] (http://trac.unknown-horizons.org/t/ticket/714) [#726] (http://trac.unknown-horizons.org/t/ticket/726) [#733] (http://trac.unknown-horizons.org/t/ticket/733) [#739] (http://trac.unknown-horizons.org/t/ticket/739) [#749] (http://trac.unknown-horizons.org/t/ticket/749) [#750] (http://trac.unknown-horizons.org/t/ticket/750) [#753] (http://trac.unknown-horizons.org/t/ticket/753) [#799] (http://trac.unknown-horizons.org/t/ticket/799)
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:
- the order you work on individual tasks
- the amount of tickets you plan to work on -- we will rather enjoy less features that work than a lot of GUI elements that need several bugfixes!
Your mentor for this task will probably be: eoc
These devs are known for their endurance when it comes to pychan problems: chew-ie, totycro, nihathrael
Home > GSoC > 2011 > [Ideas] (Ideas-2011)
Tile set
Combat system
AI player
Unit tests
GUI overhaul
FIFE
FIFE Sound
FIFE Pychan