A little bad news. My programmer friend had other projects to take care of and couldn’t help with my project. That’s life. One can’t expect every person to drop whatever they’re doing in order to help you. Anyways, with this development and the fact that I don’t know any programmers, I had to take it upon myself to create the gesture input system.
I thing to note is that before approaching my programmer friend, I had researched a bit on how to use custom gestures for use with Unity. I couldn’t find much and what little I did find seemed way too complicated for me to understand, break down, and replicate. Since I couldn’t rely on my friend any more to figure it all out, I had to resume my research with a renewed sense of vigor and purpose –after all, this is one of the game’s core mechanic.
I began by talking to a scripting teacher, Scott Berkenkotter, at Academy of Art University to try to figure out how I can approach this problem. He gave me some good tips and advice on how to approach this but I was still at a loss on how to actually implement it and test it. I knew roughly how to create the necessary functions with Scott’s help, but I wasn’t able to put it into practice. It was during this period that a little light switched ON in my head. Instead of trying to research how to do custom gestures, why don’t I just find out how to implement regular gestures and then just customize that to fit my custom needs?
This time, research led to much better results. I was able to find a script in the Unity Asset Store that is able to take in gestures based on mouse or touch input. This script even boasted it could read customized gestures! I immediately bought for $10 and after I understood how it worked, I never looked back.
I was able to modify this script to take in data from the PS3’s motion controllers in both the x and y axis. I had to change a few settings as well so that I can physically see my gestures on screen and to make sure that the gestures I was creating were the way I wanted them to be. I was then able to create three simple gestures that were different but easy to use. I made a script that called from this gesture input script and made it so that players only had to match 90% of the gesture in order to input a correct spell for the game.
After testing this many, many times and getting classmates to test the accuracy of my gestures against their natural tendencies of moving their hands around, I realized that I had to create many variations of the same gesture in order to become universally understood and accepted. Granted, universally is too broad a scope but that was the idea. I then created at least 30 variations of each main gesture and the responsiveness of the gesture input script shot up drastically.
I now have one of my main mechanics working decently well! I was happy that I was able to get this working in a relatively short time. Now I must look at my schedule that was created for me while working with my Game Design Group Directed Study teacher, Jason Weesner, to make sure I hit all my appropriate milestones to complete my vertical slice for my final thesis presentation. I’m also happy that Jason took time to help create a schedule because it gave me a concrete direction to work towards. I had set up my own goals and milestones but this was much more defined and realistic in terms of time management and progress achieved.