Challenges
Tiny Gear
The difficulties presented here primarily relate to the learning process involved in programming a video game for the first time.
Differentiating Input Types
Challenge
Since this was the first video game personally developed, understanding how to link gameplay with player actions was a new experience. Exploration was required to grasp the various input methods.Action
Searching the online revealed variations of a single input.GetKey
is for a continuous hold, useful when a player wants the cog in the game to travel in a specific direction for a set duration. GetKeyDown
represents a key just pressed, ideal for quick, responsive actions. GetKeyUp
triggers when a key is released, often used for stopping gestures, such as ending a charged attack.
Result
Understanding these input methods led to experimental ideas. For the fast-paced endless runner, the jump mechanic was refined, andGetKeyDown
was chosen as the primary input method for responsive gameplay.
Exploring New Platforms
Challenge
Many resources were available for coding on iPhone devices, but few existed for the new version of Apple TV, which was about to release its very own App Store. Making the game available this digital storefront became a personal goal.Action
Unity 5 provided an Apple TV software development kit that supported the Siri Remote. The application programming interface was explored to identify usable input methods. Searching revealed that there was an abundant amount so a script was written that used each in a way that would execute unique debug text. The game was installed and launched on the newly purchased device. Then all of the buttons on the remote were individually pressed to see what output was generated.Result
Using code in a way to test revealed thatInput.KeyCode(Joystickbutton14)
correctly registered presses on the glass touch surface of the Siri Remote. This was the primary button to be used to execute jumps in the game.
Learning the Editor
Challenge
Unity 5 was completely unfamiliar at the time. Understanding its operation was essential for creating a video game as there were not many alternatives at the time.Action
The entire instruction manual was read to gain a clearer understanding of the editor’s structure. Notes were taken to remember key aspects, including a visual breakdown of the interface shown in the image above. Questions, such as how to add code to individual components, were documented and answers were researched to deepen understanding.Result
The instruction manual contained extensive information, though some sections introduced complex concepts. Practicing in the editor proved to be the most effective way to fully understand how Unity 5 functioned.Movement Inconsistencies
Challenge
As shown in the image above, the velocity of a player’s gear varied when jumping from one side to the other. The top panel displays the cog moving slowly to the right, while returning to the left it quickly flies through the air. At higher speeds, the character asset could get stuck within a platform’s collision.Action
Troubleshooting led to testing differentTime
methods to determine if the physics were affected by deltaTime
. Several other functions were examined, ultimately resulting in the use of smoothDeltaTime
.
Result
ThesmoothDeltaTime
function resolved the inaccuracies in physics calculations. While the root cause of the issue remains unclear, research also identified potential drawbacks, such as input lag, though tests confirmed that this was not the occurring.
Self-Taught Coding
Challenge
Programming was a new concept that had not been explored previously. Learning C# was essential to bring the game’s mechanics and systems to life.Action
At the time of development, fewer tutorials were provided by Unity Technologies, but enough existed to become familiar with C# in the editor. Each was completed thoroughly, eventually leading to the creation of a few small games, as shown in the image above. The first illustration represents a vertical space shooter, the second a third-person action adventure, and the last an online multiplayer first-person shooter.Result
Completing the tutorials clarified how logic is used in the editor and provided preparation for creating an independent project, which eventually becameTiny Gear
.