If you are having trouble accessing the site, change your pledge currency to USD

(NEW) Turn Based Game

Let's create a turn based game, this time we're going to utilize tools and a lot of tricks to make our life easier on creating this game.

We're also going to cover topics such as Action Points & Xcom style, pathfinding (with 3d movement), multiplayer and later on AI.


This series is entirely from scratch, so you don't need to have follow any of my other turn based series prior to this.

Course Lessons
Course contains 72 lessons.
Let's see how we can effortlessly create a grid on top of an already existing level

Let's detect where obstacles sit on our level

Let's add floors in our level

Let's make our nodes have different world positions while not violating the grid

Let's build the template for managing turns and phases

Data containers for players, both human and not

Let's create a new simplistic finite state machine for this game

Let's create variables that can be used withour relying onto references

Let's create our A* Pathfinder for our game

Quick fix for where we left off our pathfinder on the last video

Let's create a few interfaces for interacting with objects in our scene.

Let's move our units on to our path

Let's make a few tweaks into our grid that will fit our level better

Let's see some examples of more advanced pathfinding

Let's add locomotion animations to our units

Let's integrate the inventory framework and SO library to make our lifes easier down the line

Let's create the setup for our characters and their action points.

Let's limit our path based on our action points

Let's visualize the nodes we can actually walk to

Let's create the setup for high level action management (for players)

Let's see the Template Design Pattern and how it can help us in this type of game

Following with our actions template, let's see the example for the attack action

Let's create a framework for context heavy node abilities, for example jumping down, climbing up and knocking out an opponent

Let's create a manager to visualize the node abilities and an interface for our player to actually do them. For the UI buttons to actually follow the world position, DO THIS: //rect is the rectangleTransform, not the normal transform! Vector2 pos = RectTransformUtility.WorldToScreenPoint(camera, targetPosition); rect.position = pos;

Let's start building our UI

Let's do a bit of a clean up and fix a few sticking interface bugs

Let's add costs to our abilities and some general fixes

Let's start building our item handling mechanics, we'll start with the weapons

Let's make our characters forced to look at only 8 directions

Let's fix some bugs and create on enter/ on exit actions for more control over our states. Plus a manager script to have all our action points calculations in one place.

Let's finish our algorithm for node based rotational movement

Let's complicate things by adding layered actions

Let's fix our rotation detection logic to be based off of triangles rather than distance

Let's see why we are doing everything we are doing here and where the upcoming changes will be based off

Let's tweak our action points system to be closer towards JA 2

Let's dynamically update our UI slots

Let's give more responsibilities to the actions rather than having them switching from a manager script

Let's create dynamic bullets

Let's update our bullet logic

Let's polish our aim a bit

Let's level up our bullet logic by adding a penetration algorithm... ( ͡° ͜ʖ ͡°)

Let's change the models we are using and do some maintenance

Let's make an aim assist and do some general fixes

Let's take our inventory to the extreme

Let's spice up our UI

Let's see the logic for saving our items and loading them back to the inventory

Let's create the mouse operations for us to be able to move items from slot to slot

Let's see how we can store where each item is placed where, all that dynamically

Let's change the way we instance our items to be more memory efficient

Let's see how to make character specific slots for our items

Let's turn our data into 3d models

Let's load cloth items

"I'm sorry, you're just not my cloth type" -Slot

Let's fix our bug that duplicated items

Let's make a tool that allows us to create icons for all of our items at runtime

Let's expand the icon maker to take into account skinned meshes

Let's move multiple characters at the same time!

Let's fix our path issues concerning multiple agents and recalculating the path

Let's add enemy spotting logic and the switch from realtime to turn based for combat. In true JA2 fashion

Let's start initializing our combat and clear some deprecated code

Let's fancy up our weapon handling

Let's make turn based game levels great again!

Feel free to NOT write anything from this video because it's a failed attempt to create data per grid object automatically. On the next one we will to do an easier way

Let's now do the proper level reading

Let's make a pathfinder that prefer stairs to change floors