RHS  =>  Allan => Prog2 Last update:  08/21/2003 19:12
WebMaster allanhn@rhs.dk

Arcade Game

3rd semester programming case-assignment

ToC
Introduction
The arcade game
The prototype
Milestones
Milestone 1
Milestone 2
Milestone 3

Introduction (ToC)
The purpose of this assignment is to “learn by practice”. It is not to create a fancy multi-functional arcade game with thousands of amazing features. Please remember this throughout the semester......

During the semester we’ll go a little deeper into topics you=re already familiar with and we’ll also work with new stuff - some of it is considered “advanced”. The main theme is “How to create OO-programs of high quality”.

This case-assignment makes sure that you can try some (hopefully most) of the theory in practice. So let me remind you again that it=s not about creating “the game of the year” - it=s about trying “best practices” and understand how and (especially) why. That=s why we’ll use your work as examples when discussing quality, how and when to get it.

The arcade game (ToC)
Basically the game is a traditionally “Spaceship-shoot
=em-down” game! You control a spaceship at the bottom of a rectangular field. The ship can move back and forth and it can shoot!! Towards it floats a number of objects B probably of varying kind (shape, speed and behaviour). When an object is hit by one (or more) shot it “dies” and you gain points (depending on the kind of object). On the other hand you’ll “die” if an object collides with your spaceship.

In a future final version numerous of features can be added. Colour, sound, different levels, exploding objects, more than one player and so on. Maybe the spaceship is able to move in all directions and maybe the objects can shoot back B the sky is the limit!

The prototype (ToC)
During 3rd semester we=ll only have the time for a basic simple prototype (maybe we’ll continue the work on 4th semester). Please respect this fact! If you spend too much time adding the advanced features you’ll end up reading obscure documentation from the Java API concerning highly specialised and Ahard to use@ functions instead of focussing on quality. You’ll be an expert in creating fancy programs that is hard to read, understand, test, expand, re-use or move to other platforms or user-interfaces. Instead try to make a small, limited but “state of the art” program. If you can do that you’ll find that adding the fancy features will be as easy as shouting “Java is beautiful” in Danish (hint: “Java er smukt”).

As usually you’ll find that the best strategy is to start with a very simple “game” with very few features. Then add a feature one at the time B if something breaks or is hard to get to work properly all you have to do is to remove the latest feature! Then try again or skip this feature and add another!

Please note that seamless animation or smooth graphics is not relevant at this stage. If your user-interface looks ugly it=s OK as long as your code is nice and neat!!

Milestones (ToC)
In order to be able to discuss your progress in class your manager (that
=s me....) will put up some “milestones” throughout the semester. These milestones will in a very brief and broad way describe the things you have to have implemented (or made decisions about). Strictly speaking they=re not really milestones (as in a system development context), but our focus is on the code rather than on the method.

No one should program alone B ever!
Pair-programming is a must in this assignment. Every time you
=re caught alone in front of your code you’ll have to pay a 5 DKR fine B the huge amount accumulated this way will be spent on a buffet for the class and it=s teachers (

 - Please have fun……..

 

Milestone 1 (ToC)
Deadline: 06.09.2002
Docs: Consider the structure of your program and the classes you’ll need. A “rough” class-diagram or equivalent is to serve as documentation.
Code: Your program can show the rectangular field with your “space-ship” (e.g. a triangle). Maybe the space-ship can move left and right when pressing left-arrow key and right-arrow key.

Milestone 2 (ToC)
Deadline: 13.09.2002
Docs: Class-diagram updated, plan for next two weeks made.
Code:  Your program can show the rectangular field with your “space-ship”, the ship can move and “shoot”.

Milestone 3
(ToC)
Deadline: 25.10.2002
Docs: Class-diagram updated, plan for next two weeks made.
Code:  Your code is following standards for "best practice" and is well documented!
Two different types of "falling" enemies are moving towards your ship. They must differ in look and movements (e.g. speed).
When a enemy is "hit" by a bullet there must be some action (e.g. a counter or the enemy dissapears from the field)

 

 

 

 

 

 

 

 

 

 

 

 

 


Counter: