Client logging and savefiles

What would you like to see in Freeciv? Do you have a good idea what should be improved or how?
Ignatus
Hardened
Posts: 193
Joined: Mon Nov 06, 2017 12:05 pm
Location: St.Petersburg, Russia
Contact:

Client logging and savefiles

Postby Ignatus » Mon Apr 29, 2019 7:14 pm

The logical axvance of the clients, mainly for multiplayer: let's save any incoming game information! Notes in Word documents and screenshots are not the most handy things. It would be nice if we could set unit moving animation to minimal noticeable value and would be able to see who passed through a tile during the turn change in slow motion (there is some blinking like this in 3.0 GTK clients, but not very handy). Losing any memories of another civs' units as we move ours a tile farther from them is also awful. I can't remember if the client gets the nowledge what turn the map's terrain data date to, if it does not, it should log itself. Also, our empire should have an archive containing the most actual data for explored and lost cities, so that we could redisplay the latest "Investigate city" dialogs for each one (maybe though this should be saved on the server to help players that have to change machines).

An even more necessary thing, especially for Longturn, is an ability to save this knowledge any moment on the client machine. Also, client Lua state should be saveable (including variables and loaded scripts, and maybe some additional code; even without the rest, we should be able to keep some Lua autoloads in our profile for a connection to all and/or specific games). Many aforementioned tasks can be delegated to Lua callbacks recording them to Lua tables if they are saved (I am coding this mechanics). This is a client automation that can bring advantage to players more advanced in scripting than in playing, but it's likely that the Pandora box was open in LT42 any way.
Since I can understand, the client savefile format can be mostly like the server one, just with much information missing. We should be able to load the savefile for viewing, and, as a more advanced task, to compare some savefile with current game state.