Opened 13 years ago

Closed 13 years ago

#977 closed defect (fixed)

Random map generation on different platforms can cause multiplayer OOS error

Reported by: historic_bruno Owned by:
Priority: Must Have Milestone: Alpha 8
Component: Core engine Keywords: rms, sync, spidermonkey
Cc: brian Patch:

Description

With certain combinations of systems, there are multiplayer out-of-sync errors when playing random maps. It appears to be a difference in floating point precision, some entity positions differ by 0.00001 or 0.00002 units.

One such configuration:

  • Host: Ubuntu 11.04 64-bit, Intel Core i7-2600K (SSE2), custom build GCC (Release)
  • Client: Windows XP 32-bit, Athlon XP 2000+ (non-SSE2), custom build VC2010 Express (Release)

OOS logs are attached for comparison.

Attachments (1)

oos_logs.zip (54.7 KB ) - added by historic_bruno 13 years ago.

Download all attachments as: .zip

Change History (3)

by historic_bruno, 13 years ago

Attachment: oos_logs.zip added

comment:1 by ben, 13 years ago

(In [10326]) Attempts to fix random map OOS errors by avoiding parsing data to floats (uses CFixedVector3D instead). See #977. Changes to rmgen API for consistency and support of 3D position/rotation.

comment:2 by historic_bruno, 13 years ago

Resolution: fixed
Status: newclosed

Confirmed to work with the above setup :) The lesson is don't use float, even for temporarily storing map data!

Note: See TracTickets for help on using tickets.