Lab 5: NPCs, AI Steering Behaivor and NavMesh
Theme : ???
Overview
In this lab, you will create your fifth game in Unity, incorporating NPCs with steering behaviors and pathfinding with NavMesh.
Planning
Plan a meeting with your team to discuss the design and structure of your game. During this meeting, you should develop a list of tasks, and assign people to work on those tasks, with deadlines for completion. I recommend using Google Docs or Trello to organize this task list.
Also, you should talk about your individual strengths and patterns of work, expectations for other team members, outside constraints from classes, activities, work, etc, and decide on conflict resolution techniques.
Github Practice
Take some time to practice using Github to share files with your new
partner, following the Github and Unity setup pattern from Lab 1.
Task
Now, design a game building on all the tools we have learned so far about Unity.
Your game should
- incorporate at least one of the theme words listed above
- be interesting for the user to play and require some skill
- include multiple examples of
- GameObjects with assigned Scripts
- Physics with RigidBodies, Collisions, and Triggers
- Keyboard and Mouse input
- AI NPCs, using either
- steering behaviors OR
- NavMesh agents using pathfinding on a baked NavMesh
- enhance the aesthetics with
- Trails and Particle Systems
- AudioSource sound effects
- customization (avoiding the generic Unity font, dark-blue screen, and grey buttons)
- use the GUI to display at a minimum
- dialog for narrative without hiding important elements of the game
- the status of the user graphically (inventory, health)
- load multiple Scenes, including
- a start menu scene
- a how-to-play scene which explains to the User the input methods
- a credit scene to list the asset sources and game designers
- at least three levels of increasing difficulty
Your game should be interesting for the user to play, require some skill,
and be playable for at least 5 minutes.
Your game needs to incorporate at least one of the theme words listed above.
Important: Each team member needs to make substantial contributions to the game through the use of Github and checking in code. You should be making
small edits and updates throughout your work.
Evaluation
Write an evaluation in the README.md document in your repository, which details
- the name of your game
- the intent of your game
- narrative structure
- mechanics
- aesthetics
- joys and struggles while writing this game
- a listing of the attributions for your game assets (art, sounds, etc),
- a paragraph discussing the contributions of each team member to the final game.
How to Hand In
- Make sure your CanvasScaler has been set to Scale With Screen Size.
- Be sure to set the compression to Disabled in the Player Settings.
- Export your game as an HTML5 game using the Build Setting option under the File menu.
- One of your team members should create an account on itch.io.
- Zip the exported directory from Unity, and upload this to itch.io.
- Include a cover image and a screenshot of the game.
- Edit the Theme settings for the game to use a custom font and matching colors for your game.
- Summarise your evaluation document and write a paragraph description for itch.io
- Set the visibility to Public (prefered) or Restricted.
- Share with me the URL to your game on itch.io, and your Github repository.
Once the games have been submitted, I will create a link for you to view them all.Within a week after the lab due date, you must play at least two other games submitted by your classmates. Write at least two sentences: one highlighting a strength of the game in meeting the lab requirements, and one with suggestions for improvement.
Grading Specifications
A Complete lab will
- be interesting to the user and require some skill
- be playable for at least 5 minutes
- have a cohesive aesthetic feel
- incorporate at least one of the theme words listed above
- use all of the listed Task requirements
- include a complete evaluation document
- be correctly posted on itch.io with a cover image, screenshots, theme, and description
- contain significant and regular contributions on Github from your account
- demonstrate two constructive comments on peer submissions
A Partially Complete lab will
- incorporate at least one of the theme words listed above
- use most of the listed Task requirements
- include an evaluation document
- be posted on itch.io
- contain multiple contributions on Github from your account