home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / ReplicaNetFreewareV5_4.exe / data1.cab / Program_Executable_Files / Example4 / ReadMe.txt < prev    next >
Encoding:
Text File  |  2005-10-30  |  3.2 KB  |  60 lines

  1. Example 4
  2.  
  3. When the demonstration loads you can choose to join or create a game.
  4. Pilot the planes using the cursor keys and CTRL to fire. 'S' and 'D' will slow down and speed up.
  5. Each plane, projectile and enemy dolphin is a networked ReplicaObject. Even though twenty projectiles can be fired
  6. every second the network bandwidth is kept low.
  7.  
  8. This demonstration shows: 
  9.  
  10. How the distributed network system can handle a player joining or leaving at any time.
  11. When a master session leaves the network game then a new master session is quickly found.
  12. Fault tolerant enemies since if a session disconnects then the dolphins allocated to that session are distributed to
  13. other sessions. Each new player creates five new dolphins and these dolphin models are hosted on the local machine.
  14. Game objects are demonstrated by using the GameObject class (GameObject.cpp/h).
  15. This shows how to use inheritance in your game object classes and to interface the ReplicaObjects in to a game.
  16. How to use the ReplicaObject::GetOpaquePointer() function to enable common code to be used in the base GameObject class.
  17. How to use ReplicaNet::BeginSessionRecord() and ReplicaNet::BeginSessionPlayback() to record and playback session
  18. recordings.
  19. Compressing and decompressing the recording file. (MyReplicaNet.cpp/h)
  20. Network::Network_Shutdown() demonstrates a graceful shutdown of the library.
  21.  
  22. The dialog box
  23.  
  24. When displaying the network joining dialog the user can also set various parameters for the network local session.
  25. For example the first column of tick boxes are these:
  26.  
  27. "Can Spider"        =    Enables outgoing spider connections for this session.
  28. "Can be master"        =    If a session fails this session can take over as the master session.
  29. "Accept objects"    =    When objects migrate due to a fault this session can accept objects.
  30. "Dedicated"            =    Starts a dedicated session where there is no player, only enemy objects.
  31.  
  32. The second column allows the session to decide what to do with the objects when a session fatal error happens.
  33. A fatal error happens when the session cannot become a master and all other possible sessions leave the session.
  34.  
  35. "Migrate"            =    Allow this session to take over all replica objects.
  36. "Delete"            =    Delete all replica objects that are not master objects.
  37. "Leave"                =    Leave the replica objects.
  38. "Render"            =    Toggles the rendering of 3D models.
  39.  
  40. The "Recording filename" area and "Record"/"Playback" tick boxes allow the session record/playback functionality to
  41. be tested.
  42.  
  43. To record a session:
  44. Ticking the "Record" box will enable the "Browse" button. Press the button and using the "Save As" window choose a
  45. file to save to.
  46. Search for a game or create a new game as normal.
  47. To stop recording the session exit the application.
  48.  
  49. To playback a recording:
  50. Ticking the "Playback" box will enable the "Browse" button. Press the button and using the "Open" window choose a
  51. recording file to playback.
  52. The recording will start playing back. While playing a recording the keys 1 to 5 change the speed of the playback.
  53. Key 9 will skip forward 10 seconds and 0 (zero) will pause the playback.
  54. An example recording file is included with the sample called "recording.repnet".
  55.  
  56.  
  57. Available project build configurations:
  58. ReleaseMT
  59. DebugMT
  60.