[Kde-games-devel] Proposal for UI changes in KFourInALine

Eneko Nieto enekonieto at gmail.com
Fri May 31 18:02:09 UTC 2013


2013/5/29 Albert Astals Cid <aacid at kde.org>:
> El Dissabte, 25 de maig de 2013, a les 00:12:51, Eneko Nieto va escriure:
>> Hi Albert, thank you for your feedback.
>>
>> 2013/5/16 Albert Astals Cid <aacid at kde.org>:
>> > El Dimecres, 15 de maig de 2013, a les 22:20:50, Eneko Nieto va escriure:
>> >> I would want to discuss some changes in KFourInALine's user interface
>> >> before coding them, to receive feedback and to ease the approval of
>> >> the patch.
>> >>
>> >> PRESENT BEHAVIOUR
>> >>
>> >>  * When you start the game there is a pretty nice "Quick Launch"
>> >>
>> >> window that let you select some options (who starts, your color, game
>> >> dificulty or two player game). Once you start the first game this
>> >> window cannot be launched again.
>> >>
>> >>  * After starting first game you must go Settings -> Configure
>> >>
>> >> KFourInLine to change game options. Here there are more options but
>> >> presented in a totally different way (Starting Player Color, Player
>> >> Names, Black Plays With and Red Plays With, Computer Difficulty, Use
>> >> AI learning).
>> >>
>> >>  * To play a network game both players need to go Settings -> Network
>> >>
>> >> Configuration. There both clie   nt and server see the same dialog but
>> >> fields change according to the option selected in first radio button
>> >> (Create a network game or Join a network game).
>> >>
>> >>  * Players can select Keyboard or Mouse as control method. If Keyboard
>> >>
>> >> selected you must type from 1 to 7 to drop chip.
>> >>
>> >> PROPOSED BEHAVIOUR
>> >>
>> >>  * Create an unique dialog with all options (new game, options and
>> >>
>> >> network game). Behaviour should be something like this:
>> >>     - A tab selector or similar in the top: Human vs Computer, Human
>> >>
>> >> vs Human, Network Game (and Computer vs Computer? It's funny to see
>> >> your computer playing against itself, it remembers to WarGames :) ).
>> >>
>> >>     - If Human vs Computer selected: Player name, Player color, Who
>> >>
>> >> startts (add random option), Computer Difficulty, Use AI learning.
>> >>
>> >>     - If Human vs Human selected: Player1 name, Player1 color, Who
>> >>
>> >> starts (add random option), Player2 name, Player2 color.
>> >>
>> >>     - If Network game selected: two panels, the first for server
>> >>
>> >> (Player name, Player color,  Who starts, Game name and port) and the
>> >> other for the client (Player name, Host, Port and Game name). Another
>> >> option is to split this in two tabs, Create game and Join Game.
>> >>
>> >>     - If Computer vs Computer selected: Computer1 Difficulty,
>> >>
>> >> Computer2 Difficulty, Who starts (add random option), Use AI learning
>> >> (I don't know how if this option works in C vs C).
>> >
>> > This means removing the quick start thing?
>>
>> No, my idea is doing the quick start the default for new game, with
>> more options, so we can simplify options dialog. This affect bug
>> 101063:
>> https://bugs.kde.org/show_bug.cgi?id=101063
>>
>> Removing the Network Configuration would also close bug 79865:
>> https://bugs.kde.org/show_bug.cgi?id=79865
>>
>> >>  * Create a Play again button to play again maintaining options. The
>> >>
>> >> New button should launch the new dialog now.
>> >
>> > This doesn't seem to how most of our games do, as far as i remember, most
>> > have the options on the options menu and "New Game" just starts a new
>> > game. Not sure it makes sense to change it just for one game.
>>
>> I have been studying other games and I found Naval Battle similar to
>> KFourInLine. Both are 2 player games and have networking option, but
>> Naval Battle has no Player vs Player in same computer for obvious
>> reasons. How Naval Battle handles new games seems more intuitive and
>> elegant than how KFourInLine does:
>>  * Quick Launch is the only way for new games and is present when
>> opening the application and when you push New game.
>>  * Options specific to each game are in Quick Launch (for example game
>> type) and more general options are in Options menu (for example player
>> nickname).
>>  * There is a Restart game button so you play a new game without
>> choosing again game type. Really useful in networked games to avoid
>> the need to reconnect. I think in KFourInLine it should have another
>> name because the game is prepared for consecutive rounds (there is a
>> score with won games by each player), perhaps New round button or
>> something like that? I have seen most of the games only have New game
>> button but they are only 1 player game and/or each game only have one
>> round.
>>
>> Do you see interesting I to modify the proposed idea to resemble how
>> Naval Battle works or do you know other idea?
>
> Seems like a very good idea to me, as far as i've heard people like the
> NavalBattle UI for starting new games so adapting it for KFourInLine makes
> sense I think :-)
>
> Cheers,
>   Albert

Hi Albert, I greatly appreciate you helping newcomers as me :)

PROPOSED UI BASED ON NAVAL BATTLE
 * Quick Launch is the only way to start a game. It shows at app start
and when New game action is invoked.
 * Quick Launch has four big buttons: Player vs Computer, Player vs
Player, Host Network Game and Connect to Network Game. Each of them
launches a dialog with the described fields:
   - Player vs Computer: Your name (Textbox), Your color (Radiobutton:
Red, Black), Difficulty (Slider), Starting player (Radiobutton: Red,
Black, Random).
   - Player vs Player: Red player name (Textbox), Black player name
(Textbox), Starting player (Radiobutton: Red, Black, Random).
   - Host Network Game: Game name (Textbox), Port (Numberbox), Your
name (Textbox), Your colour (Radiobutton: Red, Black), Starting player
(Radiobutton: Red, Black, Random).
   - Connect to Network Game: Host (Textbox), Port (Numberbox), Game
(Combobox), Your name (Textbox).
FIXES BUG 169600 .
 * Remove Settings -> Network Configuration dialog. FIXES BUG 79865.
 * Remove Settings -> Configure KFourInLine dialog. FIXES BUG 101063.
 * Add Settings -> Use AI learning checkbox.
 * Add Settings -> Starting player submenu with Take turns, Loser,
Winner, Random. THIS IS A NEW FEATURE.
 * Paint a chip below current player to clearly mark whose is current
turn. THIS IS A NEW FEATURE.

PROBLEMS/SOLUTIONS:
 * Depending on selected theme player colours are black and red or
yellow and red. In current options black/red colours are used but
status bar uses yellow/red. I see two options to correct this:
   - Detect selected theme and show the correct colour name.
   - Call Yellow/Black to the non red colour.
FIXES BUG 154687.
 * Currently statistics only shows two items and uses settings' player
names, but now that option would disappear. It has no sense either to
mix second player stats when human with computer stats. I suggest
creating a new item in statistics for each different name. Computer
would play as Computer or Computer <level> (i.e: Computer Easy). "Your
name" textboxes could be editable comboboxes. THIS IS A NEW FEATURE.
We can enjoy the occasion to FIX BUG 312383.
 * Currently New button starts a new round and it is required to push
to start a new round. In the proposed behaviour New button shows the
Quick Launch dialog, so we need a way to start a new round (a button
in toolbar or perhaps better some way in finished game screen (i.e:
"Click screen to start a new round")).

What do you think about the proposed changes and what do you think are
the best solutions?

Albert, are you catalan? I am basque, from Nafarroa.

Déu i moltes gràcies!

Eneko

>> >>  * Delete input method for players to clean up UI. Both should be able
>> >>
>> >> to use keyboard and mouse in their turn. Undo function is implemented
>> >> to solve if you drop other player's chip by mistake.
>> >
>> > Makes sense, don't see the need to limit just to one input method.
>> >
>> > Cheers,
>> >
>> >   Albert
>> >>
>> >> What do you think about this changes? Feedback would be greatly
>> >> appreciated
>> >>
>> >> :)
>> >>
>> >> Eneko


More information about the kde-games-devel mailing list