From frontend to backend, I worked on Freedom, Shamrock Solutions' flagship transcript and document processing software.
Freedom is Shamrock Solutions' transcript processing software that allows institutions to quickly process student transcripts and easily look at their grades and other data, making for faster admissions decisions and record-keeping. Freedom is built with AWS Services; the backend consists of C# and Python APIs and Lambda functions with a React (JS) frontend. Each transcript is processed with a combination of OCR, generative AI prompting, and additional processing in order to display the extracted courses in a grid alongside the original transcript. In addition to building the application, I also maintained clients' live environments through configuring client-specific rules (such as removing failed courses or transfers), troubleshooting issues, and implementing requested features through Jira (on top of implementing internal requests). I built integrations from Freedom to other systems, such as retrieving course equivalencies from CollegeSource TES or posting course data to the client's Colleague or Banner systems. I also built support for processing invoices so that the product can expand beyond transcripts. Freedom serves several institutions across the US, including the South Dakota Board of Regents, Thomas Edison State University, and Utah State University.
Before Freedom, I was writing and deploying iScripts for Perceptive Content (a document management system). These are written in a legacy version of JavaScript and interface with clients' Perceptive Content systems to perform tasks like automating document exports, submitting forms from a webpage, or ingesting and sending faxes through a third-party API. Most of the clients I worked with were universities; I also worked with the chemical company Linde and the Brooks Rehabilitation hospitals.
As Moon Girl, feed Devil Dinosaur by aiming hotdogs for him to catch!
One of my major contributions was that I redesigned this game's core mechanic in early stages based on feedback. I handled implementation of most gameplay logic (such as enemy patterns and Devil Dino's movement), including powerup abilities that incorporate more elements of the TV show. Though Devil Dino moves using full-body sprites, I experimented with using body segments to handle his movement patterns, though this is unused in the final product. I designed and balanced the enemy patterns and difficulty while also addressing feedback from our partners at both Disney and Marvel. As with the other "Disney Super Arcade" games, I set up time-based unlocks where players would receive a new powerup each week with different effects.
This game is delisted, but was previously playable in the browser and in the DisneyNOW mobile app for Android and iOS.
An offbeat blend of pinball and fast-paced microgames across five different tables.
One of my main duties was to implement table functionality and events (such as triggering the microgames), adjusting for flow where I can. Players can unlock new pinball tables by reaching high scores, which I implemented. For this project, I brought my pinball design experience from Proton Power Pinball (which I coincidentally released the week before I was brought onto this project) to balance gameplay and make the table layouts flow. For quality-of-life, I added the ball save mechanic and guided tutorialization to show players how to trigger the various events on each board. I also handled optimization by dynamically loading/unloading assets where needed.
During early stages of development, one request from Disney was that Hamster and Gretel, the stars of the show, weren't present enough on the boards. To satisfy this, I implemented the Hamster Ball and Gretel Tilt Bonus features to incorporate the characters directly into the gameplay. After certain events on each board, Hamster will become the pinball and occasionally talk, while Gretel will fly out -- tapping on her triggers a short microgame where she tilts the table for bonus points.
This game is delisted, but was previously playable in the browser and in the DisneyNOW mobile app for Android and iOS.
Help Alice and friends build mile-high cakes in this arcade-style game tailored towards younger audiences.
I was responsible for implementing functionality for powerups (such as the Magnet Tray and Sticky Stack) and in-game objects, as well as balancing difficulty levels and addressing feedback from our partners at Disney. I also set up time-based unlocks, where each week after launch, players would automatically receive a new powerup in the most recent game.
This game is delisted, but was previously playable in the browser and in the DisneyNOW mobile app for Android and iOS.
A fast-paced, mission-based infinite runner with dynamic difficulty to challenge players of all ages.
Using a legacy codebase, I was responsible for creating an infinite runner where the player must complete objectives during their run, like getting coins or defeating the boss. Via in-game currency, players can unlock powerup items which, for example, give the player an extra jump, make the level generation easier, or even attract coins to them. I was also in charge of designing the levels as modular chunks (for infinite generation) and programming how they are generated. Depending on the player's performance, the next level chunks will either be easier or harder to keep the game flowing. As more runs are completed, players will encounter new hazards such as "crimmies" (criminals) and the boss, Miradora (both implemented via Spine assets). Additionally, seasoned players will automatically start runs with higher difficulty to maintain the challenge.
For accessibility, I also worked with Disney's voice talent to add the speech readout feature -- every line of text in the game will be read out by a narrator (I explored Mozilla's Text-to-Speech API for this feature as well). I was also in charge of optimizing the game by dynamically loading/unloading assets, fixing memory leaks, tweaking the framerate, and testing among multiple devices/environments to ensure it can run smoothly even on legacy devices.
This game is delisted, but was previously playable in the browser and in the DisneyNOW mobile app for Android and iOS.
Family-friendly trivia party game hosted by Nicktoons characters, powered by Amazon Alexa.
I was responsible for developing the 2.0 update, which reworks how questions are chosen. 2.0 also added the most-requested feature: revealing the answers after the question. The update uses "buckets" to prevent players from hearing the same question multiple times (unless they exhaust the surplus of questions). This update also guarantees that every day, players will hear a different Nicktoon ask the question (cycling among characters from SpongeBob Squarepants, The Loud House, and Rise of the Teenage Mutant Ninja Turtles). Another feature added is the "IP Takeover", where only questions from a certain character can be asked (overriding the cycling of Nicktoons characters); this was used for a "SpongeBob Takeover" for the month of December 2019. This can be used by the client for cross-promotion with Nicktoons they wish to advertise.
This game is delisted, but was previously playable by asking Amazon Alexa to "play Watch Your Words".
Bubble-shooting puzzle game featuring a variety of powerups and the characters of the Fancy Nancy series.
Given a basic build of the game, I implemented gameplay features such as wall-bouncing, powerups, and a scoring system. I also programmed custom sound effects and music; I arranged the game's remix of the show's song, "J'Adore Paris," heard when selecting the "Imagination" powerup. Through the development cycle, I implemented feedback and suggestions from our clients at Disney and made progress in a timely manner. I was also responsible for ensuring that the game supports as many iOS and Android phones and tablets as possible, especially older ones.
This game is delisted, but was previously playable in the browser and in the DisneyNOW mobile app for Android and iOS.
Performed remote level balancing for casual match-3 mobile games.
Remotely performed balance duties for "Cascade," and "Relic Chasers," casual match-3 mobile games. Tested new levels for bugs, difficulty, and in-game resources (such as points and special items). Confirmed that sequenced levels ascend reasonably in difficulty.
Students enrolled in "2D Animation and Asset Production" at RIT customize this project template I developed with their own graphics in order to apply concepts of the course.
Open-source Unity (C#) project designed for students of the course, "2D Animation and Asset Production" to apply their animation knowledge in a practical environment. After taking the course myself, I worked with multiple instructors in the department to create a project template that not only suited, but exceeded their needs. Assignments in the course revolve around designing graphical assets which replace the standard sprites found in the default project.
Students who open this project in the Unity (C#) editor can make dramatic gameplay changes without the need for programming knowledge. For example, they can choose among infinite auto-scrolling levels, procedurally generated levels, or user-created ones (using the prefabs included). Both player characters and NPCs have options for projectile or melee-style interaction, as well as options for knockback and disappearing from the screen. Visual feedback options include screen flashing and screen shaking, and users can toggle these on or off for both players and NPCs. Ambitious students can also make changes to the scripts to suit their individual needs, though this is not a requirement of the course. The project involves parallax-scrolling, procedural level generation, and abstraction.