Autopilot is a 3D, first-person, puzzle game, escape room with multiple endings. It's a comedic cartoonish short game, created as a graduation project as a Software Engineer. All assets within were created for the game specifically.
Years ago when I was just starting out in university, I had no idea what I wanted to do, but I had so many passions that I didn't know how to channel. A teacher of mine fostered and supported my love for programming and gave us an assignment to do anything we want but program something with what we learned from the class.
I made a simple choose your own adventure game.
I was the only one to hand in the assignment.
But nonetheless my teacher spent an hour with me afterwards trying out the text-based game, and correcting coding errors I'd made.
That was the start for me, and soon after I challenged myself to make a second text-based game, and then a third. It only seemed fitting that I finish my university career with what I started with, a game.
The game’s theme is about the escaping the dreariness and mundane nature of an office life, into a world of imagination and adventure; that is communicated in the transition from the opening sequence to the cut to the imagination world. The in-game “real world” is depicted as 2D, virtually colorless, and overall flat; the drawn, comic panel-like style and dull and dark brown colors, as well as the limited frames and animation were chosen to express that. Contrast to the 3D, bright colors, and fully animated world that is in the imagination
A humanoid form was chosen as avatar for this game, as the events and world within are a parody of the real world; the audience can better relate or identify with someone closer to their own nature . Large eyes, and head to body ratio and proportioning of the character was chosen to be child-like in essence, to endear the character to the audience ; while maintaining enough creative liberty and cartoon-like features to avoid the uncanny valley effect that would unsettle and alienate the user.
The coloring of the characters and the overall features were chosen to be indistinct to any gender, race, or background. Preventing any bias or comment on any existing group as that is not the intention of the developer. The lack of facial features - besides eyes, and the coloring and name of the main character, Grey, was chosen to allow players to project themselves and their own thoughts on an in-game avatar to represent their wishes and needs while not being influenced by the character’s design.
The entirety of the levels are limited to office spaces and areas immediately adjacent to them. In keeping to the cartoonish and simplistic style, they were textured using flat colors with limited amounts of normal or bump texture images. Realism was not the intention and therefore most props look like that exactly, just props with no special features. As per the game’s light hearted and humorous nature, logos and images were designed to reflect that nature, often holding jokes, or puns, or parodies of real world things.
The areas of the game that the character can roam in were designed to be small, with several different levels reachable through the routes and puzzles of the game. The main area of the game being the Office Floor.
A skeleton version of the same level is used in the opening scene. As it takes place in the same area however the player’s movement and view is restricted; therefore saving memory and processing resources by not rendering objects that are not relevant to the level.
The air-vents area, accessible through a certain sequence of puzzle solving, is designed as a maze that the player needs to navigate through to escape and end the game or find an Easter-Egg referencing another game by the author, and connected to the vent area.
The Walkthrough area is an optional area that can be accessed in order to get help getting used to the controls through visual and text aids.
Subconscious floor, is a secrete-ending area reached by fulfilling a number of special requirements during the gameplay. It is not necessary to reach this area or ending to complete the game and is added as an extra ending for the complitionists to pursue, and adding to the play time.
The game contains multiple endings, a demo of one of them is shown in the walkthrough
With a rather simplistic game loop, the classes of greatest important are the ones controlling the logic and flow of puzzle solving. Namely, the Tasks, Popups, Events, and Puzzles.
Following the learned lesson, the rest of the classes were structured around it resulting in the puzzle class hierarchy
The primary concrete class implements this in a general fashion figure. While originally the class was marked abstract so that derived classes could implement the Activate, Solve, and Start methods in different manners that are best suited for their function; it was later determined that most puzzle classes implemented these is a largely similar fashion, with slight variations with very few classes differing completely. Template Method Pattern discussed in previous chapters was utilized instead, marking these classes as virtual and therefore able to override original logic; and calling the base implementation in the new methods as needed.
The puzzle dependency graph shows all the possible actions and paths that are possible during the game story life; note that this is referring to the gameplay aspect of the game, i.e. what the player will experience story and puzzle wise. Not the game backend.