Well, here we are nearly 3 weeks since the last update and I’ve probably only been able to spend an hour or two here and there trying to put this concept together. Surprisingly, I have been able to hammer out at least some kind of… well, I would say prototype, but it’s more like a Step 0.
My first goal was to become completely proficient in programming and game design – but since I’m a long way off from 20,000 hours to put into both of those fields, I decided to take a different first step, and that was to watch YouTube tutorials.
Unity is a beast in the game development software arena, and it has tons of community created content that pretty much anyone can pick up and run with. One particular person I like to watch goes by Quill18, and his videos are really informative and well-paced. Not only does he do a great job of explaining the programming aspects of game development, but he also dives into 3D modeling (with Blender!), texturing and gives a bit of overall game dev advice for beginners.
Because the main mechanic in my game is going to be a “tagging” system, I scoured the internet to try to find information on what I thought was going to be a “reverse player target system,” or more simply an “avoid player script.” Truth be told, specific concepts like that don’t exist as a simple copy/pasta document, and while I wasn’t too sure what to expect, I kept finding myself looking at the Unity Asset Store trying to vet different ‘premium’ AI packages. Then it hit me, I don’t really need a complex AI system to avoid the player, I just need a simple waypoint system. Consider this for a second:
We all remember this guy from Super Mario 64. The game devs called him MIPS, and he was the inspiration for what I am trying to build. I would spend hours as a kid enjoying chasing him around the basement of Peach’s castle, all while not actually catching him, so the experience could last longer. Anyway, back to the task at hand.
Now, MIPS doesn’t have a complex AI script telling him where to run. He follows a simple waypoint system which breaks off into different paths depending on the proximity of the player. The benefit of this is that not only is this system a little more approachable for a beginner like me, but it also helps flesh out a particular part of this tagging mechanic – and that is predictability.
In my opinion, a key component in the strategy of catching MIPS was remembering the exact paths he would take and then trying to out-maneuver him and catch him. There was a little bit of unpredictability thrown in there for good measure, but otherwise he would follow the same path back and forth and it was up to you to head him off and pounce. I envision my game having a similar concept.
With all of that said, I decided to take a little break from vetting a waypoint system to take a stab at doing some modeling and basic game setup in Unity. I took some of my concept art for the character in the video, and did a rough silhouette model to use in Unity. I then attached the baked in First Person Controller to the player, and found a Wander.cs script online and added that to the ‘enemy.’ I then dabbled in some of the terrain editor features, but I’m pretty sure I’m just going to design/build a world map in Blender instead – I have a pretty specific style I’m going for and I think it’ll be much easier to build it in there. The video above is the culmination of my few hours of effort – we have a player controlled character who can traverse the map using WASD, some ugly terrain with collision detection / ‘safe zones’ for the enemy to wander in, and… well, a wandering enemy.
Voila. 🙂