Godot Tactics RPG – 05. Pathfinding

It’s me 7thSage again. I’m back again for part 5. Pathfinding. I expect that this is probably the one a lot of you have been waiting for. Some of you may be expecting us to go down the road of A*(read as A Star), instead we’ll be using a simpler, and in this case faster, method. As we need to find all possible tiles a unit can move to, A* quickly bogs down because it is designed to find a single path from point A to B as quickly as it can, but finding a path from A to B-Z is a lot of individual paths. During our search instead of saving multiple paths, we leave trails of breadcrumbs that we can follow back from any tile we later choose.

Continue reading

Tactics RPG Music

It’s been almost a year since the last post, but I finally have a reason to revisit this project. Brennan Anderson wrote some amazing music after following along with the Tactics RPG project and was generous enough to share it with the rest of us. Thanks to him, we will go ahead and add a follow-up post that describes working with music.

Continue reading

Tactics RPG A.I. Part 2

In A.I. Part 1, we added autonomous agents. Our enemy units could randomly move around the board and pick and use abilities with random targets. Now it is time to make them move and aim with a purpose. We need our enemies to be smart enough to hit multiple targets, attack from the best angles, and avoid friendly fire, etc. They should always act intelligently from the options which are available.

Continue reading

Tactics RPG A.I. Part 1

I’ve decided to split the A.I. implementation into two parts. This first part will cover the “what” as in “what ability do I want to use?”. This is the easier of the two problems. The next portion on “how” as in “how do I know where to move and aim to best use the ability?” is rather complex. Since this bit is easier, I will also include the code that ties the A.I. into the battle states, as well as adding another user interface view which shows the name of the ability that a computer controlled unit has chosen to use.

Continue reading