Assignment 01 - Improve a Game

Getting Started


Part of your submission will be a report in PDF format, in which you should report each thing you have done to improve the initial game. Your report should have your name and student ID at the top of the file. For each addition note (briefly – no more than a paragraph) what you have done and, if appropriate, why you have done it, or what is unusual about your solution.

The marks you receive will take into account your report as well as the game itself. I’m looking for effective, clear communication – concise and to the point, not an essay full of ‘padding’. Tell me not just what you added, but why it makes the game better - What problem does it solve? Why does this addition make the game better? Is it more fun? More challenging? More accessible?

To do

Take the Space Invaders game project and make it better. How you do this is up to you. Code quality is not relevant - unless the code submitted doesn’t run! Concentrate on some or all of: game mechanics, art, sounds, music, story, UI flow (main menu, pause screens, game over screens etc) or game content (levels / waves, power ups, scoring combos, varying types of enemy etc).

If you’re not quite sure where to start, here’s a list of suggestions (in no particular order). It only scratches the surface though - go wild! Decide on the changes you want to make, prioritise them and see how far you can get!

You'll be making changes to the SpaceInvaders project, which is a git repository from Lab02. Keep committing your changes to the repository, and push everything to GitLab. All your work should be stored in the forked private repository you created in Lab02.


Hand In

Submissions must be made by 5:00 pm, Friday 12th January, 2018. Late submissions will not be marked unless by prior arrangement.

To submit your assignment:

You will be submitting the assignment via GitLab.

  1. Build a WebGL version of the game as per instructions in the Build the final game section of Lab02. Save the built game to "Build" directory in your SpaceInvaders repository folder. Do not rename the "index.html" file inside.
  2. Save your report as "Report.pdf" inside the Assets folder of the project.
  3. Commit all the changes and your repo to your local SpaceInvaders repository from Lab02. Make sure to include in your last commit the PDF report as well as the "Build" directory with all WebGL distribution files of the built game - these will be made available for the whole class to play (details of playing and rating of the games will be given in a lecture before the assignment is due).
  4. Push everything to GitLab.
  5. It's very important that you don't forget to add new files. If you forget to add newly created scripts or assets, the game will not run for me when I clone it from GitLab. It's a good practice to make a clean clone of the repository and test it in Unity to make sure that it runs and contains all the changes. If it doesn't, check if you forgot to commit or push anything.
  6. It's very important that you give Lech and Nick read access to the repository on GitLab, otherwise we won't be able to check out your code. The link to your repo on GitLab should be something like this:<your user name>/SpaceInvaders. Once you go to this GitLab project in your browser, click on "Settings" (cogwheel in the top right-hand side) and select Members. Add lechszym and nickmeek with Reporter access level. This will give us read rights to your project.
  7. On the GitLab project page select Commits from the left-pane. You should see a list of commits and their ID's on the right hand side. Right-click on the commit ID corresponding to the version that you want to submit for marking and copy link to the clipboard. Send an e-mail to with the Subject: "COSC360 <username> Assignment 1 submission", and the link pasted in the body. This e-mail constitutes your submission and it must be sent before 5pm, Friday 12th January, 2018. Late submissions will not be marked. Making changes to your repository after the submission will not affect the marking, because the version intended for marking will remain in the project history and I'll be able to get it using the link with corresponding link ID.