Assignment 04 - Game Project
- Marks: 34 (+6 for presentation)
- Weighting: 40%
- Due: 5:00 pm, Friday 16th February, 2018
The goal for this assignment is to present a complete, polished game. The assessment for the project will be in two parts:
- A presentation of your game by the entire team to the class and other interested parties (6 marks)
- The game itself (34 marks)
Presentation (6 marks)
The presentation is to be a quick 5-10 minutes in total, presented in OWG.34. Presentations will start at 3:00 pm, Wednesday 14th February, 2018. The game must be a 'distribution' build - either the WebGL or Mac standalone for OSX platform. The machine provided for the presentations will be running OSX like your machines in the lab. The details of how to produce a WebGL distribution in Unity are provided at the end of this document. The important point here is that the game is NOT running using Unity Editor.
Basic format is to have one or more team members describe the game to the group, and each team member should briefly describe the parts of the game they've worked on, providing some detail of interest, for example the tools used to create graphics, design process for the UI, challenging programming problem or how sounds effects were recorded. Then any questions can be answered.
It is important that each member of the team is involved in the presentation. Part of the assessment for the presentation will be based on how well the team works together.
Hint: Please come prepared with at least a basic idea of who will say what, and in what order. A lack of preparation is really obvious. Aim to have one person playing the game while another is talking. Trying to do both at once is not easy.
Another Hint: G.34 will be booked for you from 1:00 pm, Wednesday 14th February, 2018. Make sure your files are copied and working on the computer there before the presentation time. We want to avoid fiddling with mem-sticks and waiting for files to copy during the presentation.
The Game (34 marks)
The game assessment will consist of:
- A WebGL 'distribution' build of your game (see below)
- A README.txt file with a description of the game, instructions if needed and notes of any known issues. Grab a few games from previous years if you want some examples.
- 3+ screen shots of the game. Make them interesting as we’ll put the game online to be played, and we want people to want to play your game!
- A link to the final (tagged) version in GitLab
The final submission is to be via GitLab by no later than 5:00 pm, Friday 16th February, 2018. This is a hard deadline as I’ll need to begin marking immediately.
To submit your assignment:
Only one team member needs to:
- Create Build folder in you repository and save your WebGL distribution, README.txt and three screenshots there.
- Make sure to add the Build directory with all its contents to git and commit.
- In SourceTree, tag the commit version to be marked (right-click and select Tag) with the following tag: "Final".
- Push your repository to GitLab.
- Send an e-mail to email@example.com with the Subject: "COSC360 <team name> Final submission", and the link to GitLab project pasted in the body.
A few things to note:
- Ensure that your WebGL distribution build runs correctly.
- Ensure that your tagged version of the code can be checked out of source control on a new machine and built from scratch. It’s what I’ll be doing, and if it doesn’t work this will affect your mark.
- If there are any special issues that I need to be aware of (things needed to get the game running, odd bugs that haven't been tracked down etc) then outline the issue(s) in the README.txt submitted with the game.
If either the distribution version doesn't run, or the tagged version doesn't build, it will cost you marks, and put the marker in a negative frame of mind when marking. You have been warned! While markers (i.e. me) are reasonably tolerant, most customers who pay for a game your release will not be. Messing up the release of a game (which this in effect is) will cost you dearly.
Note that you do still have time after the presentations to tweak your final submission.
Marks for the final assessment will be out of 34. Given the varying nature of the game projects, different aspect of the game may take on different importance. As a result it’s not possible to give a specific mark break-down for this assignment. However, generally marks will be awarded for things like:
- Novelty of the idea. This covers not only mechanics, but also back story and any elements that are original.
- Overall polish. The emphasis on polish will be greater for less novel games.
- Implementation of the core game play mechanics. Are they fun, challenging, balanced? You can lose points here for things such as obvious dominant strategies, unclear objectives, etc.
- Progression.How good is the level design or the economy (whichever might be applicable). Is it interesting and balanced. Is there a sense of progression and does the game have the right flow?
- Art/Graphics.Amazing art and graphics are not absolutely necessary in order to get a good mark, but aesthetics is an important part of the elemental tetrad, and it's expected that some attention has been paid to it. Having said that, great graphics might earn you some extra points.
- Story elements. Depending on the game, story might have take on more or less importance. Is it immersive, interesting, etc?.
- Audio. Does the sound/music support the mood/add to the overall experience? Original music is not necessary, but do provide references (in the README.txt) for where it was soured from
- User interface.Very important part of the overall experience, will be judged on usability, aesthetics, synergy with the rest of the game, etc. Are there tutorials that teach the player how to play? How well are they done?
- Replay value. What will keep me coming back to this game?
- Bugs. Major bugs that impact game-play will induce penalties.
- Fun factor. I'm sorry, I can't quantify this further.
How to produce and submit distribution build
Here’s how to make a WebGL distribution of your game. First off, make sure your game is running happily inside the Unity Editor. Then:
- Add the COSC360 Logo image to the Assets in your project.
- Bring up the Build Settings window by selecting File | Build Settings... from the main menu
- Make sure that all the scenes are listed under Scenes in the Build and the first scene you want to load is on top.
- For the Platform select the WebGL option. Leave the Development Build options unchecked.
- Click the Player Settings... button to bring up PlayerSettings in the Inspector panel.
- Put your team's name and game name in "Company Name" and "Product Name" fields.
- In the Inspector panel, under the WebGL Settings set the desired Resolution.
- Expand the "Splash Image" section. Click the "+" to add a logo to the "Logos" list. Drag the "COSC360 Logo" image from your assets onto the sprite square that appears on the list. Set "Logo Duration" to 4.5s. Make sure that "Splash Style" is set to "Light on Dark", Animation is set to "Dolly" and "Draw Mode" to "Unity Logo Below". You can see a preview of the splash by clicking on the "Preview" button. If you have any other splash screens to add, they should follow this one.
- Back in the Build Settings window, click on the Build button. Select the location, the Build directory in the root of your repository, which will become the directory for the built files.
- Wait for the compile process to finish.
OK, you're done. By now you should have a Build/ folder containing index.html + your game files.
This should be all you need to distribute the web version of your game. Add in README.txt and the screenshot files. To test your distribution build, double click on the index.html file to open it in the browser (Chrome doesn't like to play WebGL off of local files - might need to test it with Firefox or Safar). Don't forget to add the new files to your repository, commit and push to GitLab.