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

Eneko Nieto enekonieto at gmail.com
Sun Jun 2 10:57:02 UTC 2013


2013/6/1 Albert Astals Cid <aacid at kde.org>:
> El Divendres, 31 de maig de 2013, a les 20:02:09, Eneko Nieto va escriure:
>> 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.
>
> Looks good, though i'd separate the new features from the reorganization if
> possible, smaller code chunks make for easier reviewing :-)
>
>>
>> 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.
>
> Detecting the theme (or making the theme provide the string) is better, the
> other is a poor man's solution and we should aim better if possible :-)
>
>>  * 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.
>
> Looks sane
>
>>  * 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")).
>
> Yep, i think a "Click screen for new round" makes sense.
>
>>
>> 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.
>
> I am. Are you coming to Akademy in Bilbao this July?
>
> Cheers,
>   Albert
>
>>
>> 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

Nice, you chose my preferred options. I'll try to separate all the
changes in smaller patches. Didn't know akademy was held in Bilbo this
year, but sure I'll go, I lived in Bilbo for two years, just
registered, see you there!

Eneko


More information about the kde-games-devel mailing list