SoC Ideas Whiteboard Multiple CTK 2012
|This page is related to Summer of Code 2012|
|See the list of Summer of Code 2012 Ideas|
|This is a Summer of Code 2012 Idea|
- 1 Description
- 2 Additional Information
- 3 Requirements
- 4 Whom to ask about this
Whiteboard: Multiple Chance-to-kill calculations and interface polish 
Page for the idea: SoC Ideas Whiteboard Multiple CTK 2012
The whiteboard (the wesnoth action-planning system) allows you to plan several attacks on a single unit. Wesnoth already shows the player his chances to kill an attacked unit in a 1v1 fight in the battle dialog: reusing the existing code already used by the AI for this purpose, extend the dialog to present to the player total kill chances taking into account all successive planned attackers.
In addition, the whiteboard interface still has some outstanding bugs or incomplete features and usability issues. Identify as many of those problems as possible and propose ways to solve them (see details for some ideas).
Finally, do exhaustive playtesting and bugfixing involving devs and community members to make sure the whiteboard is fully reliable.
There are 2 submitted student proposals for this idea
Sandy Carter - Whiteboard: Organic Multiple Chance-to-kill preview and attack.
See Bwrsandman Whiteboard: Multiple Chance-to-kill calculations and interface polish for more information.
Angel Guevara - Whiteboard: Multiple Chance-to-kill calculations
Using the whiteboard feature a user can set several units to attack a single enemy unit but currently there is no way for the game to show you what are the chances to kill that enemy unit after all the attacks. The idea is to create a 'planned attack' dialog which would show the chance-to-kill (and, potentially, allow to reorder the attacks from within the dialog then recalculate the chance to kill taking into account wesnoth specials and abilities (like slow, illuminate and leadership).
See SoC2012 Multiple CTK Calculations for more information.
Chance-to-kill calculations for multiple planned attacks
The main challenge here will be to design a good interface to accomodate this new info. You should at the very least submit UI mockups. Be aware that your UI should still work at the lowest resolution Wesnoth supports.
The multiple CTK computations are already done in the battle_context class and are heavily used by the AI.
Optional addition: When several attacks are planned it can be hard to remember which unit is using which weapon. Try and find a way to display this information. Again, UI mockups are necessary so we can evaluate your idea.
Polishing up the Suppose Dead feature
The whiteboard has a "suppose dead" feature from GSoC 2011 which is currently disabled for lack of a good UI. This feature allows to basically remove a unit from the game temporarily to see how it affects pathfinding and zones of control. Propose visuals and a UI for this feature to try and redeem it. Yes, you guessed it, UI mockups needed.
- Current whiteboard bugs on the tracker: https://gna.org/bugs/?group=wesnoth&bug_group_id=117 (Fixing one or two of those as part of your submission is highly recommended, to show you can handle the wesnoth code base.)
- Ensure the interface to show/hide your allies' plans works properly and has good usability.
- Reduce visual clutter as much as possible: more visual elements such as numbers for planned moves should probably only display when a planned action is highlighted. This and other visual choices should be made optional: show always/show on highlight/never show.
- The interface for moves which go over multiple turns needs some work. Currently the emphasis is on the last future position of the unit (even if that is 5 turns from now), while it should probably on where the unit will end up during this turn.
Past experience has shown that properly testing the whiteboard means testing:
- multiplayer scenarios vs the AI and vs players, with and without heavy WML scripting
- observers (can cause bugs and should be tested)
- 2v2 matches
For proper playtesting you'll need to create several very simple scenarios that allow to quickly test all the possible planned actions, i.e. recruit, recall, move (including over several turns), attack, and eventually the "suppose dead" action if we re-enable it.
You should at first do exhaustive tests by yourself up to simulating 2v2 matches with 4 local clients, and when you're confident the game is bug-free, organise matches with devs and community members to put the whiteboard's usability to the test, and to find the last, least obvious bugs.
Prior Wesnoth playing experience is required, since you're gonna do interface design, and a multiplayer match versus the whiteboard developer will be part of the acceptance process (don't worry, he sucks at competitive Wesnoth, and you're only expected to show that you have some clue on how to play the game).
Good C++ skills are recommended, as is at least basic experience in interface design.
Note that all feature development (i.e. multiple CTK and Suppose Dead) must be finished by the GSoC midterm evaluation, after which all the time will be reserved for playtesting and further polishing.
Whom to ask about this
gabba on irc. If I'm hard to reach you can also find my email in the game's source files (if you're gonna make the effort to find it, I can make the effort to read your mail ;) ).
Crab_ on irc can point you to the existing code for chance-to-kill calculations.