Inspiration

We wanted to gain experience with making an Android app and felt that making this simple app would be a good way to start.

What it does

Star Choice asks two questions: "How are you feeling?" and "How intense are your emotions?" Star Choice then takes all eighty episodes of Star Trek: The Original Series and narrows it down to about four options that will be perfect based on your mood. For example, if you happen to be feeling frustrated or sad, the app chooses the most light and humorous, or most cheerful episodes. It then takes into account how intensely you are feeling your emotions on a scale of 1-3 and chooses the intensity of the episode based upon your intensity level. The most cheerful episodes are reserved for when you are feeling sad with an intensity level of three. Sad and frustrated aren't the only options, of course! Star Choice also chooses episodes complementary to happiness, emotional neutrality, and a desire to be intellectually stimulated. For happiness, the app chooses the most exciting episodes, for neutral, the most emotional episodes, and for intellectual, the most thought-provoking episodes.

How I built it

Star Choice was built using Unity, a game-development platform which implements the Unity API. The code was written using C# and most of the graphics were designed using Microsoft PowerPoint. The sound effects came from Unity Asset Store.

Challenges I ran into

First, neither of us had much experience with Unity or C#, which lead to general fumbling with the language and platform. One major problem was that Unity worked through use of "scenes" that were loaded by completely destroying the previous to load the new and learning how to save variables to exist through a scene change. Our first idea was to simply make a new scene for each possible answer, and although our app only has 15 possible endings, that's still a lot of scenes. We did the research and learned how to use the DontDestroyOnLoad function to coalesce these scenes into 3, ultimately.
The second major challenge, which is an issue in all apps, was storing the data we wanted to draw from. While an option was to use a database, Unity actually provides little support for databases, so we ultimately ended up storing our episodes in a 3D ArrayList: the first dimension being emotion, the second intensity, and the third storing the actual episodes. This allowed us to pull out the single ArrayList and then base the random number off its length.
Unity comes with its own set of quirks, and a well documented one is that fonts tend to look extremely blurry when first entered, and require some finagling to make them look the ultimate sharpness they possess in the app.

Accomplishments that I'm proud of

Even if its not an extremely complicated app, it's still one that we created and made operational, and used various tools at our disposal to make it look great.
We learned the basics of Unity, too, and considering its an extremely powerful and complicated too, that's something to be proud of.

What I learned

Early attempts lead us to learn parts of Android Studio, even if we ultimately switched to Unity. We learned a lot about Unity, even if we didn't touch much on the Physics aspects that, well, make Unity Unity. We still learned a lot about the user interface and how to add and manipulate Game Objects (even if this isn't a game per se). We also got to explore the Unity API and learn how all these aspects work together to turn into a working app. We got to learn about the syntax of C# and some quirks that distinguish it from similar languages. We also gained an appreciation for the time and effort that goes into making a mobile app.

What's next for Star Choice

If we decide to move ahead with Star Choice, we think it would be beneficial to make it statistics based. Users input the best Star Trek episodes for every emotion and intensity, and statistical analysis would be used to make its function stronger. Further improvement could also result in a link that connects the user to that particular episode on their Netflix app. The animated Starship Enterprise that flies around on the home screen and credits screen also proved to be aesthetically pleasing and would make a great standalone app.

Built With

Share this project:

Updates