home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 21 / Commodore_Free_Issue_21_2008_Commodore_Computer_Club.d64 / t.netracer < prev    next >
Text File  |  2023-02-26  |  5KB  |  248 lines

  1. u
  2. NetRacer
  3. http://home.ica.net/leifb/
  4.  commodore/racer/
  5.  
  6. First ever Commodore lan party?
  7.  
  8. http://games.slashdot.org/article.pl?si
  9. d=08/07/06/2114221&from=rss
  10.  
  11. Cincinnati Commodore Computer Club
  12. 2008 held what most are calling the
  13. First Commodore 64 Lan party with
  14. Netracer the first multiplayer
  15. Internet game for the Commodore 64!z
  16.  
  17. Overview:
  18. NetRacer is a simple racing game
  19. written to demonstrate the potential
  20. of multiplayer games over the Internet
  21. with the C64.  It builds on our earlier
  22. two-player effort Artillery Duel with
  23. realtime gameplay and the addition of
  24. a server. The game was unveiled at the
  25. Cincinnati Commodore Computer Club
  26. Expo 2008.  Check out the Powerpoint
  27. presentation about the project and
  28. pictures of the event & setup.
  29.  
  30. Features:
  31. Eight simultaneous players over the
  32. Internet or LAN
  33. Scrolling graphics
  34. Sound effects
  35. Joystick control (Port 2)
  36.  
  37. Technical Details:
  38. UDP-based communication (don't forget
  39. to forward port 3000 in your
  40. router/firewall to your C64)
  41. Written in DASM assembler
  42. Uses netlib64, which in turn supports
  43. the RR-Net, FB-Net, or ETH64
  44. cartridges.
  45. Server is written in Java 5.
  46.  
  47. Download:
  48. NetRacer 1.0 from Commodore Scene
  49. Database.
  50. http://noname.c64.org/csdb/release/?id=
  51. 67873
  52.  
  53.  
  54. Please note that the VICE emulator
  55. isn't yet supported, as its RR-Net
  56. emulation is a bit buggy. Source code
  57. for the client and server are
  58. available, contact Leif for a copy.
  59. Links:
  60.  
  61. Discuss the game's development on the
  62. C64 Network Game Development forum.
  63. http://jledger.proboards19.com/index.cg
  64. i?board=c64ngd 
  65. Look for opponents on the C64friends
  66. IRC chat http://www.c64friends.com/
  67. or the #netracer channel on NewNet.
  68. http://www.newnet.net/newnewnet/
  69.  index.php
  70.  
  71. Summary of Ethernet on the Commodore
  72. 64.
  73. http://home.ica.net/leifb/commodore/eth
  74. ernet.html
  75.  
  76.  
  77. NETRACER
  78. TEXT taken from the Powerpoint
  79. presentation from the Cincinnati
  80. Commodore Computer Club Expo 2008.
  81.  
  82.  
  83. NETRACER
  84. A networked multiplayer game for the
  85. Commodore 64
  86. Leif Bloomquist
  87.  
  88. Cincinnati Commodore Computer Club
  89. Expo 2008
  90.  
  91. THE GOAL
  92. Create a real-time multiplayer action
  93. game for the Commodore 64 with network
  94. cart Build on network code written for
  95. Artillery Duel Network to add
  96. multiplayer capability
  97.  
  98. ============
  99.  
  100. GAMEPLAY
  101.  
  102. Simple race-around-the-track game
  103. against other players
  104. Points for distance traveled and laps
  105. completed/ Car takes damage and you
  106. slow down if you collide with the track edge or other players. Complete laps to
  107. fix damage
  108.  
  109. ================
  110.  
  111. Client server Architecture
  112.  
  113. Commodore 64Commodore 64
  114.  
  115. Commodore 64Java ServerCommodore 64
  116.  
  117. Commodore 64Commodore 64
  118.  
  119. ===============
  120.  
  121.  
  122. INTERNET PROTOCOLS
  123. Transport Control Protocol (TCP)
  124.  
  125.  Guaranteed delivery of data + packet
  126. ordering
  127.  Not implemented in ML yet, high
  128. overhead
  129.  A lot of work for a poor 1Mhz
  130. computer
  131.  
  132. User Datagram Protocol (UDP) 
  133.  Much simpler protocol than TCP
  134.  No guarantees  you do all the
  135. confirmation
  136.  Working implementations in 6502 ML
  137.  Used extensively in PC Internet gaming
  138.  
  139. =====================
  140.  
  141. SIMPLYFYING ASSUMPTIONS
  142. Minimal and static game world
  143. Lost packets are ignored  subsequent
  144. packets supercede old data anyway
  145. No ACKing required
  146. Maximum 8 players per server instance
  147. to keep to max. 8 sprites on screen
  148. No theoretical limit on # players
  149. otherwise
  150.  
  151. ====================
  152.  
  153. TECHNICAL CHALLENGES
  154. Keeping everything synchronized
  155. Mitigated by providing the illusion of
  156. a consistent game world (good enough)
  157. Raster time
  158. Solved by skipping network update for
  159. one frame when screen is scrolled
  160.  
  161. Internet Lag
  162. Could be mitigated by transmitting
  163. player speed and direction to each
  164. client, which can interpolate other
  165. players positions in between updates
  166.  
  167. =====================
  168.  
  169. SERVER
  170. Written in Java 5
  171. Platform independent
  172. Trivial UDP networking
  173. Receives and maintains all players
  174. positions on the track
  175. Updates all clients with information
  176. on other players that are currently
  177. visible
  178.  
  179. =====================
  180.  
  181. SERVER THREADS
  182. Receiver Thread
  183. Receives data from all clients
  184. Updates internal representation of
  185. game world
  186.  
  187. Updater Thread
  188. Maintains list of players (watches for
  189. drop-outs)
  190. Sends packet to all active players 20
  191. times per second with details of what
  192. sprites to display
  193.  
  194. =====================
  195.  
  196. CLIENT
  197. Written in 6502 machine language using
  198. the DASM cross-assembler
  199. Controls local players position and
  200. displays sprites representing other
  201. players based on updates from server
  202.  
  203. Tracks damage and score
  204. Transmits player stats (location,
  205. speed, etc.) to server 60 times per
  206. second
  207.  
  208. =====================
  209.  
  210. FUTURE PLANS AND IDEAS
  211. Enhance the game to add combat
  212. elements (weapons, other hazards)?
  213. Build on this experience to make a
  214. full-blown MMORPG on the C64 similar
  215. to Ultima?
  216.  
  217. <Your idea here!>
  218.  
  219. ========================
  220.  
  221. WHERE TO GET THE GAME
  222. Grab a copy on disk from me today
  223. Download latest version from
  224. www.petscii.com forums (Network Game
  225. Development section)
  226. Look for opponents on the #c64friends
  227. IRC channel  (www.c64friends.com)
  228.  
  229. =========================
  230.  
  231. CREDITS
  232. Leif Bloomquist  Game concept and
  233. framework
  234. Robin Harbron and Lasse rni
  235. Graphics/display code
  236. Oliver VieBrooks  Network library code
  237. Raymond Lejuez  Graphics
  238. Alexander Rotzsch - Music
  239. Ian Colquhoun  Server hosting
  240. Robin Harbron, Dave McMurtrie, Dave
  241. Hartman  Playtesting
  242.  
  243. Commodore Free = information taken
  244. from powerpoint slides used with
  245. Permission of Leif Bloomquist
  246.  
  247.  
  248.