Jump to content

k776

WFG Retired
  • Posts

    721
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by k776

  1. Hey everyone,

    Philip has been doing a lot of research and unpaid experiments on a new path finding solution for the game.

    If he counted every hour so far, he'd probably have done a month already, with nothing concrete (yet) to show for it.

    Instead, he's taking unpaid time to test various things (because many ideas don't work out).

    Once he comes up with a good solution that'll work for the game, he'll be back into it.

    Also, the point of the Pledgie was to support Philip in coding the game and compensate him for it.

    If he didn't have this, he'd be looking for a job and then working, and then have even less time to work on the game.

    So you're money is being used in the best way possible, and once implementation details are sorted, I'm sure you'll be happy with the result.

    Regards

    Kieran

  2. That should work but adds a bit more complexity (e.g. making sure the player doesn't load the autosave from a different match) - it'll probably be worthwhile if disconnections are common and the simpler full resychronisation approach is too slow in practice.
    If the game were to try and auto connect for up to 10 seconds after a disconnection, I think this approach (sending turns instead of the map) makes the most sense.

    My most common use case is my internet connection cutting out for just 2 seconds (thankfully not often, but it does). It comes back online fairly quickly, and the game should be able to recover from that.

    So forgetting file size then (to avoid desync issues), how's this:

    * Player disconnects

    * Game tries to reconnect right afterwards (with screen saying so: "Reconnecting...", stops trying to reconnect either after say 30 seconds or the user hits a cancel button)

    Either:

    * Game successfully reconnects, using the same map it was just playing, downloads turns since last turn and applys them and the user is back in

    Or:

    * Game fails to reconnect. User gets "You were disconnected from the game. Please try reconnect. If problems persist, contact the game host." message. They try rejoin the game, and the entire map downloads, and then the turns, all are applied and user is back in.

    That sounds like it'd work, avoid any sync issues, avoid needless user interacting for small connection hickups..

  3. I guess the only "danger" is if the file transfer is really, really slow, it might not be feasible for the reconnecting player to receive the complete state and fast-forward before the game ends.
    What about implementing auto save and then when a host gets a request from a player:

    if (game->savedState().size() > game->turnsSince(request->lastTurn()).toFile().size() ) {
    sendTurnsFrom(request->lastTurn())
    } else {
    sendFullMap()
    }

    So on a huge map with 100's of units, if the player was only disconnected for 2-3 seconds, send the turns rather than the full map. If the turns are greater than the map size though, send the whole map (to avoid as many issues as possible).

    Would something like that be feasible?

    Hmm, that message is bad, because it implies they can't try connecting again, but I think what Philip was saying is that they can try to reconnect.

    True, perhaps something like this: "You were disconnected from the game. Please try reconnect. If problems persist, contact the game host."

  4. My two cents worth: Don't use just usernames to determine who to match up. Short of implementing a login system, for now, use the same ID used in profile reporting as the re-entry key. Would that work? Any big issues doing that?

    I think if a player leaves they go to the main menu. If they disconnect, the game should pause for them, the screen darkens (like most games pause screens), and the text "Disconnected. Attempting reconnect...". After 10 seconds, if it doesn't reconnect, then throw them to the main menu with "You were disconnected from the game and could not be reconnected. Please contact the game host.".

    As for the transmit file plan, sounds good. Will need some type of GUI (a progress bar for the % of the file size, with status updates: "Downloading map...", "Downloading turns...", "Finalizing..." (like the map loading screen, but doesn't need to have the pictures/tips).

×
×
  • Create New...