03 March 2012, 21:49 | #61 |
Online Amiga Gaming
Join Date: Jun 2010
Location: Paris/France
Posts: 280
|
|
04 March 2012, 15:23 | #62 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
I have discovered a race condition in the net play server where input events could (occasionally) be sent to players interleaved differently with frames. This will almost certainly cause a desync. A proper thread synchronization primitive (mutex) is added, and the fix is forthcoming
I have also replaced a busy loop in FS-UAE net play code with a condition primitive, which means that FS-UAE will use a lot less (unecessary) CPU in net play mode. |
04 March 2012, 16:19 | #63 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Version 0.9.11beta3
* Fixed a bug where large positive mouse movement became negative.
* Event information is written to Synchronization.log during net play (this file can be quite large) -cannot be disabled yet. * Include slow memory in memory checksumming (chip + slow, now). * Replaced a busy-loop in net play with proper condition signal/wait, using significantly less CPU now. * Fixed a race condition in the net play server where input events could be sent to some clients out of order (with regard to frames). This would have caused desync when it occurred. * Fixed a bug in the net play server where input events could be sent to some clients before all clients were connected. * Detect refresh rate properly on Mac OS X (was not included in 0.9.11beta2). Version 0.9.11beta3 can be download here: http://fengestad.no/wp/fs-uae/download-beta For net play, this version is incompatible with earlier FS-UAE releases, and also requires an updated server: http://fengestad.no/wp/fs-uae/net-play |
04 March 2012, 16:32 | #64 |
Online Amiga Gaming
Join Date: Jun 2010
Location: Paris/France
Posts: 280
|
Your updates are really appreciated!
|
05 March 2012, 02:17 | #65 | |
Online Amiga Gaming
Join Date: Jun 2010
Location: Paris/France
Posts: 280
|
Quote:
|
|
06 March 2012, 18:56 | #66 |
Registered User
Join Date: Mar 2001
Location: Moorpark, California
Age: 44
Posts: 1,153
|
What happens if a game does something that involves random numbers?
Just say, for example, Sneech decides to place the collectibles based on randomness using the system clock or elapsed milliseconds as it's seed. Would this always result in the same behaviour on both systems? |
10 March 2012, 09:39 | #67 | |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
Since the Amiga are run synchronously in net play, elapsed time will be identical at the time the game wants to create a random number, so both Amigas in a 2-player net game will generate the same random number. (Also, MSM6242B/RF5C01A clocks are synchronized -but just a hack for now - both are set to 0, -proper time synchronization will be fixed later). But the point is, games should work just fine, also when using random numbers! |
|
10 March 2012, 12:38 | #68 |
Online Amiga Gaming
Join Date: Jun 2010
Location: Paris/France
Posts: 280
|
|
10 March 2012, 12:46 | #69 | |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
I believe Super Cars 2 (floppy version) (and any other floppy game) should work perfectly as well! |
|
10 March 2012, 13:09 | #70 | |
Online Amiga Gaming
Join Date: Jun 2010
Location: Paris/France
Posts: 280
|
Quote:
Other games have been successfully tested: -Base Jumpers -Battle Squadron -IK+ -Kick Off 2 -Lemmings -Lotus Esprit Turbo Challenge -Lotus Turbo Challenge 2 -North & South -Pang -Pinball Dreams -Speedball 2 With the passing of time, the most awaited features are: -input configuration menu -distributed joystick port swapping -a working/basic chat feature (just to make sure that the other players are not already dead) -a message/info to explain why the players have been disconnected from the server (unexpected bug or normal shut down) Keep up the good work! |
|
10 March 2012, 13:13 | #71 |
Registered User
|
@AmigaOnline : Vais ptet enfin ! pouvoir jouer en ligne sous nunux grâce à cet émulateur
@Others : i will maybe can play online under Linux with this fabulous emulator |
10 March 2012, 13:39 | #72 |
Online Amiga Gaming
Join Date: Jun 2010
Location: Paris/France
Posts: 280
|
|
10 March 2012, 13:40 | #73 | |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
Regarding disconnects / error messages: yes, I have of course planned to have the server report back error codes to the client. The current implementation where FS-UAE just quits on error with any message is just a preliminary implementation, due to net play being coded during a single weekend But this is what I am thinking to do: if net play is aborted (for any reason), the server sends error code/message to clients, and shuts down (on unrecoverable errors, at least), but FS-UAE will continue to run in off-line mode (instead of quitting). This way, it will be possible for players to continue playing alone, or save the game state (if one state is copied to other players, one could in theory continue playing later). Regarding desyncs, in the future, the game will probably continue (for the same reason as above), but with a clearly marked error message / icon in FS-UAE letting the players know that the game is not in sync -but still, better than just shutting down (allows saving, etc). |
|
10 March 2012, 13:46 | #74 | |
Online Amiga Gaming
Join Date: Jun 2010
Location: Paris/France
Posts: 280
|
Quote:
|
|
10 March 2012, 14:24 | #75 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Quote:
Problem isn't actually the clock time directly but 68000 MUL/DIV instruction having different cycle counts depending on instruction parameters, time conversion routines usually use multiplication and division. If I remember correctly, random numbers are only used in floppy emulation to generate random number of extra bits to disk image's emulated write splice (There are loaders that break if word sync state is _not_ lost during gap!) and internally in IPF decoding library (but it has API to set and get the seed value) |
|
10 March 2012, 14:41 | #76 | |||
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Hi Toni, thanks for replying!
Quote:
Quote:
Quote:
* All calls to random which can affect emulation is replaced with a call to uae_random(). uae_random does not use the system rand functions, but a custom random number generator (Mersenne twister from glib), and this is initialized to the same value on all clients in net play. The net effect is that the random bits should be calculated identical on all clients. As an extra safe guard, a random number is calculated for each frame and sent to the server to check that the custom random number generators are still in sync. I found the seed value for IPF decoding when implementing net play, and simply initialized this to 0 in the initial version, but will replace this with a call to uae_random(). |
|||
10 March 2012, 15:37 | #77 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Quote:
|
|
11 March 2012, 21:03 | #78 | |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
http://eab.abime.net/showpost.php?p=...&postcount=287 |
|
11 March 2012, 23:16 | #79 | |
Online Amiga Gaming
Join Date: Jun 2010
Location: Paris/France
Posts: 280
|
Quote:
|
|
12 March 2012, 00:02 | #80 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
UAE XFD wrapper (beta) | Toni Wilen | Amiga scene | 9 | 06 July 2022 12:14 |
fs-uae.net - New home page for FS-UAE | FrodeSolheim | support.FS-UAE | 4 | 01 May 2013 11:10 |
Can FS-UAE be used to play on the same IP? | Neil79 | support.FS-UAE | 9 | 09 February 2013 21:03 |
P-UAE on wiki.abime.net ? | Mequa | support.OtherUAE | 4 | 24 November 2010 23:50 |
How i can get a game on net and play it on AMIGA | Scuppe80 | Amiga scene | 4 | 29 September 2004 16:47 |
|
|