❤️ Midterm: Advocacy
Important Dates
Checkpoint 1: Monday, September 30th
First Playtest: Monday, October 7th
Project Due: Monday, October 14th
Second Playtest and Presentation: Monday, October 16th
📙 Introduction
The intent of this project is to build, run, and publish a 3D Unity game that tackles a social justice issue. You will be implementing your own version of a WebGL single-player video game with multiple levels. Please feel free to start with the 3D Unity project we have been working on in class as a starting point. I recommend making a copy of the class project to avoid confusing our class project from your project 1. If you would rather not use the 3D Unity project we have been working on in class, feel free to create a new 3D project from scratch. You may use any packages and assets as you see fit; however, please review the project requirements to ensure that you have integrated all required features. Last but not least - make sure the game is created with the Universal Render Pipeline (URP) and supports Perforce integration.
By the end of Project 1, you will:
- Gain an understanding of the usage of Unity Engine - AI (NavMesh), Cinemachine, and Physics
- Program player movement and collisions with Transform.Translate and Rigidbody
- Understand the unique qualities and features that are important in designing and playing browser-based games
- Have experience designing, building, and publishing 3D Unity games for WebGL
- Collaborate and share projects via Perforce
- Share and receive feedback on itch.io and other online platforms
- Have a final product that you can add to your portfolio
- Build a browser-based game with GitHub pages and WebGL
- Experiment with Unity’s new Input System
- Learn how to build interactive and immersive websites. See some examples on awwwards
Policy on Collaboration and Cheating
For this project, you must work alone! Please carefully read the Policy on Collaboration and Cheating to see what this means exactly. In particular, do not look for solutions online, use game templates, and generate code with AI such as ChatGPT.
👾 The Game
Games have the power to reach, engage, and educate the public. No matter where we end up in life, sharing our knowledge, having and finding purpose, and inspiring others through our works are important in building a more equitable and sustainable world. Select a cause, set of values, or mission you care about and come up with an idea for a game that achieves meaningful social change. Pick something that matters to you and promote the cause and ideas through your game. Advocacy can take many forms such as storytelling, gameplay, and narrative mechanics that inspire players to take action. I challenge you to use your skills and creativity to create a short, fun, and complete game that challenges beliefs, investigates one’s purpose, uplifts others, and spreads compassion.
Whatever your background is in, use your skills and expertise to create something fun with Unity that has a positive, educational, or impactful message.
Some potential topics:
- Animal rights
- Accessibility
- Mental Health
- Environmental justice
- Sustainability
- Civil Rights
- Education
- Health
🎬 Getting Started
Step 1: Create a new Unity project
Unity URP is the best overall pipeline for general purposes. URP has higher rendering quality compared to Unity 3D. Unity 3D is recommended for prototypes that don't require high quality graphics.
Step 2: Scene set up
Right click in the Hierarchy and create a new plane at (0, 0, 0) and a 3D cube at (0, 1, 0).
Step 3: Package Manager
In the Windows/Package Manager tab, add Cinemachine and AI Navigation packages. If you are workinng in Unity versions older than 2022, please add the AI Navigation package by name com.unity.ai.navigation
Step 4: Rigidbody and Box Collider
In your Inspector panel, add the Rigidbody and Box Collider components.
Step 5: Camera and Cinemachine
Unity URP is the best overall pipeline for general purposes. URP has higher rendering quality compared to Unity 3D. Unity 3D is recommended for prototypes that don't require high quality graphics.
Step 6: Opponent Movement and NavMesh
Unity URP is the best overall pipeline for general purposes. URP has higher rendering quality compared to Unity 3D. Unity 3D is recommended for prototypes that don't require high quality graphics.
🎟️ Requirements
Your game should include the following requirements and features:
- Short video game created with Unity 3D URP
- Published as a WebGL build so that we can add it to a ReactJS website later on
- Game can be short but must be playable. Can be single player
- Game must look complete - use assets and sound effects
- If your game involves a scoring system, display score on screen
- Include end and win game screens
- The intro of the game is important. Design your intro with animations, instructions, and more
- You must use Cinemachine, NavMesh, and integrate some sort of player movement and collisions in your game
- Project must be shared with the instructors via Perforce
- You may choose to use Unity's old or new input systems
- And most importantly, publish to itch.io!!
🧐 Questions
Putting thought into who is playing your game and how they will experience it is important. Imagine who your players are and how they will feel playing your game. Your game should draw some sort of positive emotion from your players - wonder, excitment, inspiration, happiness, hope, etc.
Here are some questions to keep in mind:
- Who is the video game made for?
- What are the takeaway lessons players will learn from your game?
- What is the moral message of your game?
- Why are you creating this game? This game should be something you like too!
💯 Grading
We will be play testing your game during class!! Please make sure your game is published on itch.io by play test day and is 100% playable.
Assignment | Description | Percentage |
---|---|---|
Documentation | Spend some time writing taglines and descriptions for your project. Take some videos and screenshots that you can use for your portfolio and resume. The instructors will be giving you feedback on this project through your portfolio or presentation slide deck. | 10% |
Published Website | By Monday, October 18th you must have your game published on itch.io or some web link. | 5% |
Checkpoint 1 | Check in with any instructor outside of class. Show they what you've been working on and ask them any questions you have. Last day to check-in is Wednesday, October 9th | 5% |
Implementation | We will be asking you questions on how you implemented your projects. Please make sure that your projects are on Perforce and are able to answer questions about your code, artistic assets, shaders, etc. | 50% |
Playtest during class | It is important to be present in class on this day. Participation is important here in giving and receiving feedback. This is the day your game should be working! The instructors will begin grading your project on after Monday, October 26th. | 30% |
Total | 100% |
🦄 Support
Ask for help! Don't be afraid to reach out to us and ask for help. Work together with your classmates and schedule office hours with the instructors whenever you need help and support.