Instructor: | Prof. Chris GauthierDickey |
Class Times: | Tue, Thu from 2:00pm to 3:50pm |
Room: | John Greene Hall, 315 |
Prerequisites: | COMP 3621: Computer Networking or equivalent, C/C++ and socket programming |
In this course, we will investigate current multiplayer game technology and compare it to the current research in the area. We will also implement a peer-to-peer networking protocol for a multiplayer game to measure performance in terms of messaging and user satisfaction.
As graduate students, you are expected to think and write both critically and scientifically. As such, you will be expected to analyze research papers, write scientific summaries, and present these papers in class. While games are a fun topic to study, we must strive to be as scientific as possible.
Multiplayer computer games are some of the most complex applications designed, requiring real-time rendering, networking, artificial intelligence, physics simulations, and careful game design in order to be both popular and playable by humans.
In this course, we will look at one important aspect of games: networking. Ever since IBM coined the term "client/server", this architecture has been the dominant paradigm for most networked applications, including games. The client/server architecture is fairly easy to program, can scale reasonably well, though it must be typically overprovisioned to handle peak demands.
The main question we must ask is whether the client/server architecture should continue to be the primary technology that enables multiplayer games. To answer this question, we will evaluate current multiplayer game technology, read current game research papers, and implement a peer-to-peer networking protocol in a multiplayer game.