Figuring Out a Story:
One of the most difficult parts of this project has been trying to figure out the story/premise behind my game. There are lots of very simple games that I could make, but I wanted to try to make something more compelling, with a developed story behind it. I was having a hard time deciding, so I started to look around for inspiration, and I came across this video.
In the video, toy designer Shimpei Takahashi talks about how he originally struggled to come up with ideas for new toys when he was forced to use market data from other toys as his inspiration. Eventually, Takahashi became so fed up with trying to design toys this way that he stopped using market data and instead turned to a technique called Shiritori, a word association game where you come up with a word that starts with the last letter of the previous word. As Takahashi suggests, the idea is to gather and connect random words and ideas, rather than trying to think of things within the category for which you're already designing.
I found Takahashi's advice to be really helpful. I stopped trying to come up with ideas based on other games I'd played and, instead, decided to just start playing some games for fun. While playing a free runner game where the main character is a little alien running through an endless tube in outer space, I remembered how much I liked movies like Gravity and Interstellar (which I had just re-watched the night before). At that point, I decided that I wanted to make a space-themed game. As I was thinking about my game, I looked over at my pet rat (another long story), who was running around in her cage, and an idea came to me: Why not make a game about a trained lab rat on a malfunctioning space station who has to solve an assortment of real-life puzzles in order to free herself and escape to safety? I liked this idea a lot. It may not have been the coolest or most inventive idea ever, but it was one I could definitely use to make a game of fun and unique puzzles.
Problems with Text:
Things have been going well with the program, Snap!, that I've been using. The language, as one could call it, is decently powerful for something so basic looking. However, I've come across one potential issue that I did not notice when I was first trying out the game: no basic text functions.
This is potentially a huge drawback with the program. Without comprehensive text features, it will be difficult to display certain messages or create sophisticated dialogue boxes. I decided to turn to the Snap! Manual, but I did not find a solution there. Next, I turned to the Scratch forums (since Snap! was largely based off of Scratch), as well as some other tutorials, and I found this, this, and this. I lot of these resources had some helpful ideas but nothing that fit exactly with what I needed. Eventually, I found a very basic text tool in the Snap! program that I could add on to the original list of tools. This option still does not quite fit with what I need, but it is better than nothing, and it is enough to make my project "work" for now.
In the future, I might try adding my own code to the Snap! program. Snap! allows one to create one's own code blocks using Javascript, and I do know a little bit of Javascript. Such a project would definitely take me a significant amount of time--not to mention that I would likely have to learn a lot more Javascript to be able to complete it--so this is not a very feasible task to accomplish in the time span of my 20% Time project. However, it is a project that could have some pretty significant results in terms of the Snap! program itself, and it is something I think I would really like to pursue in the future.