SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Multiplayer Roguelike Game for the Commodore
64
Leif Bloomquist World of Commodore 2017
Background
• Ethernet+TCP/IP networking solutions available
for the Commodore 64 for over 10 years!
• The Final Ethernet, RR-Net, FB-Net, 64NIC+, ETH64…
• Plenty of tools – file transfer, terminals, chat,
cross-development, web browsers, etc.
• Where are the games?
• (Fortunately, I like writing C64 games)
Evolutionof C64 MultiplayerGames
Artillery Duel Network (2007)
• Two players
• Peer-to-Peer
• Turn-based
NetRacer (2008)
• Introduced a server
• Static game world
• Maximum 8 players
• Real-time
Vortex 2 (2014)
• Introduced server-controlled
enemies
• Dynamic game world (in work)
• Massive game world
(10,000 screens)
• Unlimited players
• Real-time
This game (2018)
• Server-controlled enemies
• Dynamic, interactive game world
• Added third dimension (depth)
• Object persistence
• Unlimited players
• Real-time
• Source code for all of these is available on GitHub – use them as a basis for your own games!
Evolutionof C64 MultiplayerGames
• Space Command by Dan “Ragooman” Ragonti and Jefferey “arkaxow” Brace
• Eight-Player Simultaneous real-time “Artillery Duel”-type game, with C64+SuperCPU server!
Inspiration
NetHack (Unix/DOS)
Forest of Doom (Coco)
Gateway to Apshai (C64)
Demons of Dex (VIC20/C64)
Minima (C64)
“TheGameWith No Name”(yet!)
• “Roguelikes” aka “Dungeon Crawlers” are one
of my favorite genres of games!
• What if…the other characters in the dungeon
were other players that you could…
• Interact with?
• Go on quests together?
• Team up against monsters?
• Work together to solve puzzles?
• Leave each other tools, clues, share equipment?
Some deviationsfrom thestandard“RogueLike”
• Real-time (not turn-based)
• One single, shared instance
• Multiplayer
• Object persistence
• Monster persistence (with respawn)
• “Multi-User Dungeon”
ImplementationDetails
• Server:
• Written in Java 8
• ~80% code re-use from Vortex
• C64 Client:
• C64 client written in 6502 assembler (ca65)
• IP65 network stack – RR-Net, 64NIC+
• UDP with simple ACKs
Networking:
• Screen streamed to clients on change, or 1 Hz
MultipleClients!
Partially Implemented:
• Commodore 64 (custom color graphics, SID sound)
• Telnet – Linux or PuTTY (ASCII/UTF-8, monochrome)
• VT100/DEC Terminals (ANSI, monochrome)
• (a bit buggy)
Future:
• Tandy Coco? Retro Innovations CoCoNIC…
• Apple II (ATASCII) - Uthernet II
• VIC 20 (PETSCII color graphics, VIC-I sound)?
• Atari?
A PeekUnder the Hood
Model-View-ControllerArchitecture
Model
View Controller
- Data structure with all maps,
object, and entity locations
- Logic for what actions are
allowed
Entity Actions
(Players, Monsters )
Representation of
immediate area
Translations
(PETSCII, ASCII, ANSI,
UTF-8, etc.) Players
Server
AI
Socket
Interface
(TCP/UDP)
Entity Behaviour“AI”:FiniteStateMachine
Attacking
Retreating
Idle
Chasing
Wandering
• Tweaking the state transition conditions gives the monsters different behaviours and “personalities”
GameLevels
• Mix of hand-edited and procedurally generated
• Initial target is 10 levels
• Still many gameplay details to be worked out
ThankYou!
• Advice and motivation: Robin Harbron
• Networking code: Per Olofsson, Jonno Downes
• Playtesting: Andreas Bloomquist, Glenn Holmer, Tiffany Antopolski
• Graphics: “q0w/Atlantis”
• Music and SFX: “snabel”
• Coco porting motivation: D. Bruce Moore
• /r/roguelikedev community on Reddit
Demo!

Weitere ähnliche Inhalte

Was ist angesagt?

Next generation (ng) firewalls
Next generation (ng) firewallsNext generation (ng) firewalls
Next generation (ng) firewalls
Simon Bennett
 
Git Money
Git MoneyGit Money
Git Money
Tim N
 

Was ist angesagt? (6)

More Mad Science for the Commodore 64 (ECCC 2015)
More Mad Science for the Commodore 64 (ECCC 2015)More Mad Science for the Commodore 64 (ECCC 2015)
More Mad Science for the Commodore 64 (ECCC 2015)
 
اجماع، فورک ها و انشقاق
اجماع، فورک ها و انشقاقاجماع، فورک ها و انشقاق
اجماع، فورک ها و انشقاق
 
Deterministic Simulation - What modern online games can learn from the Game B...
Deterministic Simulation - What modern online games can learn from the Game B...Deterministic Simulation - What modern online games can learn from the Game B...
Deterministic Simulation - What modern online games can learn from the Game B...
 
Next generation (ng) firewalls
Next generation (ng) firewallsNext generation (ng) firewalls
Next generation (ng) firewalls
 
Git Money
Git MoneyGit Money
Git Money
 
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
 

Ähnlich wie Multiplayer RogueLike Game for the Commodore 64

GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming SystemGamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
Academia Sinica
 

Ähnlich wie Multiplayer RogueLike Game for the Commodore 64 (20)

Massively Social != Massively Multiplayer
Massively Social != Massively MultiplayerMassively Social != Massively Multiplayer
Massively Social != Massively Multiplayer
 
Amiga Cracktro Programming
Amiga Cracktro ProgrammingAmiga Cracktro Programming
Amiga Cracktro Programming
 
Tracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore ComputersTracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore Computers
 
Online games: a real-time problem for the network
Online games: a real-time problem for the networkOnline games: a real-time problem for the network
Online games: a real-time problem for the network
 
Game On! Exploring Microservices with a Text-Based Adventure Game
Game On! Exploring Microservices with a Text-Based Adventure GameGame On! Exploring Microservices with a Text-Based Adventure Game
Game On! Exploring Microservices with a Text-Based Adventure Game
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming SystemGamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
 
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo YueUGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
 
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
 
Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64
 
A brief introduction to making your own (Internet of Things) Thing
A brief introduction to making your own (Internet of Things) ThingA brief introduction to making your own (Internet of Things) Thing
A brief introduction to making your own (Internet of Things) Thing
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
 
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 
Single chip computer for iot application
Single chip computer for iot application Single chip computer for iot application
Single chip computer for iot application
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 games
 
Photon Session / Unite12 Conference
Photon Session / Unite12 ConferencePhoton Session / Unite12 Conference
Photon Session / Unite12 Conference
 
Raspberry Pi Gaming Rig
Raspberry Pi Gaming RigRaspberry Pi Gaming Rig
Raspberry Pi Gaming Rig
 
Retrocomputers as Hacking Platforms
Retrocomputers as Hacking PlatformsRetrocomputers as Hacking Platforms
Retrocomputers as Hacking Platforms
 
WOver
WOverWOver
WOver
 

Mehr von Leif Bloomquist

Motion-Sensing Gaming Glove for the Commodore 64
Motion-Sensing Gaming Glove for the Commodore 64Motion-Sensing Gaming Glove for the Commodore 64
Motion-Sensing Gaming Glove for the Commodore 64
Leif Bloomquist
 

Mehr von Leif Bloomquist (17)

Audible Objects
Audible ObjectsAudible Objects
Audible Objects
 
VIC MIDI (World of Commodore 2015)
VIC MIDI (World of Commodore 2015)VIC MIDI (World of Commodore 2015)
VIC MIDI (World of Commodore 2015)
 
Wi-Fi Modem For the Commodore 64
Wi-Fi Modem For the Commodore 64Wi-Fi Modem For the Commodore 64
Wi-Fi Modem For the Commodore 64
 
Marc Garneau Collegiate Institute
Marc Garneau Collegiate InstituteMarc Garneau Collegiate Institute
Marc Garneau Collegiate Institute
 
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
 
Motion-Sensing Gaming Glove for the Commodore 64
Motion-Sensing Gaming Glove for the Commodore 64Motion-Sensing Gaming Glove for the Commodore 64
Motion-Sensing Gaming Glove for the Commodore 64
 
Wifi For the Commodore 64 (ECCC 2013)
Wifi For the Commodore 64 (ECCC 2013)Wifi For the Commodore 64 (ECCC 2013)
Wifi For the Commodore 64 (ECCC 2013)
 
Software Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace IndustrySoftware Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace Industry
 
CANADA IN SPACE
CANADA IN SPACECANADA IN SPACE
CANADA IN SPACE
 
TCP/IP For Engineers
TCP/IP For EngineersTCP/IP For Engineers
TCP/IP For Engineers
 
Real-Time Clock for Commodore PETs
Real-Time Clock for Commodore PETsReal-Time Clock for Commodore PETs
Real-Time Clock for Commodore PETs
 
Internet Technology for the Commodore 64
Internet Technology for the Commodore 64Internet Technology for the Commodore 64
Internet Technology for the Commodore 64
 
Commodore 64 Telnet BBS Server
Commodore 64 Telnet BBS ServerCommodore 64 Telnet BBS Server
Commodore 64 Telnet BBS Server
 
Artillery Duel Network
Artillery Duel NetworkArtillery Duel Network
Artillery Duel Network
 
World of Commodore 2009 Posters
World of Commodore 2009 PostersWorld of Commodore 2009 Posters
World of Commodore 2009 Posters
 
NetRacer for the Commodore 64
NetRacer for the Commodore 64NetRacer for the Commodore 64
NetRacer for the Commodore 64
 
The Dancer From The Dance: Mapping Motion With Sound Via Radio Transmission
The Dancer From The Dance:  Mapping Motion With Sound Via Radio TransmissionThe Dancer From The Dance:  Mapping Motion With Sound Via Radio Transmission
The Dancer From The Dance: Mapping Motion With Sound Via Radio Transmission
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Multiplayer RogueLike Game for the Commodore 64

  • 1. Multiplayer Roguelike Game for the Commodore 64 Leif Bloomquist World of Commodore 2017
  • 2. Background • Ethernet+TCP/IP networking solutions available for the Commodore 64 for over 10 years! • The Final Ethernet, RR-Net, FB-Net, 64NIC+, ETH64… • Plenty of tools – file transfer, terminals, chat, cross-development, web browsers, etc. • Where are the games? • (Fortunately, I like writing C64 games)
  • 3. Evolutionof C64 MultiplayerGames Artillery Duel Network (2007) • Two players • Peer-to-Peer • Turn-based NetRacer (2008) • Introduced a server • Static game world • Maximum 8 players • Real-time Vortex 2 (2014) • Introduced server-controlled enemies • Dynamic game world (in work) • Massive game world (10,000 screens) • Unlimited players • Real-time This game (2018) • Server-controlled enemies • Dynamic, interactive game world • Added third dimension (depth) • Object persistence • Unlimited players • Real-time • Source code for all of these is available on GitHub – use them as a basis for your own games!
  • 4. Evolutionof C64 MultiplayerGames • Space Command by Dan “Ragooman” Ragonti and Jefferey “arkaxow” Brace • Eight-Player Simultaneous real-time “Artillery Duel”-type game, with C64+SuperCPU server!
  • 5. Inspiration NetHack (Unix/DOS) Forest of Doom (Coco) Gateway to Apshai (C64) Demons of Dex (VIC20/C64) Minima (C64)
  • 6. “TheGameWith No Name”(yet!) • “Roguelikes” aka “Dungeon Crawlers” are one of my favorite genres of games! • What if…the other characters in the dungeon were other players that you could… • Interact with? • Go on quests together? • Team up against monsters? • Work together to solve puzzles? • Leave each other tools, clues, share equipment?
  • 7. Some deviationsfrom thestandard“RogueLike” • Real-time (not turn-based) • One single, shared instance • Multiplayer • Object persistence • Monster persistence (with respawn) • “Multi-User Dungeon”
  • 8. ImplementationDetails • Server: • Written in Java 8 • ~80% code re-use from Vortex • C64 Client: • C64 client written in 6502 assembler (ca65) • IP65 network stack – RR-Net, 64NIC+ • UDP with simple ACKs Networking: • Screen streamed to clients on change, or 1 Hz
  • 9. MultipleClients! Partially Implemented: • Commodore 64 (custom color graphics, SID sound) • Telnet – Linux or PuTTY (ASCII/UTF-8, monochrome) • VT100/DEC Terminals (ANSI, monochrome) • (a bit buggy) Future: • Tandy Coco? Retro Innovations CoCoNIC… • Apple II (ATASCII) - Uthernet II • VIC 20 (PETSCII color graphics, VIC-I sound)? • Atari?
  • 11. Model-View-ControllerArchitecture Model View Controller - Data structure with all maps, object, and entity locations - Logic for what actions are allowed Entity Actions (Players, Monsters ) Representation of immediate area Translations (PETSCII, ASCII, ANSI, UTF-8, etc.) Players Server AI Socket Interface (TCP/UDP)
  • 12. Entity Behaviour“AI”:FiniteStateMachine Attacking Retreating Idle Chasing Wandering • Tweaking the state transition conditions gives the monsters different behaviours and “personalities”
  • 13. GameLevels • Mix of hand-edited and procedurally generated • Initial target is 10 levels • Still many gameplay details to be worked out
  • 14. ThankYou! • Advice and motivation: Robin Harbron • Networking code: Per Olofsson, Jonno Downes • Playtesting: Andreas Bloomquist, Glenn Holmer, Tiffany Antopolski • Graphics: “q0w/Atlantis” • Music and SFX: “snabel” • Coco porting motivation: D. Bruce Moore • /r/roguelikedev community on Reddit
  • 15. Demo!