Bartlett-RC3 / skilling-module-1-LuHJL

skilling-module-1-LuHJL created by GitHub Classroom

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Screenshot

Skilling Module 1 | Scripting in Unity

Tutor: Octavian Gheorghiu

Overview and purpose

The class aims to introduce students to game engine scripting as a tool for design exploration and design communication. At the end of the class the students will build an app that explores an algorithm related to their design concept.

Education Standards

  1. Inspire, motivate and challenge students
  2. Make productive use of assessments
  3. Adapt classes to respond to strengths and needs of students

Objectives

  1. Learn the necessary skills required to write and execute code
  2. Learn the necessary skills to produce an app or a video game

Materials Needed

  1. Unity Game Engine, Version 2017.2
  2. Visual Studio Community 2017

Verification

  1. All the objectives subcategories will be assessed by a small exercise that will require the students to use the newly learned skill
  2. Skills development will require previous understanding of learned skills to proceed, thus showcasing when a necessary skill has yet to be learned
  3. The final exercise will require the usage of most of the learned skills

Lesson Plan

Five sessions totalling 10 hours:

  1. Session 1: Scripting in Unity and Data Structures
    1. Variables
    2. Functions
    3. Arrays
    4. Lists
    5. Dictionaries
  2. Session 2: Conditionals, Loops and Classes
    1. Shorthand conditions
    2. For and foreach loops
    3. Class extension
    4. Interfaces
    5. Composition
  3. Session 3: Scrip logic in Unity and Debugging
    1. Updates and Delta Time
    2. Translate, rotate and scale
    3. Keyboard input
    4. Mouse input
    5. Linking scripts to Unity editor
    6. Debugging
    7. The Call Stack
    8. Logging exceptions
  4. Session 4: Prefabs and Advanced Scripting
    1. Creating prefabs
    2. Storing and managing prefabs
    3. Coroutines
    4. Events and messaging system
    5. Ray casting
    6. Dynamic meshes
    7. Quadtrees
  5. Session 5: Conway`s game of Life Example
    1. Algorithm explanation
    2. Unity implementation
    3. Output from code

Homework assignments

  1. Session 1 homework:
    1. Declare a int variable and set a value
    2. Declare a float variable and set a value
    3. Declare a string variable and set a value
    4. Create a function that prints the declared variables
    5. Declare and initialize an array
    6. Declare and initialize a list
    7. Create and initialize a Dictionary
  2. Session 2 homework:
    1. Write a function that uses a condition
    2. Write a for loop
    3. Write a dog class and initialize an instance of the class
  3. Session 3 homework:
    1. Create a cube and move it across the screen
    2. Create a cube and change its colour when key is pressed or mouse is pressed
    3. Add a script to a game object
  4. Session 4 homework:
    1. Create a cube prefab that has a script attached to it
    2. Write a change colour coroutine
    3. Create a cube array and change destroy them in play mode using ray casting

Final assignment

Modify the Unity implementation of Conway`s game of life by:

  1. Add a coroutine to change the cubes colour based on time spent alive
  2. Store in a data structure the results of various frames
  3. Altering the rules of the game to produce new results

Online support tutorials

Grading

  • Class Participation – 30%
  • Class Homework – 70%

Plagiarism

UCL takes plagiarism very seriously and regards it as a form of fraud. The definition of plagiarism that has been adopted by the School of Continuing and Professional Studies is as follows: "Plagiarism is presenting someone else's work as though it were one's own. More specifically, plagiarism is to present as one's own words quoted without quotation marks from another writer; a paraphrased passage from another writer’s work; or facts or ideas gathered, organized, and reported by someone else, orally and/or in writing. Since plagiarism is a matter of fact, not of the student's intention, it is crucial that acknowledgement of the sources be accurate and complete. Even where there is not a conscious intention to deceive, the failure to make appropriate acknowledgement constitutes plagiarism. Penalties for plagiarism range from failure for a paper or course to dismissal from the University.

Instructor

Reuse and building upon ideas or code are major parts of modern software development. As a professional programmer you will never write anything from scratch. This class is structured such that all solutions are public. You are encouraged to learn from the work of your peers. I won't hunt down people who are simply copying-and-pasting solutions, because without challenging themselves, they are simply wasting their time and money taking this class.

Please respect the terms of use and/or license of any code you find, and if you reimplement or duplicate an algorithm or code from elsewhere, credit the original source with an inline comment.

About

skilling-module-1-LuHJL created by GitHub Classroom

License:MIT License


Languages

Language:C# 100.0%