/2_Terminal_Hacker

C# functions, refactoring, enumerations, basic state machines. Arguments, parameters, strings, conditionals, variables. Whitespace management, bug fixes and basic game design. (REF: TH_CU2) http://gdev.tv/cu2github

Primary LanguageC#MIT LicenseMIT

Complete Unity Developer 2.0 - Section 2 - Terminal Hacker.

This is the Complete Unity C# Developer 3D, the long-awaited sequel to the Complete Unity C# Developer 2D - one of the most successful e-learning courses on the internet! Completely re-worked from scratch with brand-new projects, our latest teaching techniques,. You will benefit from the fact we have already taught over 350,000 students game development, many shipping commercial games as a result.

You're welcome to download, fork or do whatever else legal with all the files! The real value is in our huge, high-quality online tutorials that accompany this repo. You can check out the course here: Complete Unity C# Developer 3D

By In This Section

C# functions, refactoring, enumerations, basic state machines. Arguments, parameters, strings, conditionals, variables. Whitespace management, bug fixes and basic game design. (Ref: TH_CU2)

How To Build / Compile

This is a Unity project. If you're familiar with source control, then "clone this repo". Otherwise download the contents, and navigate to Assets > Levels then open any .unity file.

This branch is the course branch, each commit corresponds to a lecture in the course. The current state is our latest progress.

Lecture List

Here are the lectures of the course for this section...

1 Welcome To Section 2

  1. About the provided terminal asset.
  2. You will learn foundational C# skills.
  3. Experienced developers should skim this section.

2 Terminal Hacker Game Design

  1. Identify our game design intention for the Terminal Hacker game.
  2. Game flow and screens required for this game.
  3. Creating our library of anagrams.

3 Import WM2000 Terminal Asset

  1. Download the asset from lecture resources.
  2. Import your first asset pack.
  3. How to rename a Unity project.

4 Using Our Terminal.WriteLine()

  1. Introducing our Terminal.WriteLine() command.
  2. Your firs look at our Docs.
  3. Write and share your game menu screen.

5 Your First Function

  1. How C# is organised into functions, classes, etc.
  2. The format of a C# function (without parameters).
  3. About naming and encapsulating.

6 Introducing Variables

  1. Why we are introducing variables at this stage.
  2. What a variable is and how to use one.
  3. Using our first variable.

7 Functions With Variable Parameters

  1. Where we are in our journey towards messages.
  2. How go DECLARE, DEFINE & CALL functions with parameters.
  3. How to PASS variable parameters to a function.

8 Messages Are Special Functions

  1. Messages vs. Functions in C#.
  2. An analogy to help you understand messages.
  3. Using our OnUserInput(string input) message.

9 C# Operators & Expressions

  1. Operators are like special functions that do things.
  2. Syntax is the rules about the way code is written.
  3. Expressions evaluate to something, e.g. 1 == 2 is false
  4. Using an pure expression to detect if the user typed 1.

10 Conditional Program Flow Using if

  1. How important being able to "branch" is.
  2. The syntax (structure) of an if statement.
  3. Giving our player control over the menu system.

10b Instructor Hangout 2.1

  1. A brief explanation of supplied function.
  2. How to download previous versions of Unity.
  3. A little more about the void keyword.
  4. About our "spiral syllabus" approach.
  5. A quick overview of our optoinal forum.

11 We’re About To Pick-Up Pace

  1. Well done getting this far.
  2. You've learned ALL the programming basics now.
  3. I'd love your comments against this lecture.
  4. What are we doing well? What could we do better?
  5. We're about to pick up pace and code much faster.

12 Member Variables To Hold State

  1. What member variables are.
  2. Why they are useful.
  3. Use member variables sparingly to hold state.

13 Enumerating Our Game States

  1. Introducing a finite state machine.
  2. How 'enum'erations are helpful here.
  3. Declaring and using our first 'enum'

14 Refactoring Our Code

  1. Getting an eye for when code it too complex.
  2. Using the "extract" tool of your IDE.
  3. A function should only do one thing.
  4. Moving our game forward.

15 Your First Solo

  1. Don't be afraid to fail.
  2. A solid challenge for you.
  3. Getting basic password working.

16 Arrays Of Variables

  1. What an array is.
  2. Why we would use one.
  3. How to create an array in C#.
  4. Using arrays to store our passwords.

17 switch vs if

  1. A trick with using bool and if.
  2. Introducing switch
  3. When to use switch vs if

18 Introducing Random Behaviour

  1. How namespaces can "clash" with Random.
  2. Using Unity's Random.Range().
  3. How random numbers benefit your game.
  4. How to avoid "caching" information.

19 Creating A Win Screen

  1. Introducing ASCII art.
  2. How to engage your player's emotions.
  3. An opportunity to get creative.

20 Section 2 Integration Challenge

  1. Adding a third difficulty level.
  2. Introducing const for constants.
  3. Correcting typos!

20b Instructor Hangout 2.2

  1. Refactoring & extra steps on PC (thanks Daniel).
  2. Playback speed, closed caption and self-pacing.
  3. Comments on switch vs if (thanks Jeepty).
  4. How to use our spiffy course repo on GitHub.
  5. About deleting your Library folder (ShadeWolf).
  6. Keep sharing screenshots, video clips next.
  7. We’d love a review :-)

21 Share Online & Play Test

  1. How to create a WebGL build.
  2. Using ShareMyGame.com.
  3. Share your game for feedback.
  4. Our first play testing session.

22 Feedback & Bug Fixes

  1. How to take feedback.
  2. Bug fixes.

23 Section 2 Wrap-Up

  1. Congratulations.
  2. A recap of what you learned.
  3. Some notable C# you didn't learn.
  4. Some further challenge ideas.
  5. Start the next section right away.