“The last thing you want to do is finish playing or doing anything and wish you would have worked harder.” ― Derek Jeter
Interestingly, this quote appeared on my Twitter feed out of the blue a couple weeks after writing my first article. It led me to wonder why should I begin on a quality piece of software and then leave it half-baked to never see the light of day? Needless to say, there were many holes in the code that became apparent only after a second viewing ten days later; this included a glitchy spawning system and an exponentially increasing difficulty ceiling. However, my love for the process itself greatly outweighed the sheer amount of problems that compromised the minimum (barely) viable product.
Right off the bat, I realized why having planets spawn in the exact order of the solar system was an issue: the size of the planets themselves varied; in fact, there is a direct correlation between the radius of the planet and the difficulty of the given level. To combat this, I created an algorithm that automatically generated procedural planets in real-time. This method also ensured that no two planets within the same session were ever exactly the same.
This new procedural planet system also helped me realize that the current control scheme was impossible. Tapping and holding either to the left or to the right of the screen does not give the player enough control. Consequently, when the planets get to a large enough size, it becomes more difficult for the player to move quickly enough to block the comets. These observations led me to implement a swipe control that changes the speed of the defender based on the sensitivity of the swipe.
A major problem that was noted was an absence of a ceiling for game difficulty. In fact, it lacked what I refer to as a “maximum coasting experience”: the point in the game where the player is simultaneously challenged and fully engaged. I was able to resolve this issue this by extensively testing and evaluating user analytics to determine where players in the top 15th percentile of high scores begin to struggle during the game. Next, I set the max difficulty variables based on the acquired data. As a result, I was able to create a much more immersive experience by developing a method that assessed real-time player performance and consequently adjusted the difficulty of the following game session according to those results.
This class was used throughout the whole app including the GameOver view where the number of stars and the banner text used was based on the analysis.
After ironing out all the bug fixes and other technicalities came possibly the hardest part of developing an app — the identity. The name Yuē (yoo-ay) is actually the Chinese word for ‘moon’, but the idea of the name was discovered after re-watching Book One of Avatar: The Last Airbender — i.e. the game is actually named after a princess in the show.
The hardest part of the branding process had to be deciding on what icon I would use for the Game. My previous apps had straightforward icons that simply reflected the purpose of the app. My thought process evolved during the development of this app and led me to realize that the representation of the app shouldn’t be limited to a single defender or planet due to the spontaneous nature of the game; rather, the app should reflect the sole constants of the game — the comet and the planet Earth.
At the time of this article being published, I will have released the 1.2 update of Yuē. This update introduces a store where users can change their defender on a given planet, with each defender uniquely animated. Any suggestions for different defenders are much appreciated! This update also introduces a completely new UI and navigation system; the 8-bit look really complements the low poly 3D gameplay. In addition, the update also introduces a perk for streaks — the longer you stay on a streak, the greater the score bonus. Be sure to go download the app which is available on both iOS and Android platforms, and if you have already downloaded the app, be sure to check out the update!
If you have any feedback, suggestions, or mind-blowing ideas be sure to let me know either below in the comments or message me on Twitter. Be sure to share this article with your friends! The more input the merrier (Also, a couple claps wouldn’t hurt either!)