freeciv / freeciv-web

Freeciv-web is an Open Source strategy game implemented in HTML5 and WebGL, which can be played online against other players, or in single player mode against AI opponents.
Other
2.01k stars 335 forks source link

Tile info dialog improvements #128

Open lonemadmax opened 7 years ago

lonemadmax commented 7 years ago

It would be helpful to have the player state (idle for some turns, moving, dead, etc) in the tile info dialog one gets by middle clicking a tile.

So, for example, if it now shows "Territory of JGar (Ryukyuan, Team 50 | Mysterious)" it would show "Territory of JGar (Ryukyuan, Team 50 | Mysterious) - Idle for 7 turns."

Also, if possible, add a link to send a message to the tile owner and show info for all uncovered tiles, even if outdated for the fog-of-war ones.

Lexxie9952 commented 7 years ago

This is a very common and popular request for longturn games, because around half of the nations are inactive, so it requires constant switching to Nations tab and very slow jerky scrolling while looking through hundreds of nations just to see if it's an active human player or not. With the number of units coming and going in large multiplayer games, and explorers going over a map loaded with hundreds of players, it means that a player is having to do this many times every turn. sometimes it can even be half the time spent doing your turn, which is bad for User Experience.

I am not sure if it's simple to implement in the same fix, but this is also very important for unit info shown in the middle click. For example:


Location ... Terrain ... Food/Prod/Trade ... Territory of MrX (Nicaraguan, Team 55 | Hostile) - Idle 15 Unit: Settlers | MrHappy (French, Team 296 | Hostile) - Moving
...

lonemadmax commented 7 years ago

It may be doable without patching the server, by extracting the player name from the string and looking for the info in the client. Probably even the other request (to add an action item to message the player from that dialog) could be done in the same vein. If no real programmer steps in with the right way, I may try the client hack in the weekend.

Lexxie9952 commented 7 years ago

It might even be more often that a unit is crossing your territory or you meet it in unclaimed land, and want to know if that player is "real" or active. I edited my comment above to show an example of how this might be.

lonemadmax commented 7 years ago

Thank you. It all comes in the same server message, and yes, whatever we do with the player in the terrain info, will do with the player in the unit info. There can also be a line with city info, and although I think with the current rules it must be the same player as the terrain one, let's prepare for anything and do the same for it if it's different.

Regarding the message when clicking the player, we may also want to meet them or remove vision or whatever (even if the message is the most common action needed). How would you like that instead of the message action it takes you to the nations tab with that player selected and scrolled to view? You would need another click to send a message from there, but you would also have whatever other actions available.