home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 21
/
Commodore_Free_Issue_21_2008_Commodore_Computer_Club.d64
/
t.netracer
< prev
next >
Wrap
Text File
|
2023-02-26
|
5KB
|
248 lines
u
NetRacer
http://home.ica.net/leifb/
commodore/racer/
First ever Commodore lan party?
http://games.slashdot.org/article.pl?si
d=08/07/06/2114221&from=rss
Cincinnati Commodore Computer Club
2008 held what most are calling the
First Commodore 64 Lan party with
Netracer the first multiplayer
Internet game for the Commodore 64!z
Overview:
NetRacer is a simple racing game
written to demonstrate the potential
of multiplayer games over the Internet
with the C64. It builds on our earlier
two-player effort Artillery Duel with
realtime gameplay and the addition of
a server. The game was unveiled at the
Cincinnati Commodore Computer Club
Expo 2008. Check out the Powerpoint
presentation about the project and
pictures of the event & setup.
Features:
Eight simultaneous players over the
Internet or LAN
Scrolling graphics
Sound effects
Joystick control (Port 2)
Technical Details:
UDP-based communication (don't forget
to forward port 3000 in your
router/firewall to your C64)
Written in DASM assembler
Uses netlib64, which in turn supports
the RR-Net, FB-Net, or ETH64
cartridges.
Server is written in Java 5.
Download:
NetRacer 1.0 from Commodore Scene
Database.
http://noname.c64.org/csdb/release/?id=
67873
Please note that the VICE emulator
isn't yet supported, as its RR-Net
emulation is a bit buggy. Source code
for the client and server are
available, contact Leif for a copy.
Links:
Discuss the game's development on the
C64 Network Game Development forum.
http://jledger.proboards19.com/index.cg
i?board=c64ngd
Look for opponents on the C64friends
IRC chat http://www.c64friends.com/
or the #netracer channel on NewNet.
http://www.newnet.net/newnewnet/
index.php
Summary of Ethernet on the Commodore
64.
http://home.ica.net/leifb/commodore/eth
ernet.html
NETRACER
TEXT taken from the Powerpoint
presentation from the Cincinnati
Commodore Computer Club Expo 2008.
NETRACER
A networked multiplayer game for the
Commodore 64
Leif Bloomquist
Cincinnati Commodore Computer Club
Expo 2008
THE GOAL
Create a real-time multiplayer action
game for the Commodore 64 with network
cart Build on network code written for
Artillery Duel Network to add
multiplayer capability
============
GAMEPLAY
Simple race-around-the-track game
against other players
Points for distance traveled and laps
completed/ Car takes damage and you
slow down if you collide with the track edge or other players. Complete laps to
fix damage
================
Client server Architecture
Commodore 64Commodore 64
Commodore 64Java ServerCommodore 64
Commodore 64Commodore 64
===============
INTERNET PROTOCOLS
Transport Control Protocol (TCP)
Guaranteed delivery of data + packet
ordering
Not implemented in ML yet, high
overhead
A lot of work for a poor 1Mhz
computer
User Datagram Protocol (UDP)
Much simpler protocol than TCP
No guarantees you do all the
confirmation
Working implementations in 6502 ML
Used extensively in PC Internet gaming
=====================
SIMPLYFYING ASSUMPTIONS
Minimal and static game world
Lost packets are ignored subsequent
packets supercede old data anyway
No ACKing required
Maximum 8 players per server instance
to keep to max. 8 sprites on screen
No theoretical limit on # players
otherwise
====================
TECHNICAL CHALLENGES
Keeping everything synchronized
Mitigated by providing the illusion of
a consistent game world (good enough)
Raster time
Solved by skipping network update for
one frame when screen is scrolled
Internet Lag
Could be mitigated by transmitting
player speed and direction to each
client, which can interpolate other
players positions in between updates
=====================
SERVER
Written in Java 5
Platform independent
Trivial UDP networking
Receives and maintains all players
positions on the track
Updates all clients with information
on other players that are currently
visible
=====================
SERVER THREADS
Receiver Thread
Receives data from all clients
Updates internal representation of
game world
Updater Thread
Maintains list of players (watches for
drop-outs)
Sends packet to all active players 20
times per second with details of what
sprites to display
=====================
CLIENT
Written in 6502 machine language using
the DASM cross-assembler
Controls local players position and
displays sprites representing other
players based on updates from server
Tracks damage and score
Transmits player stats (location,
speed, etc.) to server 60 times per
second
=====================
FUTURE PLANS AND IDEAS
Enhance the game to add combat
elements (weapons, other hazards)?
Build on this experience to make a
full-blown MMORPG on the C64 similar
to Ultima?
<Your idea here!>
========================
WHERE TO GET THE GAME
Grab a copy on disk from me today
Download latest version from
www.petscii.com forums (Network Game
Development section)
Look for opponents on the #c64friends
IRC channel (www.c64friends.com)
=========================
CREDITS
Leif Bloomquist Game concept and
framework
Robin Harbron and Lasse rni
Graphics/display code
Oliver VieBrooks Network library code
Raymond Lejuez Graphics
Alexander Rotzsch - Music
Ian Colquhoun Server hosting
Robin Harbron, Dave McMurtrie, Dave
Hartman Playtesting
Commodore Free = information taken
from powerpoint slides used with
Permission of Leif Bloomquist