From: Jim B. <jim...@ya...> - 2009-11-09 18:06:51
|
On Nov 9, 2009, at 9:32 AM, Chris Shaffer wrote: > If you can coordinate each user loading the new saved game, I suspect > you could effect a sort of low-tech networked play. > > Yeah, that's effectively what we have now. We save and append the > next player's name to the save file, they see dropbox update the > file and see their name in the filename and know its their turn. works like that here too, but here's the save protocol we use (similar, but different) - a) use UTC option so timestamps sequence properly b) each player appends his-own-name to the save-file ('-jb', or whatever) c) there's an empty file in the folder, representing the "current player" token. whenever someone moves, they update this empty file, and rename it to point to the next player. d) we also have an "archive" subfolder for each game folder, Other details: i. This approach for initialing your own save-file ((b), above), makes it easier to find/identify particular saved moves. ii. To supplement (b) and (d) for the game archive, I also drop other empty/placeholder files in the folder, as bookmarks for the SR/OR transitions. iii. All these files are named appropriately (with the game prefix), so that they all sequence in folder-browsing (from Rails, from browsing folders externally, etc), with the "current move" token at the very end. iv. Thus, I can always & quickly browse the current folders in my dropbox (one per active game), see a short listing of the recent moves for each, with the "current player" named at the end. In this way, we get a decent archive (easy to browse the archive subfolder, and identify key phases too- sr2, or3.1, etc), the current- player signaling stuff ("token files") remains separate from the .rails move stuff ("save files"), and notifications are easily both "pushed" (by dropbox notifications when a move or token is updated), and "pulled" (naming and archive conventions that make the folders very quick to browse, to review current game states). Anyway, I thought I'd share this in case any of its helpful to you. - jim |