CS4482

Table of Contents

App

Tools

Optional

App

APP 1 – Learn your SDK

  1. Do tutorials
  2. Hand in source code (your files only, I don’t want the whole engine) and a binary of a simple, running, demo built on your SDK of choice.

APP 2 – Dart Tag: Not Just for Kids

The CEO of your burgeoning company comes to you late on a Friday after noon (as it is always) and tells you that we have to have the prototype of the newest hotness ready to go by Monday or you’ll lose your window for greatness

  1. 2 types of players AI and controlled
  2. Players must be animated(run-cycle, walk-cycle), and have 3d meshes.
  3. Each player must fire a projectile to tag their opponent
  4. You must indicate which player is it in an obvious way
  5. Keep a score for each player, and end the game after 5 minutes
  6. Create in-game menus (start, pause, leader board, exit)

APP 3 – Write a full game

You’re at the end of the APP skill line. It’s time to write a “full” game in the SDK of your choice.

  1. Design a simple game. Seriously, make it simple. You are not being graded on the design (that’s Mike K’s class next term)... the point is just for you to come up with something that’s going to be fun for you to write.
  2. Write up a list of requirements for yourself.
  3. Get approval from Alex (send an e-mail). Do not proceed without approval.
  4. Implement the game using the SDK with which you are now comfortable.

Tools

TOOLS 1 – Learn the Unity Editor API

  1. Successfully complete a collection of editor API Tutorials
  2. Create your own asset (ScriptableObjectorMonoBehavior) and demonstrate your newly found editor knowledge by writing a custom editor for it (avoid simply writing the default editor).
  3. Bonus marks for making use of Property Drawers

TOOLS 2 – Language and Localization

You must create a system that will not only ease editing of text, but also allow the game to switch seamlessly between languages. Your system should do the following:

  1. Use the Unity3D Editor API to create your tools
  2. Define a set ofScriptableObjectclasses that will support 1...N languages containing1...N strings each
  3. Write a collection of CustomEditors that make it easier to create, add to, and edit Languages and their key-value pairs. Note: You may choose to author your data outside of Unity. However, if you must im-plement aScriptedImporter1that will generate equivalent ScriptableObjects (.asset) with CustomEditors to visualize your localization data
  4. Use the Unity UI system to create a text box that utilizes your language data. You can reference string by name, id, or other
  5. Your text box contents must update when you change the selected language of your engine

TOOLS 3 – Dialog Editor

You must create a dialog editor that leverages your language data and custom editors in order to create dialog trees for NPC characters in your game:

  1. Use the Unity3D Editor API to create your tools.
  2. Create a dialog editor with support for branching response trees.
  3. Provide support for cyclical dialogs to occur within your dialog tree (and don’t duplicate data!).
  4. Use your language assets from the previous TOOLS assignments to populate your dialog system.
  5. Implement your dialog system by continuing to leverage ScriptableObjects (.assset).

Optional

Shaders

You are being asked to write three shaders for this assignment: one for a full screen effect, one for a (convincing) cel-shading effect, and one for a gradient mapping effect.