Title :
Development issues for a networked, object oriented gaming architecture (NOOGA) teaching tool
Author :
Astrachan, Owen L. ; Bernstein, David ; English, Andrew ; Koh, Benjamin
Abstract :
We describe the outcome and experience of trying to develop an architecture and framework for a Networked Object Oriented Gaming Architecture (NOOGA). The aim of this project was to create an easily extensible framework that facilitates teaching students about object oriented design, design patterns, and software engineering in an interesting context. Our original goal was to develop a game server to serve multiplayer games such as battleship, dots, and Boggle. We planned to implement these three games, but to design an extensible server that would permit new games to be added to the server framework. The NOOGA framework would be studied and used from both a client and server standpoint. Students would first develop clients that would connect to the server to play a specific game and would, in more advanced courses, add new games to the server. This paper focuses on the development process and design decisions made during development. We initially decided to implement the client/server model using Java´s Remote Method Invocation (RMI). Later we developed a protocol for communicating between the server and clients using low-level sockets to facilitate client implementation in C and C++. We describe the success in developing an extensible server, but describe failures in ensuring robustness in the face of faulty clients. Since the NOOGA server was intended to facilitate student development of networked clients, our original goals were not fully realized.
Keywords :
Java; client-server systems; computer games; computer science education; network servers; object-oriented programming; teaching; Boggle; Java´s Remote Method Invocation; NOOGA teaching tool; Networked Object Oriented Gaming Architecture; battleship; client and server standpoint; client implementation; client/server model; computer science education; design decisions; design patterns; dots; extensible server; faulty clients; game server; low-level sockets; multiplayer games; networked clients; object oriented design; protocol; software engineering; students; teaching; Computer architecture; Education; Java; Network servers; Object oriented modeling; Process design; Protocols; Sockets; Software design; Software engineering;
Conference_Titel :
Frontiers in Education, 2002. FIE 2002. 32nd Annual
Print_ISBN :
0-7803-7444-4
DOI :
10.1109/FIE.2002.1157952