K2InformaticsGmbH / egambo

Bot programming platform for turn based games.
Apache License 2.0
12 stars 0 forks source link

Egambo angular web site. #12

Open acautin opened 6 years ago

acautin commented 6 years ago

For an initial sketch of the interface check: egambo_web_interface.pdf Second sketch based on feedback egambo_sketch_2.pdf

Non functional requirements

Header

Playing the game (Board view)

My Games

History

Account

User account

Ranking

stoch commented 6 years ago

@acautin Please also consider mobile rendering of the pages and don't use GUI concepts which later cannot be supported on mobiles.

Page 1: login | register WELCOME Section try

Page 2: Scrollable list of game types with current game count | history game count | opportunities | difficulty orderd game count desc, history game count desc, opportunities desc

opportunities are only counted if I have reached the level to play this game (requires login) one can always play against internal bots (on any difficulty, even without registration or login)

Page 3: Heading = selected game type | my own ranking (e.g. 17/334) on this game type Current Games with online | opponent | opponent ranking | moves played so far (tap to continue playing) Link External Offerings with external opponent | opponent ranking (requires login) Link Internal Offerings of internal bots Offer game to anyone (requires login) Offer game to particular player (requires login) Link Ranking for this game type ordered by ranking desc Link History of games payed for this type

Page 4 (after tapping on current game): Heading = Game Type | opponent | game id game board, actions: next move tap | propose tie | accept tie | suspend

Page 5 (after tapping on External Offerings): tap on opponent to accept offering and goto page 4

Page 6 (after tapping on Internal Offerings): tap on bot name to accept offering and goto page 4

Page 7 (after tapping on Offer game to anyone): if immediately accepted then goto page 4 else goto page 3

Page 8 (after tapping on Offer game to particular player): if immediately accepted then goto page 4 else goto page 3

Page 9: Link Ranking for this game type ordered by ranking desc

Page 10: History of games payed for this type opponent | game count | game last timestamp order by opponent or game count or game timestamp

Page 11 (after tapping on a game history opponent): List of Links History of games for this opponent

Page 12 (after tapping on a game history opponent): Display a History of a game

Ranking should be per game type. In the end, good rankings on low complexity games will give authorization to play more complex ones. This will avoid bored experienced players having to play against beginners.

acautin commented 6 years ago

@stoch Thanks for the feedback, will update the sketch accordingly

I agree with the ranking being by game type making more sense, however I don't think it would be nice to restrict players to which games they can play based on ranking, as an example why should I be good at tic-tac-toe if I am only interested in gravity connect-4 games. If I am really bad player will be stuck playing tic-tac-toe making it quite boring.

Instead of preventing game we could make some sort of leagues based on ranking so top 20% of players can only be challenged by other top 20% players, or maybe some X positions above/below my current ranking.

acautin commented 6 years ago

@stoch I have created a new sketch, added a version for small screens thinking into mobile design, disadvantage is that we shouldn't have the header fixed as it is not the expectation of the users. For the grids, the heading with the buttons at the top might look mixed with the grid I don't think this will be a problem once implemented, just an artifact of pen and paper.

egambo_sketch_2.pdf