artillery duel network

10
Artillery Duel Artillery Duel .net .net The first Internet game for the The first Internet game for the Commodore 64 Commodore 64 Leif Bloomquist Leif Bloomquist Toronto PET Users Group Toronto PET Users Group World of Commodore 2006 World of Commodore 2006

Upload: leif-bloomquist

Post on 18-Jun-2015

266 views

Category:

Technology


0 download

DESCRIPTION

The first Internet game for the Commodore 64!

TRANSCRIPT

Page 1: Artillery Duel Network

Artillery Duel Artillery Duel .net.net

The first Internet game for the Commodore 64The first Internet game for the Commodore 64

Leif BloomquistLeif BloomquistToronto PET Users GroupToronto PET Users Group

World of Commodore 2006World of Commodore 2006

Page 2: Artillery Duel Network

TCP/IP Stacks for the C64 in Machine LanguageTCP/IP Stacks for the C64 in Machine Language

ServicesTCP

DNS DHCP Echo

Transport UDP ICMP

Network IP

Addressing ARP

Ethernet driver CS8900A / LAN91C96

Ethernet interface RR-Net / TFE / ETH64

Green: Working Yellow: Partial Red: Unimplemented

Image courtesy Per OlofssonImage courtesy Per Olofsson

IP65 – ca65 cross-assemblerIP65 – ca65 cross-assembler

Netlib64 – DASM cross-assemblerNetlib64 – DASM cross-assembler

Page 3: Artillery Duel Network

Internet ProtocolsInternet Protocols

Transport Control Protocol (TCP) Transport Control Protocol (TCP) Guaranteed delivery of data + packet orderingGuaranteed delivery of data + packet ordering Not implemented in ML yet, high overheadNot implemented in ML yet, high overhead A lot of work for a poor 1Mhz computerA lot of work for a poor 1Mhz computer

User Datagram Protocol (UDP) User Datagram Protocol (UDP) Much simpler protocol than TCPMuch simpler protocol than TCP No guarantees – you do all the confirmationNo guarantees – you do all the confirmation Working implementations in 6502 MLWorking implementations in 6502 ML Used extensively in PC Internet gamingUsed extensively in PC Internet gaming

Page 4: Artillery Duel Network

Network Apps for the C64Network Apps for the C64

Network apps so far have focused on utilities:Network apps so far have focused on utilities: Web Browsing / Telnet etc. (Contiki) Web Browsing / Telnet etc. (Contiki)

Disk/Program Transfer (Warpcopy64)Disk/Program Transfer (Warpcopy64)

Terminal Software (GuruTerm)Terminal Software (GuruTerm)

Remote debugging (CodeNet, UDPSlave)Remote debugging (CodeNet, UDPSlave)

Where are the games?Where are the games?

Page 5: Artillery Duel Network

Simplifying Assumptions for First AttemptSimplifying Assumptions for First Attempt

Turn-based game, not timing criticalTurn-based game, not timing critical

No central server – peer-to-peerNo central server – peer-to-peer

Only one packet “in flight” on network at Only one packet “in flight” on network at any one timeany one time

Minimal game “world” and playMinimal game “world” and play

Page 6: Artillery Duel Network

Gam

e Lo

gic

Flo

wch

art

Gam

e Lo

gic

Flo

wch

art

Page 7: Artillery Duel Network

Very Simple ProtocolVery Simple Protocol

Page 8: Artillery Duel Network

Where to get the Game Where to get the Game

Grab a copy on disk from me todayGrab a copy on disk from me today

Download latest version from Download latest version from www.petscii.comwww.petscii.com forums forums (Network Game Development section)(Network Game Development section)

Look for opponents on the #c64friends IRC Look for opponents on the #c64friends IRC channel (channel (www.c64friends.comwww.c64friends.com) )

Page 9: Artillery Duel Network

Credits: Credits:

Leif Bloomquist – Game codeLeif Bloomquist – Game code

Oliver VieBrooks – Network library codeOliver VieBrooks – Network library code

Thurstan Johnston – TestingThurstan Johnston – Testing

Raik Picheta – MusicRaik Picheta – Music

Also thanks to Dustin Chambers, Robin Harbron for Also thanks to Dustin Chambers, Robin Harbron for ideas and assistanceideas and assistance

Page 10: Artillery Duel Network

Demo Time! Demo Time!