Hi everybody,

Last year I couldn't get my Wesnoth GSoC
submission<http://wiki.wesnoth.org/SummerOfCodeProposal_gabba>accepted,
but I'm very motivated to get in this year. I've been wanting to
contribute to Wesnoth for a long time, and the GSoC seems like the ideal
kickstart to get to know the codebase.
Unless I get conflicting course schedules next session this will me my last
summer as a student - next year will be my fourth and last in software
engineering at École Polytechnique de Montréal - , so it's now or never!

I've been posting a few ideas on the forums, and this one in particular has
been 
well-received<http://www.wesnoth.org/forum/viewtopic.php?f=12&t=29102&start=0>.
(I'll copy the text at the bottom of this email to allow for easy
commenting.) Since apparently you devs don't frequent the forums that much,
I'd like to have your opinion on:
1- Whether this is a desirable feature
2- Whether this is a good idea for a GSoC project: how much work, how many
things to modify?
3- Which are the areas of the code I should start looking at?
4- What would be an easy coding project I can use to show what I can do, and
get to know these areas of the code better?

After browsing the GSoC 2010 current list of ideas, I find this one more
motivating, because it would have a direct effect on my wesnoth gaming
experience. This said, some of the other ideas look interesting as well, so
I'm not putting all my eggs in one basket, i.e. I'm open to other options.
I'm even thinking of making several proposals, but from my experience last
year making a detailed one is very time-consuming, so we'll see.

Without further introduction, here's my proposal:

------------------------------------------------------------------------------------
Main idea: Share undoable moves with allies

Currently when playing a coop game (either RPG or more standard multiplayer
campaign), there are several things that really irk me when it's not my
turn:

   - You wait a long time before seeing anything happening
   - When your ally who's taking his turn finally attacks an enemy or makes
   another non-undoable move, you have to sit through a delayed replay of his
   moves. If he already finished his turn, your ally has to wait while you
   watch this.
   - After a few undoable moves by either allied player, communication is
   completely out of sync. If you tell your ally, "look, I'm encircling his
   leader", he has no clue what you're talking about: he doesn't see what
   you're doing. If your ally asks you "should I move my white mage here to
   heal you units next turn", you 1) have no clue about which hex "here" is
   supposed to mean 2) even if you did, you can't adequately counsel him, since
   you don't see how he positioned his other units


I think the reasonable solution is simply to add an option called Share
undoable moves with allies. Both you and your ally need to enable it for it
to work. If you both have it enabled, what it does is it shows you your
allies' moves exactly as if you were staring at the same screen while he
plays his turn. Net effect: you don't wait forever for something to happen,
you don't sit through a replay and make others wait in the meanwhile, and
you can actually shout to your ally on skype "NO idiot, don't move your
white mage there!" before it's too late.

When sharing undoable moves, some mild confusion might happen when you ally
undoes a move: if you're not paying attention (after all the unit just
changed from "red" movement status to "yellow" or "green" orb), you might
think you're witnessing a move instead of an undo. This is why extra visual
clues would be needed in that mode, possibly just a red UNDO text that
floats up from the unit, or alternate red footsteps symbols that the unit
gobbles up backwards as it goes back to its previous location.

For the true "over the shoulder" experience, I think this option should show
you everything, down to the attack dialogue your ally gets when he attacks
an enemy. This way you can discuss which attack he should use, while you
both see the attack stats and odds. Same thing for the recruit and unit
upgrade dialogues. All those would make for a more interesting coop
experience, and would be especially good for teaching newbs to the game.
Oh yeah, and those chargen menus from Bobs' RPG era and the like would also
fall in this category: help your friends choose their class and starting
items instead of staring blankly at the screen.

Optional, secondary idea: Share undoable moves with enemies

I don't expect this second idea to be very popular, but the thing is: if the
first one is implemented, this one will almost be free to implement. So we
might as well discuss it, too.
A "Share undoable moves with enemies" option would simply show your
opponents all your moves as you do them, even those that can be undone. It
does remove some waiting boredom, like the first option. It would be useful
when you want to play chess-style (where a moved piece is a moved piece, no
undo), but without fiddling with the scenarios options to disable undo. And
contrary to a fixed scenario option, it allows you to still agree on
"friendly undos" from time to time: "this was too stupid, can I move it
back?" --"Sure, go ahead".
A second use is when you just don't care if the opponent can read your mind
by seeing your every move, either because your skill level is greatly
superior, or the game is very casual (i.e. you're playing with your younger
brother), and you just want to make the game less boring by minimizing the
waiting factor.
Sharing undoable moves from enemies would probably make "delay shroud
updates" useless, but after all they are somewhat incompatible ideas.

----
P.S. I don't use mailing lists that much and I don't know if any of you use
old-fashioned mail readers, so if I commited a capital sin by using html
formatting (from the gmail editor) such as hyperlinks or bold text, please
let me know.
_______________________________________________
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev

Reply via email to