Flora is a third person singleplayer RTS/adventure game featuring Twig, a teenage girl who has the ability to control plants. An invasive corruption has taken over the forest that shelters her village and has poisoned the magical plant creatures called Flora. Only the strongest of the Flora, the Grand Guardians have the power to fight off the corruption.
When Twig discovers a young stranded Grand Guardian sapling, she decides to protect it from the corrupted Flora and find a way to return it to its home. While she cannot directly attack the corrupted Flora, Twig uses her abilities coupled with the young Grand Guardian's powers to purify them. Twig can then command the newly purified Flora and utilize their unique abilities.
Flora features real time strategy elements as well as an open world to explore.
Flora is a student game created at UCSC during the 2016/2017 school year. I pitched the game and served as project lead for my team of 8 programmers, 3 musicians, and 2 artists. I had a variety of responsibilities including:
Interview/recruit programmers, musicians, and artists.
Oversee engineering, plan code structure and weekly goals to meet deadlines, break down daily tasks and delegate tasks to team members.
Build material and post-process shaders to capture a vibrant cell shaded style.
Build some of the the core mechanics of the game, including the, camera, the player controller, and multiple of Twig's abilities.
Extend features like input and time that are built into the Unity engine, provide teammates with easy-to-use interface that fits needs of the game.
Design/Create the game's web page including art/animations, set up and maintain the web site's server.
Draw concept art for characters, objects, and gameplay mechanics.
Create characters with fleshed out personalities, write background story for the game.
Design gameplay mechanics and gameplay objectives.
Facilitate the flow of ideas between team members, run design meetings and handle cross team communication.
Model, rig, and animate the characters in the game.
Design the world of Flora - Generate and refine the terrain, paint in foliage and textures, add meshes to create points of interest, place enemies and other gameplay related objects.
Picar.io is a proof on concept remake of the popular Agar.io using the constrained Pico-8 platform. Pico-8 is a virtual "fantasy console" with intentional limitations to emulate 8 bit platforms. My group and I challenged ourselves with proving that a large scale multiplayer game could be creating using this restricted platform.
We decided to recreate Agar.io as our proof of concept. Picar.io can handle 64+ players simultaneously within the same game session making it (to my knowledge) the largest multiplayer experience created for the Pico-8 platform. I worked closely with three other programmers on this project. I wrote the server, handling tasks like:
Help design server structure and message structure.
Build Python server that manages game state information and updates clients.
Optimize server to pick up and drop players in real time.
Implement spacial hashing optimization to reduce amount of info needed to update each client per tick.
Set up and maintain the server on the Google Compute Engine.
Nathair (Irish for "Snake") is a mobile puzzle game based on classic snake. I was inspired to build this game by the beautiful Celtic art I saw while studying abroad in Ireland. There is no "game over" state in Nathair unlike classic snake. Also the player has the ability to rewind time infinitely backwards. This allows players to focus solely on solving the puzzle by maneuvering their snake until they have eaten enough apples to fill up all the open tiles.
Nathair was a personal project, I created all the art, animation, design, and code for the game.
Also I worked with two other programmers to create a level design aid for Nathair. This python tool allows the designer to provide a partial layout for where teleporters, walls, and open spaces must go, then procedurally generates a series of complete levels using the partial layout as a template.