Assignment 01 - Improve a Game
- Marks: 11
- Weighting: 11%
- Due: 5:00 pm, Friday 12th January, 2018
- You need to complete Lab02 in order to continue with this assignment.
- Hopefully by now you’re very familiar with all the elements and the code of the SpaceInvaders project. Think of improvements you’d make.
- In the assets of the SpaceInvaders folder of your SpaceInvaders project, create a folder called "Documentation". Inside create a Word document called AssignmentOneReport.docx. Put your name and student ID at the top of it and add it to the repository. Commit the file to the repository, so that git starts to track it.
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?
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!
- Proper Menu screen, pause screen, game over screen, level select if appropriate.
- Make it clear what the controls are and how to play the game.
- Decide on a theme (e.g. Sponge Bob, zombies, fighting off tooth decay, American War of Independence) and/or aesthetic (e.g. cartoon style, line drawing, minimialist, retro) for the game and implement necessary changes.
- Replace graphics and/or audio.
- Tweak the game controls or replace the control scheme entirely to make it better.
- Add high score support (in memory is fine, no need to persist scores to disk unless you really want to stretch yourself).
- Add more visual / audio feedback - explosions, sound effects, show points scored for each kill / match. In general make the game more interesting and visceral.
- Level / game mode options.
- Tune the scoring to make it more interesting. Combos are a great way to reward skillful players.
- Ask other players to try out the game, and take note of what they enjoy and what they struggle with. Try to eliminate the bad bits. Document people’s feedback and what you’ll do based on it.
- A variety of enemies.
- Waves of invaders.
- Power ups / different weapons.
- Defensive shields (around the player or bunkers like the original Space Invaders).
- Animating background (scrolling star field or something).
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.
- (2 marks) Submit the assignment on time, with a report that has your name and student id on it as requested. The code should run without me needing to make any modifications. Easy, eh?
- (2 marks) Handing in a game that has in some way been modified. Corresponds to a mediocre effort.
- (3 marks) Improve the game by adding a variety of new content / features. Corresponds to a good effort.
- (3 marks) Turn the game into a cohesive, complete, enjoyable experience. Corresponds to a great effort.
- (1 mark) If the game is fun to play (the sample game as it stands is not fun)
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.
- 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.
- Save your report as "Report.pdf" inside the Assets folder of the project.
- 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).
- Push everything to GitLab.
- 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.
- 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: https://altitude.otago.ac.nz/<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.
- 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 email@example.com 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.