Third Year Project - System Specification

David Reade 99755629

Tim Kelly 50221221

1.Introduction

For our project we have decided to implement a one player internet version of the popular strategy game Battleship. We intend to present the game as a java applet using AWT technology and to incorporate images and sounds to create a more realistic gaming effect. We have decided to work together to program this game instead of allocating specific programming roles because we have found programming together to be very constructive over the past year.

1.1.Scope of the document

The purpose of this document is to specify exactly what we hope to achieve in this project. We will layout a schedule that we intend to follow strictly and we will put forward the ideas which we have finalized for the development of this project. After analyzing our system further and researching implementation options we have decided on a final layout on which we feel we can develop this project.

1.2 Overview of the project

The original objective of this project was to develop either a one player or a multi-player version of the game, so our first decision was to decide which path to take. We had to choose whether to concentrate our efforts on developing a smart computer player using artificial intelligence or to choose the networks option and incorporate some client/server technology to develop a multi-player version.

The reason we chose to develop a game was to introduce ourselves to some gaming concepts and to gain some gaming experience. It is because of this that we have chosen to follow the A.I route rather than the networking route as both of our interests lie in artificial intelligence especially related to gaming.

Our original idea was to develop a java application and to incorporate and learn about developing GUI's but after some research we have found it to be much more feasible to implement the game as a java applet as the applet class will allow us more versatility when it comes to importing graphics and developing the GUI.

Summary of Objectives:

  1. To develop a relatively large java applet using AWT technology.
  2. Ceate a real, playable internet version of the game Battleship.
  3. To create a "smart" computer player using artificial technology
  4. To familiarise ourselves with and learn about adding graphics and sound to programs.
  5. To lay a foundation in gaming on which our fourth year project can be built
  6. To manage development of a large scale programming project.
2.Functional Description

 

We have researched the requirements of our project and because it is an internet game, it wont require any installation. The only requirement to run this applet will be to have Jdk 1.2 installed somewhere on the machine. The project will be programmed entirely in java as it is ideally suited to develop a small game to be run on the internet.


2.1 System Architecture

 

The architecture behind this project will be relatively straight forward. We intend to use what we have learned from OO programming to develop a hierarchy of classes and objects. We wont require any specialised hardware as we will be working solely with the jdk 1.2.2.

 

3. Subsystems

 

Developing the architecture of our project can be broken into three specific areas. These three areas layout how we intend to develop the project from start to finish

  • The applet

This is how we intend to implement our game. The main Battleship class will deal with setting up and initialising the applet through which the game will be played

  • The Gui

This is how we intend to display our game. The game will involve developing a grid on which we can place ships and some interface for the user to interact with.

  • The AI

For the AI part of our game we will implement an agenda class which will deal with generating children and storing data.

 

4. Project Schedule

 

 

WEEK 1: Research into developing a large scale project. We intend to develop some class diagrams to represent the world which we are going to create so that we can get an overall view of what will be needed.

 

WEEK 2: Research into applets, graphics, sounds, games. Develop an overall layout of the applet and decide on which features to use for the game. We also intend to have a good understanding of the working and implementation of GUI's

 

WEEK 3: By the end of week 3 we intend to have developed a skeleton framework of our project. We hope to have developed a working applet which will display our final layout including the grids and the ships.

 

WEEK 4: By now we intend to have developed the framework on which we can build our computer player. We will be researching the best AI techniques to use and developing our own ideas and possible heurist

ics.

WEEK 5: We intend to keep working on developing the AI for the rest of week five.

 

WEEK 6 : By now we intend to have our working version of the game either completed or in its final stages and by the end of week six we plan to have developed and produced all the documentation required for this project.

 

5. References

 

 

For research in developing this document we referred to a number of books on developing java applets over the web. It is from reading these books that we developed the specifications of this project.

  • ActiveJava - OO programming for the world wide web. (Freeman and Ince)
  • Java Black Book (Holzner)



-
Projects Semester 1

Project Preparation
OO Project
Databases
Multimedia Essay
Graphics Assignment

Project Semester 2

OO Models Z-specification
Multimedia Essay
Distributed Assignment I
Distributed Assignment II --

Final Year Project

1. Proposal
2. Functional Spec.
3. Technical Manual
4. User Manual

Third Year Project

1. Functional Spec.
2. Technical Manual
3. User Manual
4. Battleship Game

Course Description

Computer Applications

Subjects Semester 1

1. Object Oriented Metrics
2. Multimedia Retrieval
3. Computer Graphics
4. Database Theory
5. Project Preparation
6. Digital Signal Processing

Subjects Semester 2

1. Object Oriented Models
2. Distributed Prog.
3. Multimedia Technology
4. Final Year Project

Structure in Years

1. First Year
2. Second Year
3. Third Year
4. Fourth Year