java game代写: CE218 Space Ship Treasure Hunt

CE218 Resit Assignment – Space Ship Treasure Hunt

Introduction

The aim of this assignment is the design and implementation of a single-player 2D video computer game on the theme of “space ship treasure hunt”. The player is in control of a space ship that tries to collect treasures while dodging space debris, navigating around obstacles, etc

Part A: Game Basics

The first part of the assignment is to get some basic, single-player game mechanics working to a high standard. Expectations for this part are:

  • An easily manoeuvrable space ship
  • Treasures for the space ship to pick up
  • Flying space debris that can damage the ship
  • Obstacles that need to be navigated around
  • Proper game rules (loss of life, scoring of points)
  • Multiple lives and/ or multiple game levels. Players should proceed to the next level after they have collected all treasures on the current level

Part B: Further Game Features

You may decide what to do here, but start off by being realistic about what is achievable within the given time frame. Here are some ideas for your inspiration:

  • Visual and sound effects
  • A protective, rechargeable “energy shield” which keeps the ship safe from collision damage as long as there is sufficient shield power left and the shield is switched on.
  • Other pick-ups, for example a speed-booster.
  • Procedurally-generated game content
  • Timers which restrict the amount of time a player has to complete a level
  • High scores
  • Fixed components such as space stations, planets, nebulae, etc.
  • Special features such as gravity, black holes or worm holes that transport items to another part of the map.
  • Options for game configuration or loading of maps from a file
  • Enemy ships with AI controllers, possibly spawning more advanced weapons such as mines or heat-seeking missiles.
  • Worlds which extend beyond the edges of the screen, for example the game world could be 2×2 screens large. This would best be combined with a view that is centered on the ship and a “mini map” that gives an overview of the whole game world.

Part C: Manual and Report

Write a concise but sufficiently detailed report with the following sections:

  • A manual including instructions how to run and play your computer game. In particular, please include a listing of key bindings and their effect. This section may also include the game “story”.
  • A description of your main design choices both with respect to the software implementation as well as the game design.
  • A game such as this has many parameters to tune. Describe which ones you tuned and how you did that to make the game as playable as possible. Include details of any test code you wrote.
  • Also write a short appraisal of your achievements. How did the project go – what was easy, what was more difficult than expected? Are there any unresolved problems in your final submission? Are there any parts of the game project that you are especially proud of?

Constraints

The submitted program must be written in Java and run on the lab machines. For the representation of game object positions and velocities, you should make use of class Vector2D from Lab 2, possibly extended with further methods.

You are free to reuse any of your work on Asteroids from the lab sessions.

Submission Details

  • Submission must be made electronically. Remember that the submission system allows you to submit more than once, as long as it is before the deadline.
  • Submissions should be as Eclipse or IntelliJ projects including all project files e.g. Java source files, resources, documentation.
  • The normal departmental submission rules apply: late submissions get zero.

Marking Criteria

Programs will be marked from a “game programming” point of view, taking both the quality of the implemented game and the quality of the software into account. With respect to the latter, the submitted software should be:

  • well designed and making good use of data structures and APIs.
  • organised into appropriate methods, classes and packages
  • robust and user-friendly
  • sufficiently documented and written in a consistent style

The assignment will be assessed according to standard degree-grade criteria.

  • For a pass-mark of 40%, submissions need to have working implementations of most of the basic game features as well as a basic report.
  • For a mark in the range of 60-70%, the submitted game should have a good implementation of the game basics as well as several further game features such as the ones listed under (B) above. The quality of the software implementation should be good as should be the report.
  • Distinction level marks in the range of 70-80% will be awarded for excellent submissions. Typically these will have implemented a range of “futher game features” include some which are more demanding from a coding point of view. The quality of the design, implementation and the report should be excellent.
  • Outstanding submissions may be awarded a mark above 80%.

Please note that this assignment is about practising and assessing YOUR game programming skills. You will get little or no credit if you find and use third-party software that does parts of the assignment work for you.

Demonstrations or Interviews

The module supervisor may require students to demonstrate and explain their submitted work. This may be simply in order to aid the assessment (such as as with problems to get your code running or if there is an incomplete report), or it could be due to possible concerns about plagiarism, etc.

Academic Integrity

You are reminded that this assignment is part of your assessment in this module, and that the work you submit must therefore be your own. Any material you make use of, whether it is from textbooks, the web or any other source (other than the CE218 teaching material and standard JAVA APIs and tutorials) must be acknowledged and the extent of the reference clearly indicated.

DO NOT COPY PROGRAM CODE FOR THIS ASSIGNMENT FROM ANOTHER STUDENT OR FROM THE INTERNET OR FROM ANY OTHER SOURCES. DO NOT LET OTHERS COPY YOUR WORK.