Rpg Shops Abilities

Implement Shop Systems, Special Abilities, distributable Trait Points and polish your finished RPG!

Last updated 2022-01-10 | 4.6

- How to build a Shop System fit for any game genre
- How to build a highly flexible RPG Ability System
- Advanced programming concepts such as Composite and Strategy patterns

What you'll learn

How to build a Shop System fit for any game genre
How to build a highly flexible RPG Ability System
Advanced programming concepts such as Composite and Strategy patterns
How to create a RPG Trait System to distribute points to Str
Dex
Int
etc.
How to design a dynamic Main Menu
How to load and save to multiple slots
How to create a full game moment to showcase your game

* Requirements

* You should be able comfortable writing intermediate C#.
* Some familiarity with Unity's APIs is mandatory.
* You should know your way round Unity's editor quite well.
* We recommend you take at least the first half of our Complete Unity Developer 2D or 3D
* or equivalent
* as a pre-requisite.
* Previous courses from the RPG series will be extremely helpful but not required.

Description

Using Unity 2020.2, we show you how to include three essential game mechanics, Shops, Special Abilities and Traits, in your games.

This highly acclaimed series 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 prerequisite.

You can use the code we create in the course in any game or project you build. We’ll be using an RPG as an example. You don't need to have completed the previous parts of the RPG Series (the RPG Core Combat, Inventory Systems and Dialogue & Quests courses) but it will give you an advantage if you already have.

The course is project-based as we believe this is the best way to learn Unity and C#. You will not just be learning dry programming concepts, but applying them immediately to a real RPG as you go.

We’ll provide the RPG project created so far in the series so that you can practice integrating to an existing complex project. Every element of the project we touch will be fully explained and no knowledge of the project will be required.

In the course we will be building the following from scratch:

  • Shop and Traits UI

  • Integration between Traits and a modifier system

  • Main menus

  • Barter system giving discounts to player with high charisma

  • Buying and selling

  • Filtering shop items by type

  • Flexible and composable special abilities

  • Cooldown timers

  • Mana and money

In the process of the course we will cover advanced topics such as: C# Delegates, Interfaces, Lambdas, Strategy and Composite Patterns.

You will get full lifetime access for a single one-off fee. The creators are qualified and experienced coders and avid gamers, so are able to explain complex concepts clearly, as well as entertain along the way.

You will have access to a course forum where you can discuss topics on a course-wide basis, or down to the individual video. Get plugged into our communities of amazing developers on Facebook (nearly 20k), in our own TA-curated Community (17k views/day), and our student chat group (10k live at any one time).

The course is still in production with new videos dropping on a weekly basis, making now a great time to get involved and help shape its future.

Shops and Abilities are core to many game genres. So why not join us and get started improving your game development right now?


Who this course is for:

  • This course is for intermediate Unity users who want to create their own Shop, Abilities or Traits systems.
  • Students who want to complete the RPG series.

Course content

6 sections • 94 lectures

Shop Section Overview Preview 10:10

In this video (objectives)…

  1. Sam shows us the finished shops prototype and outlines the journey to get us there.

Creating a UI Component Library Preview 13:48

In this video (objectives)…

  1. Sam shows us how to speed up UI development with a reusable library of UI components.

Solution: Component Library Preview 05:49

In this video (objectives)…

  1. Sam finishes what he started and finishes making his Component Library

Shops Basic UI Outline Preview 14:49

In this video (objectives)…

  1. Sam shows us how to build the outline of a shop UI using our reusable components.

Headers Preview 09:59

In this video (objectives)…

  1. Sam shows us how to make a header row prefab.

Row Variants Preview 10:55

In this video (objectives)…

  1. Sam shows us how to create our rows based on the headers and how to keep everything in alignment.

Component APIs Preview 18:15

In this video (objectives)…

  1. Sam shows us the main classes that will provide the data for the shop UI.

Opening Shops Preview 19:30

In this video (objectives)…

  1. Sam shows us how to use the Shopper component to display UI when a shop is opened.

Shop Names & Closing Preview 06:46

In this video (objectives)…

  1. Sam shows us how to close shops and we hook up the got names for each shop keeper.

Building A Shopping List Preview 16:26

In this video (objectives)…

  1. Sam shows us revises how to dynamically build a UI list.

Displaying A ShopItem Preview 12:36

In this video (objectives)…

  1. Sam shows us how to link the ShopItem class to our RowUI prefab.

Configuring Stock And Price Preview 13:56

In this video (objectives)…

  1. Sam show us how to expose the stock configuration in the editor so that a designer can use it.

Quantity Widget Preview 12:29

In this video (objectives)…

  1. Sam shows us how to create a widget to add and remove to our transaction.

Preparing A Transaction Preview 15:23

In this video (objectives)…

  1. Sam show us how to store the quantities of items in our transactions and to use Actions to update the UI.

Completing A Transaction Preview 18:10

In this video (objectives)…

  1. Sam shows us how to transfer items from the shopping basket to the players inventory.

Calculating A Total Preview 06:52

In this video (objectives)…

  1. Sam shows us how to calculate the total price of a transaction.

Money Component Preview 14:06

In this video (objectives)…

  1. Sam shows us how to create a simple component to act as the players money.

Money UI Preview 12:58

In this video (objectives)…

  1. Sam shows us how to create a UI to display the balance in the player's purse.

Tracking Stock Preview 11:01

In this video (objectives)…

  1. Sam shows us how to track stock in dictionary to limit purchases.

Checking A Transaction Preview 13:14

In this video (objectives)…

  1. Sam shows us how to disable the buy button when a transaction isn't possible.

Checking Inventory Space Preview 07:53

In this video (objectives)…

  1. Sam lays the ground work for checking the inventory space for a transaction

Stackables And Free Slots Preview 10:20

In this video (objectives)…

  1. Sam modifies the Inventory script to support checking for stacked items and free slots.

Switching To Selling Preview 13:32

In this video (objectives)…

  1. Sam shows us how to switch between buying and selling mode and calculate different prices on this basis.

Counting Inventory Availability Preview 09:10

In this video (objectives)…

  1. Sam shows us how to calculate the availability in the inventory when selling.

Selling Transactions Preview 11:56

In this video (objectives)…

  1. Sam shows us how to confirm a transaction when selling.

Setting Filters Preview 10:07

In this video (objectives)…

  1. Sam shows us how to bind the filter buttons to Shop.SelectFilter via a new FilterButtonUI component.

Displaying Filters Preview 04:57

In this video (objectives)…

  1. Sam shows us how to display the currently active filter by setting Button.interactable = false.

Filtering Items Preview 05:38

In this video (objectives)…

  1. Sam modifies the InventoryItem and GetFilteredItems to show a filtered list in the shop.

Stock Config Based On Level Preview 10:45

In this video (objectives)…

  1. Sam shows us how to unlock items in a Shop stock based on the player's level and experience.

Calculating Price By Level Preview 14:44

In this video (objectives)…

  1. Sam shows us how to refactor GetAllItems() to work with cumulative discounts by level.

Replenish Stock By Level Preview 14:54

In this video (objectives)…

  1. Sam takes us through more refactoring from storing the stock as state to storing the stock sold.

Saving Stock & Purse Preview 10:16

In this video (objectives)…

  1. Sam implements ISaveable on the Purse and Shop components.

Abilities Section Overview Preview 03:47

In this video (objectives)…

  1. Sam shows us around the Ability system and it's power and flexibility.

Triggering The Action Bar Preview 14:40

In this video (objectives)…

  1. Sam shows us how to connect the PlayerController to the Action Bar to launch Special Abilities.

The Strategy Pattern Preview 08:59

In this video (objectives)…

  1. Sam explains the architecture we will use for our composable ability system.

Overriding And Abstract Classes Preview 12:22

In this video (objectives)…

  1. Sam shows us how to create an abstract base class Scriptable Object and how to inherit from that to create our first Targeting Strategy.

Coroutines From Scriptable Objects Preview 16:13

In this video (objectives)…

  1. Sam shows us how to run a coroutine from a Scriptable Object to implement delayed targeting.

Sphere Cast Area Of Effect Preview 18:43

In this video (objectives)…

  1. Sam shows us how to use Raycasts and Sphere Casts to get a list of targets within an area of effect radius.

Making A Summoning Circle Preview 18:47

In this video (objectives)…

  1. Sam shows us how to make a summoning circle prefab and spawn it at the correct location.

Filtering Strategy Pattern Preview 13:35

In this video (objectives)…

  1. Sam shows us how to apply the strategy pattern again to create filter for our targeted Game Objects.

Effect Strategies Preview 15:35

In this video (objectives)…

  1. Sam shows us how to apply the Strategy pattern again, this time to create configurable effects for our Abilities.

Grouping Parameters Into A Class Preview 12:06

In this video (objectives)…

  1. Sam shows us how we can make our method signatures simpler by grouping parameters into a single class.

Blast Particle Effects Preview 12:52

In this video (objectives)…

  1. Sam show us how to create a new Effect Strategy to launch particle effects.

Cooldown Timers Preview 15:25

In this video (objectives)…

  1. Sam show us how to use Dictionaries to store cooldown timers for Scriptable Objects.

Image Type: Filled Preview 14:38

In this video (objectives)…

  1. Sam show us how to use and image type "filled" to overlay a cooldown timer on our action bar.

Mana Component And Display Preview 11:18

In this video (objectives)…

  1. Sam shows us how to create a component to track mana and display it.

Mana Regeneration Preview 04:17

In this video (objectives)…

  1. Sam show us how to regenerate mana over time.

Mana Progression Preview 11:13

In this video (objectives)…

  1. Sam show us how to integrate the Mana system with the progression system to level up

Animation Effect Strategy Preview 11:03

In this video (objectives)…

  1. Sam shows us how to build effects to trigger animations and rotate towards our target.

The Composite Pattern Preview 09:51

In this video (objectives)…

  1. Sam shows us how to apply the composite pattern to creating very flexible effects.

Cancelling Abilities Preview 13:28

In this video (objectives)…

  1. Sam show us how to cancel abilities on death and have abilities cancel other actions.

Saving Mana Preview 02:00

In this video (objectives)…

  1. Sam challenges us to save our mana.

Self Targeting Strategy Preview 10:19

In this video (objectives)…

  1. Sam shows us how to implement a self targeting strategy so that we can heal ourselves!

Spawning Projectiles Effect Preview 13:09

In this video (objectives)…

  1. Sam shows us how to spawn projectiles from an Effect.

Directional Targeting Preview 22:29

In this video (objectives)…

  1. Sam shows us how to setup directional targeting for our projectiles.

Polish And Extensions Preview 06:41

In this video (objectives)…

  1. Sam polishes of the fire spray ability and shows us how we could extend the Ability system.

Traits Section Overview Preview 02:43

In this video (objectives)…

  1. Sam shows us the traits system we will build in this section.

Mock Trait UI Preview 15:05

In this video (objectives)…

  1. Sam shows us how to mock up the UI for our traits window.

Trait Row UI Scripts Preview 09:54

In this video (objectives)…

  1. Sam implements a row UI script to make our traits UI interactable.

Trait Store Component Preview 12:26

In this video (objectives)…

  1. Sam shows us how to connect our UI to a Trait Store component on the player so we can have a quota of points to allocate.

Staging And Committing Traits Preview 11:16

In this video (objectives)…

  1. Sam implements a staging area for points before confirming an allocation.

Progression And Trait Points Preview 09:43

In this video (objectives)…

  1. Sam shows us how to allocate more trait points when we level up.

Traits And Modifiers Preview 15:43

In this video (objectives)…

  1. Sam shows us how to link the trait system with other gameplay via the modifer system.

Shop Barter System Preview 10:15

In this video (objectives)…

  1. Sam implements a barter system using modifiers, traits and stats.

Wrap-up & Extensions Preview 02:09

In this video (objectives)…

  1. Sam recaps the section and challenges us to extend our traits system.

Menu Section Overview Preview 02:13

In this video (objectives)…

  1. Sam shows us the prototype for the main menu section including the new death respawn and penalty.

Creating A Main Menu Scene Preview 07:51

In this video (objectives)…

  1. Sam shows us how to set the scene with a moving main menu backdrop.

Importing Fonts & Menu UI Preview 12:37

In this video (objectives)…

  1. Sam shows us how to import a font to create a main menu title. We also assemble our main menu mock UI.

Continue Last Save Preview 12:22

In this video (objectives)…

  1. Sam shows us how to tweak the save system to load the last level from the main menu.

Switching UI Screens Preview 11:55

In this video (objectives)…

  1. Sam shows us how to switch between UI screens and configure this entirely in the editor.

New Game & PlayerPrefs Preview 16:20

In this video (objectives)…

  1. Sam shows us how to use PlayerPrefs to store the last save game name and we use InputFields to select a name.

Load Game UI Preview 12:52

In this video (objectives)…

  1. Sam builds a Load Game UI to list all our saved games.

List Files In A Directory Preview 14:00

In this video (objectives)…

  1. Sam shows us how to list all the save files on the file system.

Pausing With TimeScale Preview 13:14

In this video (objectives)…

  1. Sam shows us how to use Time.timeScale to pause a game while a menu is displayed.

Save And Quit Preview 10:54

In this video (objectives)…

  1. Sam hooks up the save and quit functionality in both our menus.

Respawn On Death Preview 13:19

In this video (objectives)…

  1. Sam shows us how to respawn the player character when they die.

Resetting Animators Preview 06:47

In this video (objectives)…

  1. Sam shows us how to reset and Animator and refactor our health component to achieve resurrection.

Resetting Enemies Preview 15:45

In this video (objectives)…

  1. Sam shows us various bugs in the respawn system and we fix them all. We also reset enemies so that we have a safe space to respawn to.

Bug Fixes & Extensions Preview 06:35

In this video (objectives)…

  1. Sam fixes some bugs and shows us how we could extend our project.

Final Moment Section Overview Preview 10:23

In this video (objectives)…

  1. Sam and Rick discuss designing a gameplay moment to pull together the features we have implemented in our RPG.

Initial Level Layout Sketch Preview 06:49

In this video (objectives)…

  1. Sam shows us how to clear out our level and sketch a basic enemy placement.

Auto Attacking and Super Speed Preview 14:11

In this video (objectives)…

  1. Sam show us how to implement auto attacking and sped up gameplay so we can quickly test our combat.

Armour and Defence Points Preview 20:04

In this video (objectives)…

  1. Sam shows us the maths behind armour and how to make it scale as the game progresses.

Tuning Combat Difficulty Preview 18:00

In this video (objectives)…

  1. Sam shows us how to play test and tweak our combat encounters and values.

Tuning Item Price Preview 14:37

In this video (objectives)…

  1. Sam shows us how to think about pricing items based on their impact on our health.

Money Pickups Preview 12:43

In this video (objectives)…

  1. Sam shows us how to allow money to be picked up or given as a reward to a quest.

Tuning Drops Preview 16:21

In this video (objectives)…

  1. Sam shows us how to set the monetary value of drops so that we can replenish our health from fights.

Conditions For Equipment Preview 21:25

In this video (objectives)…

  1. Sam reuses the condition system from dialogues and quest to put limits on equipping certain items.

Tough Fight Preview 16:07

In this video (objectives)…

  1. Sam shows us how to tweak a heavy enemy to get a really tough and challenging fight.

Experience Tuning Preview 09:38

In this video (objectives)…

  1. Sam shows us how to scale experience points for ranged enemies and tweak to get level up at the right time in the game.

Conditional Dialogues Preview 12:48

In this video (objectives)…

  1. Sam shows us how he adds dialogue that responds to the players equipment and traits.

Conditional Quest Objectives Preview 18:23

In this video (objectives)…

  1. Sam shows us how to implement conditions on quest objectives to finish off our moment.

Course Wrap-up & Extensions Preview 10:55

In this video (objectives)…

  1. Sam tells us how to continue our own RPG journey.