Due: Thursday, September 21, 2017
For the first milestone, make a simple box world version of the game that you described in your project pitch. This project milestone is an individual assignment. All of the rest of the milestones for the project will be done as groups. Use the Unity game development tool to make your game.
Use 3D graphics for this assignment even if you are planning to use 2D graphics for the final version of your game. This assignment is more about learning how to use Unity than it is about making progress on your game, but you'll want to focus on the parts of Unity that are most important for your game.
The reason that I refer to this as a "Box World" game is that you should use simple objects (like boxes and spheres) so that you can focus on learning the Unity user interface and, especially, scripting in Unity.
NOTE: Your game should not be recognizable as the product of a tutorial. If I recognize your game being close to a tutorial I will take off points (10% or more).
You can download a free version of Unity from http:unity3d.com. It can be used on both Windows and Mac and can make games for either platform. It can also be used to make iPhone and Android games.
There is a Unity Learn page at
and a documentation page at
In the Unity Manual you should read the first part of the Working in Unity section (up to, and including, Editor Features). Also read the Overview sections of Graphics, and Scripting. You'll want to take a look at the Unity Scripting API documentation so that you know where to go for reference. You'll also want to watch some of the video tutorials. There are quite a few Unity books available in UVU's subscription to Safari Books Online.
In your README.txt or README.html file (see below), include a section that tells what you learned about Unity and 3D graphics programming. Make some notes about what problems you ran into and how (or if) you solved them, and include the information. Think in terms of writing mini tutorials that describe problems and how you solved them, or what you did as a work-around.
I definitely don't expect fancy graphics or complicated game mechanics, but I do expect you to give some thought to what makes games fun. Think about what you can put in your game to make it fun without requiring a lot of programming.
Note that Playability is in the point breakdown, so if you make a "click here to win" game it might satisfy all of the other requirements but won't get any points for Playability.
Cheat codes can be very useful, for testing and for grading. Don't require testers or the grader to spend the same time that someone playing the game for fun would, or to have as quick a trigger finger.
After you have learned more about Unity by making a simple prototype of your game, use the feature list from your project pitch to make a prioritized list of user stories. The term user stories is used in the Scrum agile development methodology. For our purposes, a user story can be thought of as a feature, a task that needs to be done, or some combination of those two things. For example a user story could be to display a health bar over characters in an RPG. Each user story should have an estimate of how long it will take to implement it. As you finish each milestone and prepare for the next one, you will revise the user stories and their priorities and then decide which user stories to implement for the next milestone.
After making your prioritized list of user stories (which is called the backlog in Scrum), identify the ones to implement for the next milestone. Select tasks for a group that is the preferred group size you specified in your project pitch.
Put your prioritized list of user stories in a spreadsheet file named backlog.xls Note that you don't have to have Excel to create .xls files. In particular, you can make them in Google Documents. Putting the list in Google Documents (or some other cloud location) is a good way to make them accessible to all of the members of your group.
Include a text or HTML README file with the following information:
• Explain how to run the program and what it does. Include information about how to solve puzzles, find things, etc.
• Explain how your program satisfies the requirements. This section should give a short description of how your game satisfies each of the requirements (user input, image texture, 3D model, etc.).
• The What I learned... section described above.
Your file should be named README.html or README.txt
Build your game for WebGL with the Release option,
and test it in a browser (preferably Firefox).
See these pages for more information about Web GL builds:
• http://docs.unity3d.com/Manual/webgl.html Beginning of the WebGL section of the Unity manual.
• http://docs.unity3d.com/Manual/webgl-gettingstarted.html Limitations of the WebGL platform
• http://docs.unity3d.com/Manual/webgl-browsercompatibility.html Browser compatibility
• http://docs.unity3d.com/Manual/webgl-building.html Building and running a WebGL project.
If your project doesn't run on the WebGL player talk to me before the assignment is due to make other arrangements.
Put the following files in a zip file and turn the zip file in on Canvas: