Proficiency Skill Sphere Map
Proficiency Skill Sphere Map is a character progression system that aims to fix the issues of cookie cutter progression by combining a traditional proficiency system with a massive web of available choices to create a nearly endless number of possible character outcomes.
Create a proficiency system that uses a graph data structure that is intuitive and easy to use.
Support for multiple skill maps.
Build tools for rapid production of different maps.
Allow each map to hold it's own graph for it's nodes.
Quality user experience and understanding of the system.
I wanted to create a project that fixed RPG player progression systems by providing more options to the user that can be tailored to the way they want to play the game. I knew immediately that the progression template I wanted to follow would be in the likeness of Final Fantasy X and Path of Exile. These systems feel rewarding and allow users to plan how they want to progress their character.
With my first problem solved I had to plan a way to allow interactions to dictate where we earned experience. I solved this by utilizing a proficiency system as seen in games like Ultima Online, Mortal Online, Runescape and many more. These systems rewarded the user for playing their character and using various interactions associated with available skills.
At this point concept planning was complete, but I still had to overcome the user experience hurdles. My first prototype of the concept wasn't aesthetically pleasing, nor was it intuitive. To fix these issues I threw together some paper drafts and showed them to anyone who was willing to give me a few minutes of their time. It took a few draft iterations, but the results were surprising. New users were able to explain my system and how they would use it 95% of the time. The biggest shock came when previous testers got excited wanted to talk about how they would build their own characters. I knew at this point, I had a winner.
I returned to Unity to modify my old system to provide a better user experience. What I got out of the engine was wonderful and everything started falling into place very quickly. As I progressed through the different trees I returned to a previous thought of developing engine tools to make production of these maps and their nodes faster. I created a few Prefab objects and began to work on tools for rapid production.
I started by modifying the inspector to allow a single editor button to create a whole new skill map and dynamically assigning and linking it to the different sections of the UI. Now a designer only needs to give a skill some basic information, such as skill name and icon, and the map will generate itself.
With one of my tools completed I added some leveling functionality, so a user could earn and spend points in the proficiency maps. With a few test functions and an event system, this task was complete.
The last tool I wanted to create for this system was a node creator. I knew the UI was going to be very important for use, so I decided to place the generate node button on the node itself. This let me quickly find what node to use as the previous node and generate a series of next nodes with a single button press.
My original goals for this project are complete and it was awesome to see what I was able to accomplish alone in such a short time. The next steps are to create a game that utilizes this system and shows everything it is capable of doing for the world of character progression.