You can work on this assignment alone or in a group of no more than 2 students.
Group Member Name | GitHub Username |
---|---|
Cole Mollica | coleman2246 |
If you have issues building the game a release of the game has been built here
Trailer video URL: https://www.youtube.com/watch?v=Sw1ZYlGE2Ro
Note: The commit logs will be examined to be sure that both participants participated equally on this project.
Note: You can delete the unused rows from the table, if working alone.
Note: Collaboration (outside of your group) should be limited to non-technical, non-programming discussions only, and sharing of code is prohibited.
For this major group project, you will work two components:
- A repository with a collection of assets and instructions for making a 2D game of some genre
- A sample game created using the instructions provided
Take care to collect the right assets (that you have the rights to use), make the game playable, make it fun, and test it thoroughly before submitting! The instructions should be provided in a file named INSTRUCTIONS.md
. Aim your instructions toward a child of age 12-15 with some limited programming experience. Include alternative graphical (and other) assets, so that the children can create games that differ from your sample.
This project is a major body of work. You are expected to turn in a completed game experience, though you may not have time to develop more than one level or simple enemies. You will be expected to combine all of the 2D graphics concepts (as well as user interfaces) into your project, plus you will be expected to add some content that you have learned on your own.
The trailer video should be between 1 and 5 minutes long, and should demonstrate the most significant features of the game. Be sure that any assets that you use in the game, and in the trailer video, are public domain to avoid copyright strikes and takedowns. Ideally, you should post your trailer video on YouTube and provide a link in this document (at the top). The video can be unlisted or private, if you prefer, as long as the instructor and TA can view it somehow.
Note: This project is the equivalent of a midterm examination, and will be marked accordingly.
The nature of the project is entirely up to you, but you should choose a project that gives you the opportunity to demonstrate the concepts learned in this course. Games like top-down RPGs, side-scrolling shooters, side-scrolling platformers are ideal as they use many of the course concepts. However, if you have a different type of game in mind, contact the instructor just to be sure you won’t be missing anything critical.
The only approved game engine (by default) is Unity, and the language should be C#. If you have any other ideas, contact the instructor for approval before beginning work.
You can get your assets from anywhere you want, as long as you have the rights to use them, but here are a few good sources:
Note: Ensure that you have the right to use these assets, including any attribution in your project as required.
Note: Keep in mind that if you download an animated character from the Asset Store, it isn’t going to count for as much as someone who used a graphic file to rig and animate their own character. Similarly, someone who downloads a platforming physics script isn’t going to get as much credit as someone who created their own. This is true for all assets that do some of the work for you. It is ok to use them, but not as a shortcut to avoid demonstrating that you have acquired the necessary skills to develop these game elements yourself.
The project will be evaluated both objectively and subjectively.
The objective evaluation, which amounts to 12/30
of the marks, will account for each of the major course concepts. If you have implemented a particular course concept yourself, and have included instructions for the children in your audience, then you will get full marks. If you have implemented it incorrectly, or have used someone else’s code to complete it, you will receive partial marks. If you have not implemented it, you will receive zero for that course concept. This list will stay the same until the due date of the project, so there is no excuse for not getting full marks for this part of the evaluation. These major concepts are:
2.0 marks
- Level creation2.0 marks
- Sprite animation (via sprite sheets and/or rigging)1.0 marks
- Physics/collision system1.0 marks
- User input1.0 marks
- Game state loading/saving1.0 marks
- Menus, HUD, and other gameplay interfaces (e.g. health bars)3.0 marks
- Instructions1.0 marks
- Trailer video for your sample game
The subjective evaluation amounts to 18/30
marks. Since it is expected that the objective marks will be close to 100%, these marks will target an average score of around 50% to (somewhat) compensate. The best groups will receive full marks in one (or more) of these categories, and everybody else will get a mark reflective of their comparative score. This will further be broken down into three categories:
12.0 marks
- An assessment of the estimated amount of work done on the project3.0 marks
- An assessment of the quality of the code and design of the project, including adherence to best practices discussed in the course3.0 marks
- An assessment of the aesthetic and gameplay quality, as well as creativity, of the project, instructions, and trailer video
It is strongly recommended that you work on parts of your project, immediately after completing the relevant labs and/or assignment. For example, we’ll learn how to develop a level using Tilemap
in lecture. The following week there will be a lab assignment related to this. There will then be a related assignment, which also includes level development with Tilemap
. After you’ve finished the lab assignment and the assignment, it is recommended that you develop a preliminary level for your project, and document the process in the INSTRUCTIONS.md
file. Working in this way, you will stay on track to finish on time.
Like any senior project, it is expected that you learn some concepts on your own, and employ them in the project. Including only what was done during the lectures, labs, and assignments should be considered the absolute minimum.
In courses such as this, the most common source of disappointing marks is a result of students waiting until far too late to begin their major projects.
To submit this assignment, you only need to commit and push your code to your copy of this repository. It is advisable, especially if you are new to git and GitHub, to verify that your most up-to-date code appears on GitHub.
Be sure that you have a video included which highlights all of the features of your game, as sometimes projects don't work out of the box. If this happens and I'm not able to get it working in a reasonable time, then your video will be the only way I have of seeing your project in action. If I cannot run your project, you may lose marks.
Note: Do not put your project into a sub-folder. The top-level directory of this repository should contain your project directly for the .gitignore
file to do its job and eliminate unnecessary uploads/downloads.