Page 1 of 43 “Technologies and Architecture for Networked Multiplayer Game Development” an Investigation by Luke Salvoni

Page 1 of 43 “Technologies and Architecture for Networked Multiplayer Game Development” an Investigation by Luke Salvoni

SHEFFIELD HALLAM UNIVERSITY FACULTY OF ARTS, COMPUTING, ENGINEERING AND SCIENCES “Technologies and Architecture for Networked Multiplayer Game Development” an investigation by Luke Salvoni April 2010 Supervised by: Dr. Pete Collingwood Page 1 of 43 Abstract Multiplayer video games have been in existence for over three decades, where real time network games were first developed on a device originally designed as an electronic learning tool. Since then, there has been explosive growth in computer network communications which led to mainstream multiplayer titles developing Local Area Network (LAN) versions of their games. Today, network gaming can be conducted using a variety of different protocols and on diverse architecture. But how do they differ from one another? Which architecture is the most appropriate? Which methodology should be selected for game development, and what technologies are used? This report will explore an array of research and existing texts to learn more about these areas, in hope of contributing to the current body of knowledge, and for those interested in the development of networked multiplayer games. Page 2 of 43 Table of Contents Abstract ............................................................................................................ 2 Glossary of Terms............................................................................................ 4 1 – Project Overview ........................................................................................ 5 1.1 Background ............................................................................................. 5 1.2 Aims and Objectives ............................................................................... 6 2 – Technology and Strategy ........................................................................... 8 2.1 Introduction ............................................................................................. 8 2.2 Game Development Technologies ......................................................... 8 2.3 Project Management............................................................................. 12 2.4 Programming Languages for Game Development ............................... 14 3 – Networking and Protocols ........................................................................ 19 3.1 Aims and Objectives ............................................................................. 19 3.2 Protocol Elaboration ............................................................................. 19 3.3 Network Software Architectures ........................................................... 21 3.3 Networking Technical Challenges ........................................................ 26 4 – Conclusions ............................................................................................. 31 4.1 Results and Recommendations ............................................................ 31 4.2 Future Development ............................................................................. 33 5 – Reflection ................................................................................................. 34 5.1 Aims , Objectives and Successes ......................................................... 34 5.2 Research Undertaken ........................................................................... 34 5.3 Problems Encountered ......................................................................... 35 6 – References .............................................................................................. 36 7 – Bibliography ............................................................................................. 41 8 – Appendices .............................................................................................. 42 8.1 Appendix A – Original Project Specification.......................................... 42 Page 3 of 43 Glossary of Terms API - Application Programming Interface. The interface of a software program that allows other applications to interact with it. FPS - First Person Shooter, eg Doom, Half-Life. IDE - Integrated Development Environment. A piece of computer software used in coding applications. IP - Internet Protocol. The network protocol within the TCP/IP suite. LAN - Local Area Network. The name given to a small group of connected computers, in an office for example. MUD - Multi-User Dungeon. A small virtual game world in which players assume fictional roles. OS - Operating System, eg Windows, Linux. P2P - Peer-to-peer. A type of network architecture, where computers are connected to each other and not to a server. PM - Project Management. RPG - Role-Playing Game, eg Diablo, World of Warcraft. RTS - Real-Time Strategy game, eg Age of Empires, Command and Conquer. TCP - Transmission Control Protocol. One of the transport protocols in the TCP/IP suite. TCP/IP - Known as the Internet Protocol suite, responsible for most communication over the Internet. TOS - Terms Of Service. A list of rules that someone would be expected to read and adhere to, before installing a piece of software or game. UDP - User Datagram Protocol. One of the transport protocols in the TCP/IP suite. VB - Visual Basic. A programming language, typically used in Windows application development. Page 4 of 43 1 – Project Overview 1.1 Background The first documented multiplayer game can be traced back to American physicist William Hinginbotham in 1958, for his Tennis simulation game, aptly named Tennis for Two. Hinginbotham worked at the Brookhaven National Laboratory, (BNL) New York, where they had regular visitor days in the autumn. This game was designed to show the capabilities of the instruments that Hinginbotham worked with, as he knew the visitors would be far more interested in their display if they were able to interact with it. (US Department of Energy, 1981) Although Tennis for Two was only a short-lived exhibit for the BNL visitors between 1958 and 1959, the next multiplayer game of their generation was about to make an appearance. Spacewar was developed for the new PDP-1 (Programmed Data Processor) computer that was installed at MIT in 1961 and also allowed for two players. (Armitage, Branch and Claypool, 2006) As with Hinginbotham‟s creation, Spacewar was not commercially viable at this stage as the MIT computer it was run off cost the equivalent of approximately $100,000 in today‟s markets. Less than one year before the birth of Spacewar, professors and students at the University of Illinois created PLATO – Programmed Logic for Automated Teaching Operations, a computer-based educational development and delivery system. (PLATO User‟s Guide, 1981) The first iteration of PLATO, launched internally in 1960 allowed for a single computer terminal to connect to a central mainframe to deliver curriculum material. Future versions of the system in the years ahead allowed for multiple machines in a room to connect to the mainframe, and by 1972 a new generation of mainframes was in production that would eventually support up to one thousand concurrent users. (Woolley, 1994) Some of PLATO‟s other initial features included email and split-screen instant messaging – and games. Spacewar even appeared on PLATO as well as various simulation titles. These early client-server interactions were Page 5 of 43 performed by the Telnet application, which uses the Transmission Control Protocol (TCP) connection to transmit data. (Postel and Reynolds, 1983) This foray in producing small networked applications and games paved the way for Multi-User Dungeons. (MUD) This term was coined in 1978 by Computer Science undergraduate Roy Trubshaw. It was the name given to the virtual world he developed using the MACRO-10 assembler on a DecSystem-10 mainframe at Essex University, England. (Bartle, 2003) Some of the ideas presented to Trubshaw for the game came from friends at the University, such as Richard Bartle – who joined forces with Trubshaw to code the remainder of the game engine while he finished his degree. These types of multiplayer games became increasingly popular throughout the 1970‟s and 1980‟s, which resulted in a mass of MUD clones and arcade multiplayer games being developed and released. As time passed, the exponential rate at which technology was growing meant for a new era of problems for programmers and developers – network architectures were evolving, the World Wide Web was being drafted and the power of personal computers continued to match the specifications as laid out in Moore‟s law; stating that the number of transistors in integrated circuits would roughly double every two years. (Moore, 1965) These new technologies are still advancing, which has led to a lack of research into networked multiplayer games and their related components. The aim of this report is to explore further these areas and to contribute to the current collection of ideas and techniques that this technology uses. 1.2 Aims and Objectives As mentioned above, initial investigations show there appears to be a lack of research into network software architectures and protocols for multiplayer gaming, and in game development technologies and processes. This is perhaps due to the secretive nature of most games developers who do not wish to share details on their infrastructure or development processes – understandably so. Gaming, although now worth more than DVD and music sales combined and Page 6 of 43 over four times the cinema box office takings in the UK, (Chatfield, 2009) is still not considered as an established academic route. The games

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    43 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us