Quote: " you can use a peer2 peer system rent a server or host a server for hosting player lists and game states for offline players or saved games ect. "
that is what I am considering for head to head 2 player action
seems like knowing/sharing the IP addresses is the basic way to go
hosting should be easier than setting up our own server
Quote: "Ideally I would like a system like "Yahtzee with Buddies". In that, available players are listed (who are not necessarily online at the time but are registered). You can then select a player and challenge them. They get a notification of the challenge and can choose to accept or not. Games don't have to be played in real-time but can be played over several days.
"
Not in real time should make things a lot easier with the database suggestion.
The server would maintain the game state - database of all shared variables - each player changing their own variables and displaying all when accessing game state.
All the client is doing is allowing the player to change their data according to the current state of the game, and creating the display based on the data received from the server.
Turn based makes it easier, but time limits (or lack of) could ruin it.
I was thinking of a battle royal style game of strategy, where movements on a map would be planned and executed with varying attributes of attack and defense etc. then the server could execute all of the battle logistics based on the inputs once the battle time had commenced and player input was halted. Give them minutes, hours, days for different battles for training/stat-adjustments. That way, it is not real time or turned based as much as one timed turn for everyone. This would not have any number of player restrictions like a real time game, so the server could add players to the battlefield all at one time or in waves based on the amount of player input for that battle. The output would be a playback of the procedurally generated action based on all of the input variables for any battle. Copy/Save the battle data and load it anytime by anyone for spectating (pay per view? j/k
Getting rid of the real time requirement should make networking a lot easier, and that is why I am thinking along those lines to get past my multiplayer procrastination.
Thinking of proprietary encryption for using flat files instead of SQL or other popularly known data saving methods to thwart invalid input attempts.
Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1