Author: Jonah McConnell
Creating a skill tree takes a lot of forethought. Most people would be right when they say this goes without saying. I'd challenge those people, however, to consider not that they're wrong, but that they may not realize just how correct they are. A skill tree system like ours means that aside from the logical function I had established before, we had to make a variety of changes actually function rather than just exist on paper.
These are some of the main ways that skill trees affect the player. Each one represents a different technical challenge to implement. Lucky for me, I set up the cores such that adding many stat changes is a breeze. Adding the stat change from the skill tree's data was very straight forward. The issue for both the StatChange type and the AbilityUnlock type is finding the corresponding skill tree node when the information is needed.
While this set up works to input our data, it also highlights the difficulty of retrieving the data. Each item in this list has to be compared in order to find the relative information. While it's simply an ID comparison, it does highlight the poor way the skill tree was laid out. This was the first case where my old designs actively increased devleopment time in a noticeable way while I've worked on the project. This was because the skill tree was only designed with display in mind, and not any other systems. While a simple search function in the skill tree UObject helped get the job done, it is ineffecient, and to me was a sign that next time, I can better design my skill tree to make accessing it much quicker.
Did you like this post? Tell us
Leave a comment
Log in with your itch.io account to leave a comment.