Hi everyone! This is the first post of the development blog for the upcoming action-adventure game Vision ~ SR. What better way to start than explaining how it all began? It’d be good to write this all down before I forget anyway.
Among many other sources of inspiration, the core idea behind Vision ~ SR came from the 2014 movie Edge of Tomorrow, where Tom Cruise’s character learns more and more about how to stop an alien invasion by repeating the same day over and over. This movie was supposedly inspired by hard levels in video games, where the player fails a level so much that they eventually beat it just from remembering where all the enemies are and what they’re going to do. This always seemed like cheating to me though, as the protagonist within the universe of these games would have no way of knowing all this information about the level ahead of time. But what if there was a game where this was the entire point? Would it work? Would it be fun?
In the summer of 2015 I came up with the following concept for a game. The player is given a short amount of time (e.g. 15 minutes) to collect four keys in some sort of labyrinth. The majority of the game would be preparation; using the short 15 minute periods to enhance the player’s own abilities and determine the location of the keys. The paths taken would resemble a tree starting from one root location. One path would have the player heading right, one heading left, one heading left and then down, and so on. Ideally each path would serve a purpose, like determining the location of a key or unlocking a new ability. Once the player has learned everything they need to know about the labyrinth, they must use their knowledge to plan a route that would allow them to snatch all four keys and unlock the final door in the short 15 minute time limit.
This structure interestingly resembles basic concepts used in graph traversal. The initial runs are like depth first searches of a maze, and the final speedrun-like segment resembles a solution to a “travelling-salesman” problem, a classic “hard” problem in the Computer Science field. For a while the game was called “Nondeterminism” for this reason, but the name was dropped for being a mouthful to say.
Vision ~ Proto
With the general structure of the game planned, that left the question of what the minute-to-minute gameplay would be like. It could be anything really. I chose a 2D platformer with shooting combat just because I like those kinds of games and had experience developing them.
I also wanted unique features that fit the “seeing the future” theme. This is where the titular Vision mechanic comes from, which allows the player to see silhouettes of enemy attacks a second before they actually happen. Going backwards through time, denoted Flashback, was also thought of at the beginning but initially I wanted it to be an unlockable ability the player would get later on, and wasn’t even sure the mechanic would be fun. But I figured if there was even a small chance of including this mechanic, it would have to be integrated into the game’s code from the very beginning, which is why it was developed first. More about Vision ~ SR’s gameplay can be found on the Gameplay page.
To test out the minute-to-minute gameplay, I created a prototype version of the game called Vision ~ Proto. Proto was very short, and merely consisted of waves of enemies that the player had to defeat. It showed off the gameplay, but little else. Proto was a two-month project with a hard deadline of November 20, 2015, the date of that year’s Rensselaer Game Showcase (RGS). RGS was an annual event at Rensselaer Polytechnic Institute, the university I was attending, that allowed students to show off their game projects to the student body. Naturally it was a great opportunity to collect feedback from players.
People enjoyed it, I think. Nobody hated it. That was good enough for me, and I made the push to expand the game into Vision ~ SR. I knowingly added features I knew would be removed for the real game, like a scoring system and a simplified menu, which resulted in some wasted assets.
Pushing the game to the next level was a long and arduous challenge that required me to work on it at least a little bit each day. Menus, upgrades, dialogue, a tutorial, multi-screen rooms, multiple rooms, a map, more enemies, more environments, and even the initial concept had all yet to be implemented. It took 4-5 months to evolve Proto into the game’s current state. Now that many core features are now implemented (with the notable exception of music), interesting updates should hopefully be coming out more frequently.