Portfolio of Game Development Work
The following are images and gifs of a game I was solo developing. These show approximately 400 hours of work total. All gameplay, art and assets, lighting, effects, and (not seen) audio were created and programmed by me.
2D sprite art was used (made in Aseprite), but the 3D capabilities of Unreal Engine 4 were harnessed to give the game a unique look. I was influenced by my childhood love of the original Paper Mario, as well as Pokémon for the sprite art.
|
3D movement with 2D sprites. |
The camera was fixed to one side of the character, but had some clamped degrees of movement. But the camera could be flipped to allow a full 180-degree perspective swap.
|
Dynamic night effects and lighting.
| Swapping perspectives. |
|
|
Pixels at night. |
Houses can be entered and were designed with a "shoe-box" diorama perspective. One wall is a big open window through which the camera can peep. Here we see the Hero's house, with a quick glance at his turntable and high-quality full-range speakers. If you listen closely, you can hear his tasteful music choice of the Dave Brubeck Quartet.
|
Going home. |
Using a publicly available plugin from the Unreal Marketplace NPCs can be spoken to with branching conversations. This NPC also has a quest which can be obtained and added to the quest log. The styling and functionality here is influenced off CD Projekt Red's
The Witcher 3.
|
NPC dialogue.
|
|
The gameplay had a unique focus: a terminal, and collectable commands.
|
Collecting the "cd" command.
|
Instead of walking into the Hero's home as we did before, we can use the "cd" command to instantly teleport. You'll note, there's a sprite inside. That's the world-representation of the Hero's home directory. There is one for every directory location, and they hold the info of the files therein.
|
Using the "cd" command.
|
String parsing was required to get the terminal to behave like one would expect in a Linux-like environment. Commands can be followed up with options, such as the "-l" and "-a" for the "ls" command.
There are "files" and "directories" in the world, and they have their own permissions, owners and groups (ignore the debug defaults of sizes, months, days, and the incorrect time formatting...seven minutes?).
|
Everything is a file. |
Those permissions are real. In the game world, the "steve" home directory is represented by a house. We can see that this user has locked his front door.
|
Permission denied. |
But the fool has left his home directory with Read and Execute permissions for others (drwxr-x-r-x)!
|
Breaking and Entering |
Using the "cat" command (which can be gained by speaking to the NPC, cat, and adding him to our personal path) we can find out what those other files running around in the world contain. Auto-completion, using the tab key, was also designed and implemented into the terminal.
|
"cat" in action. |
Commands and their options can also be followed with arguments. Such as the "ls" command can be used to list out files in different directories, instead of the current one.
|
Argument parsing. |
For a personal challenge to see if it could be done, the terminal is also usable by a gamepad controller. A menu system was designed that allowed for the dynamic construction of terminal commands. The "Build Path" and "File List" menus will change based upon the path you begin constructing.
|
Gamepad controls. |
As the prototyping timeline came to an end one of the final things I was working on was moving the UI into a 3D interactive CRT-styled monitor, complete with scanlines and roughed up scratches, a fake mouse (that mouse is mapped 1:1 to your real mouse using some fancy vector math). Sound effects of an old Apple II computer were added along with the luxuriant clickity-clackity of a mechanical keyboard. I was thinking about
Fallout's Pip-Boy when playing with Unreal Engine's world-space widgets and widget interaction.
|
UI in a faux-computer |
This prototype was an enormous learning experience of what Unreal Engine can and can't do, and how to overcome some of those "can't" issues by getting creative. The art design I was playing with in particular was fun and I loved the little home interiors I was able to make by mixing 3D perspective with 2D sprites.
|
Hero's home. |
|
Steve's apparently a member of the PC Master Race. |