CSE509 Project Report

Spacewar Game

Venu Karumuru

Paul E. McKenney

Abstract

These pages describe a Space War game that allows two players to control spaceships in a star's gravity well, shooting missiles at each other, and dropping mines in each others' paths.  The player with the last remaining ship wins.  The game is written to take advantage of Java objects and classes, and makes use of a number of design patterns.  This report describes the game's design and implementation, and compares this implementation to an earlier version of this game written in PDP-12 assembly language.

Table of Contents

  1. Project Proposal
    1. Proposal Abstract
    2. Basic Project Details
    3. Proposed Extensions to Basic Project
    4. Example Project Work Breakdown
    5. Language
  2. Project Implementation
    1. Features Implemented
    2. User Interface
    3. Appearance
    4. Design
      1. UML Diagrams
        1. Object Overview
        2. Universe Class and Collaborators
        3. SpaceObject and ControlledObject
        4. Helper Classes and Interfaces
      2. Patterns Used
    5. Implementation Strategy
      1. Overview
      2. Implementation Sequence
      3. Testing Orbital Dynamics
        1. Precession
        2. Delta-V at Perihelion and Apohelion
  3. Comparison to PDP-12 Implementation
    1. Source Code Size
    2. Development and Maintenance Costs
    3. Performance
    4. Accuracy
    5. Playability
    6. Complexity of Programming Environment
    7. Overall Suitability
  4. Lessons Learned
  5. Summary and Conclusions
  6. Source Code

Printer-friendly version.
Download tgz file.