David Reade 99755629
Tim Kelly 50221221
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.
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.
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:
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.
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.
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
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
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.
For the AI part of our game we will implement an agenda class which will deal with generating children and storing data.
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
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.
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.