UDEMY
UDEMY Logo

RPG Core Combat Creator: Learn Intermediate Unity C# Coding 

  • Offered byUDEMY

RPG Core Combat Creator: Learn Intermediate Unity C# Coding
 at 
UDEMY 
Overview

Learn how to make the foundations of any good RPG combat system - from scratch

Duration

28 hours

Total fee

449

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Go to Website External Link Icon

Credential

Certificate

RPG Core Combat Creator: Learn Intermediate Unity C# Coding
 at 
UDEMY 
Highlights

  • Earn a Certificate on successful completion
  • Get Full Lifetime Access
  • 30-Day Money-Back Guarantee
  • 15 downloadable resources
  • Access on mobile and TV
Read more
Details Icon

RPG Core Combat Creator: Learn Intermediate Unity C# Coding
 at 
UDEMY 
Course details

Who should do this course?
  • This course is for intermediate Unity users who want to create their own RPG.
  • Our Complete Unity Developer course provides the perfect pre-requisite.
What are the course deliverables?
  • Create core combat mechanics for melee, ranged and special attacks.
  • More advanced C# techniques such as interfaces, delegates, and co-routines.
  • Create pathfinding systems and patrol paths for enemies and NPCs.
  • Make a detailed level with terrain, enemies, triggers, lighting, particles and props.
  • Balance the player and enemy stats (eg. health, damage, movement, attack speed, and more).
  • Advanced game design, project management and code architecture strategies.
More about this course
  • UPDATE September 2019: We have updated and improved the course using Unity 2018.3 based on feedback from our community. Enjoy! * This highly acclaimed course was over 200% funded on Kickstarter , and is designed for intermediate users of Unity. We recommend you take at least the first half of our Complete Unity Developer 2D or 3D, or equivalent, as a pre-requisite. This course is the first part in our RPG series. The second part will focus on the inventory system and will be available as a separate course. Role Playing Games can be complex to create, with many interacting gameplay systems. We make it easy for you, with this online course that teaches you step-by-step how to make the foundations of any good RPG combat system - from scratch. In this course we're focusing on the core of any great RPG, giving your players a fun combat moment in a well crafted level, based upon a solid game design, built using a robust code architecture . You will follow our project, but also make the game entirely your own. This is a highly realistic and comprehensive introduction to real game development . We'll be taking you through our process step-by-step, with all decisions justified and all avenues explored. Fancy something a little different to get started? Check out GameDev's other courses, just look for the green logo as your guide. We will be dealing with player movement, NavMesh navigation, AI pathfinding, save and loading systems, basic pick ups, using asset packs, debug code, making particle effects and more. We'll also give you a robust code architecture for managing more complex projects by setting up namespaces. You'll need a basic grasp of Unity and C# before you get start, from there we'll be teaching you more advanced programming techniques such as C# delegates, interfaces, co-routines and more. Building an RPG is an amazing way to level-up you game development skills, so why not join us and get started improving your game development right now?
Read more

RPG Core Combat Creator: Learn Intermediate Unity C# Coding
 at 
UDEMY 
Curriculum

Introduction & Setup

Welcome To The Course

Coupon For Original Course Content

Install Unity 2018.3

Install Visual Studio Code

Not Making Intellisense?

Quick Game Design Overview

Architectural Overview

Community & Support

Basic Movement

Section Overview - Basic Movement

Create A Simple Sandbox

Move Using Nav Mesh Agent

Refining Your Nav Mesh

Introduction To Raycasting

Implement Click-To-Move

Create A Fixed Follow Camera

Animation Blend Trees

Match Animation To Movement

Basic Movement Tweaks

Project Folder Structure

High Level Game Design

Section Intro - High Level Design

1.5 Page Game Design Document

The Player Experience

First Draft Of Your GDD

Basic Combat

Section Overview - Basic Combat

Separating The Control Layer

Namespaces To See Dependencies

Raycasting For Components

Implementing Action Priority

Move Within Range

Cancelling Combat With Movement

Decoupling Dependency Cycles

Dependency Inversion With Interfaces

Add Attack Animation

Trigger Animation In Code

Throttling Our Attacks

Taking Damage

Nested Prefabs And Variants

Using Prefab Variants

Any State Animations

Trigger Death Animation

Stop Attacking Already

Look Them In The Eyes

Ignore Dead Enemies

Bugs? What Bugs?

Enemy AI

Section Overview - Enemy AI

Calculating AI Chase Distance

Swappable Control Systems

Disable Control When Dead

Visualising With Gizmos

AI Guarding Behaviour

That's Some Suspicious Behaviour

Visualising Waypoints

Waypoint Loops

Patrolling Behaviour

Dwelling At Waypoints

First Moment

Section Overview - First Moment

Design A Moment

Sketch Your Moment

Tips To Improve Workflow

Craft The Environment

Hits-To-Kill Design Metric

Tweak Enemy Patrol

Cinemachine Follow Camera

Make Cinematic Sequence

Trigger Cinemachine Cut Scene

The Observer Pattern In C#

Player Input In Cutscenes

Scene Management

Section Overview - Scene Management

Make A Second Scene

Scene Loading Portals

How Coroutines Work

Wait For Scene To Load

Player Spawn Point

Cross Scene References

Canvas Groups For Fading

Nested Coroutines For Fading

Avoiding The Singleton Pattern

Saving Asset Pack

Section Overview: Saving Asset Pack

The Saving System Overview

Triggering Saving And Loading

Saveable Components And GameObjects

Challenge: Saveable Health

Checkpoints Between Scenes

Loading The Saved Scene

BONUS: Capturing Multiple Parameters

BONUS: Runtime Objects

Saving System

Section Overview: Saving System

Save System Design

Overview Of Binary Serialization

File Paths In C#

Understanding Unicode

Filestream Read And Write In C#

Converting To Binary In C#

BinaryFormatter For Serialization

Saveable Entities

Generating UUIDs In C#

Editing SerializedFields

Serializing With SaveableEntities

Saving Multiple Scenes - Part 1

Saving Multiple Scenes - Part 2

Checkpoints Between Scenes

ISaveable Components

Deduplicating UUIDs

Restoring Health

Reloading The Last Scene

Fading Before Scene Load

Simple Weapons

Section Overview: Simple Weapons

Equip A Weapon

Animator Override Controller

Creating Scriptable Objects

Unarmed As A Weapon

Basic Weapon Pickup

Left Handed Weapons

Make A Weapon Projectile

Shoot Projectiles

Damage From Projectiles

Trails & Prefab Variants

Destroy Old Weapon

Improve Projectile Behaviour

Fireball Weapon & Pickup

Fireball Particle System

Projectile Impact Effect

Destroy The Unwanted

Resetting The Default Animator

Dynamic Resource Loading

Saving Weapon Choice

Pickup Respawning

Character Stats

Progression Design

Progression Scriptable Object

Looking Up The Health Stat

Debug Health Display

Enemy Health Display

Awarding Experience Points

Editing Scriptable Object Files

Finding A Stat By Enum

Saving Experience Points

Displaying Experience

Performant Lookups With Dictionaries

Levelling Up

Displaying The Level

Squashing Health Bugs

Events And Delegates

Delegates And Actions For Leveling Up

Saving Race Conditions

Level Up Events And Particle Effects

Damage Progression

Extensible Modifier System

Percentage Modifiers

Data Hazards And Race Conditions

Hunting Down Race Conditions

Awake vs Start

Lazy Initialisation

Progression Stats Spreadsheet

Final Polish

Configurable Cursors

Cursors And UI

Generic Raycastable Components

Cursor Type With IRaycastable

Raycast Sorting

Raycasting To A NavMesh

Calculating A NavMesh Path

In Game UI

Text Fading Animation

Spawning Damage Text

Using Unity Events

Updating The Damage Text Value

Unity Events With Parameters

Health Bar UI

Updating The Health Bar Scale

Disabling Empty Health Bars

Fixing The Fader

Coroutine Race Conditions

Camera Facing LateUpdate Fix

Sound Effects And UnityEvents

Weapon Prefab Refactor

Fighter To Weapon Communication

Boom Microphone Audio Listener

Health Pickup Hack

Visual Polish Audit

Visual Polish Part 1

Visual Polish - Macro Details

Visual Polish - Micro Details

Combat Moment Fine Tuning

Bug: Attacking Distant Enemies

Enemy AI Agro

Enemy Mob Mechanics

Bug: Shooting Over Water

You've Finished The Course!

Updates & Important Messages

Old Content Follows...

Character Movement (Older Content)

Why You Should Buy This Course

Welcome To The Course

About Character Movement

Start Designing Your RPG

Set Up A Combat Sandbox

A Simple DIY Follow Camera

Pan And Tilt Camera Options

Prototyping With Placeholders

Raycasting And Layer Masks

Using Raycasts To Query Click

Click Mouse To Move

Work Breakdown Structure

Instructor Hangout 1.1

Organizing Project For Teamwork

Using Cursor Affordances

Most Important Combat Feature

Gamepad Movement Mode

Onion Design

The Player Experience

TODOs And Bug Fixes

The Observer Pattern

Using Delegates In C#

The Event Keyword In C#

Instructor Hangout 1.2

Section 1 Wrap Up

Core Combat (Older Content)

Section 2 Introduction

Attacking The Enemies Design

Using Gizmos To Visualise Code

Player Health Bar UI

Enemy Floating Health Bar

Ranged Attack Problem

Update Your 1 Page GDD

Set Your Art Direction

Sketch Your Prototype Level

Importing Level Assets

Instructor Hangout 2.1

Creating Terrain

Block Out Your Level

Review And Adjustments

Commenting Your Level

Standardising Scene Setup

Dimensional Analysis Primer

Help Writing Physics Code

Make Enemies Pathfind To Player

Don't Panic!

Fully Event Based Raycasting

Writing Custom Editors

Player Pathfinding To Enemies

A Message From The Future...

Instructor Hangout 2.2

Prototyping Goals And Progress

Refine Your Nav Mesh

Tuning And Exploring

Importing Humanoid Animations

Using Interfaces In C#

Calling Methods Via Interfaces

Enemy Move And Attack Spheres

Spawning Enemy Projectiles

InvokeRepeating() vs StartCoroutine()

Player Melee Damage

Instructor Hangout 2.3

Creating Enemy Archetypes

Health And Damage Philosophy

Start Your Stat Spreadsheet

Healing Companion Prototype

Level Story Theme And Flow

Playable Level With Combat

Rising Complexity, Refactoring

Using The Trail Renderer Component

Preventing Projectile Pass-Through

Instructor Hangout 2.4

Fix Wobbly Characters

Thoughts On Organisation

Preparing Our Assets Folder

Set Dressing Our Level

Adding Water

Movement Bug And Water

Adding Trees

Asset Showcase Scene

Get Your Dev Hat Back On

Introducing Scriptable Objects

Adjustable Weapon Grip

Problems With Prefabs

Import Mecanim Animation Pack

Projectiles Discriminate

Section 2 Wrap Up

Modifiers And Abilities (Older Content)

Section 3 Introduction

Design Planning And Decisions

Your Game Design Document

Unity 5.6 And VS Community 2017

Using Namespaces In C Sharp

The Animator Override Controller

Protecting Our Interfaces

Untangling Standard Assets

Trigger Player Hit Animation

Triggering Audio On Radius

Terrain Optimization

Our First Dialogue

Tasks And Bugs

Placing Props

Weapon Design

Changing Your Skybox

Bridges And Navmesh

Enemy Mesh Antics

Adding An Energy Mechanic

Extension By Composition

Detecting By Layer In 3D

Simplifying Click To Move

Simplifying Click To Attack

Player Choice In Combat

Special Abilities System Overview

Storing Special Ability Config data

Making A Class Single Purpose

Implementing Power Attack Behaviour

Using Structs For Parameter Sets

Create An Area Of Effect Ability

Regenerating Energy Over Time

Game Feel Intro

Game Feel Audit

Spreadsheet Strategy

Spreadsheet Spine

When Mouse Leaves Game Window

Coroutine For Death Sequence

Player Damage & Death Sounds

Player Death Animation

Using Image Fill In UI

Adding Special Ability UI

Level Design Paradigms

Level Design Choice

Assets And Improvements

Particle Effects Intro

Glowing Dust Effect

Spawning Particles At Runtime

Self Heal Special Ability Challenge

Triggering Special Abilities From Keys

Finishing The Self Heal Ability

Critical Hit And Weapon Bonus

AOE Particle Effect

Self Heal Particle Effect

Section 3 Wrap Up

Finished Demo (Older Content)

Section 4 Introduction

From Interface To Inheritance

Less Lines Of Code Is Better

Centralise And Improve Audio Clips

Making Abstract Methods Concrete

Weapon Pickup Points

Weapon Change Mechanics

Eliminate AICharacterControl

Simplify Unity's ThirdPersonCharacter Class

Introducing Unity 2017

Caution With Callbacks In Refactors

Eliminating ThirdPersonCharacter.cs

Extracting a DamageSystem Component

Getting To Compilation With Focus

Centralising Special Ability Code

Eliminate A Struct And Interface

Using Optional Parameters In C

Having Characters Build Themselves

Completing Character Self-Setup

A SetDestination() Movement API

A Strong Character Basis

Slowly Extracting WeaponSystem

Recap And Review When Tired

Simplifying Enemy To EnemyAI

AI Behaviour Tree In Unity

Waypoint Paths With Editor Gizmos

Patrolling Using Coroutines

Automatic Repeat Attacking

Stopping Coroutines In Update

Special Ability Animations

Running Coroutines In Series

Finshing The Fight

Finishing The Weapon System

Polish Audit

Tuning Paradigms

Rebuilding Enemies

Surprise And Delight

Continuous Attack Bug

Lazy Enemy Bug

Dialogue Workflow

NPCs That Don't Hit

Wandering NPCs

Grip Scaler

Easier To Hit Enemies

Ben's Bug Bashing Bonanza

Achieving Audio Awesomeness

More Death Bugs

Music And Ambience

Tweak Your Lighting

Final Design Thoughts

Congratulations

We'd love to see your game!

Continuing Your GameDev Journey

Bonus Lecture - Our Other Courses

Bug? What Bug?

Swappable Control Systems

Swappable Control Systems

Other courses offered by UDEMY

549
50 hours
– / –
3 K
10 hours
– / –
549
4 hours
– / –
599
10 hours
– / –
View Other 2344 CoursesRight Arrow Icon
qna

RPG Core Combat Creator: Learn Intermediate Unity C# Coding
 at 
UDEMY 

Student Forum

chatAnything you would want to ask experts?
Write here...