Godot Tactics RPG – 15. Turn Order

7thSage again, welcome back to part 15 – Turn Order. Up until this point, units have taken turns one after another, with no consideration for speed or any variation. In a tactics game such as Final Fantasy Tactics, units get their turn based on their individual speed, which can also be affected by things such as slow and haste. In this lesson we’ll be creating a controller class that will be able to handle cases such as those.

Continue reading

Godot Tactics RPG – 14. Ability Area of Effect

7thSage again. Welcome back. In the last lesson we set up the range that our attacks could hit. This time around we’re going to set the attack’s Area of Effect, or in other words, how many tiles the attack hits. Some attacks or abilities will only hit a single target, while others will spread across a large range. An archer may hit a single tile with his arrow, or a mage may cause a massive explosion hitting multiple tiles. The area that their attacks hit is our Area of Effect, while how far away their attacks reach is the Range.

Continue reading

Godot Tactics RPG – 13. Ability Range

7thSage again. Welcome back. This time we’ll be expanding upon pathfinding from earlier in the series and creating some different range options for our attacks. While some attacks might be a simple distance like our movement, other attacks might use a pattern such as a line or a cone. I did break from the original lessons on the specific formulas used in the different range options, but in the process I tried to add some additional functionality, and added a few new shapes. I hope you like them.

Continue reading

Godot Tactics RPG – 12. Stat Panel

7thSage again. This time we’ll be creating some more UI elements. We’ve been working with stats for a few lessons now, and its time we created something to show at least some of them. We’ll create a pair of panels to show the character’s name, level, HP and MP values. We’ll be mostly using the primary panel for now. The secondary panel we’ll use later for the target of an action.

Continue reading

Godot Tactics RPG – 11. Jobs

7thSage again. This time we’ll be working on adding a job system. Providing different stats and growth characteristics depending on which job a unit has. We’ll be loading in a .csv file, and creating a prefab for each job in code. We’ll also be adding some of the elements from the last couple lessons to our actual game characters.

Continue reading

D20 RPG – Refactor Injection

In the past, I have often created multiple iterations of prototypes before ever posting any content about it. This project has been raw – you are seeing it as I develop it. The hopeful benefit to that approach is that I am better able to share my thought processes behind each step of the way. That includes showing when I may decide I’ve gone down a wrong road, or at least that there is a better way to do something. While refactoring isn’t necessarily the most fun thing to work on, it is an important part of the process, and I think you’ll enjoy some of the changes I will make.

Continue reading

Reflecting on Dependency

It’s been a little while since I last updated my D20 project series. So, I want to take a moment to “reflect” on the architecture pattern I had been using for managing dependencies. There is a bit of a play on words there, because I had so much fun with “reflection” in my previous post, that I decided to experiment a bit more on how it could be used for a something that feels like auto-injection.

Continue reading

Attributes & Execution Order

When working in Unity, a lot of times making good use of both Awake and Start can be enough of an “execution order” to handle the initialization of your systems. For example, you can use Awake to make sure that local references are hooked up, then use Start to handle any coordinated or delayed initialization that might need to occur. This lesson is really about what you do when those two entry points are not enough.

Continue reading