Exostorm is an indie top-down shooter that was developed for PC and launched on Steam in 2015. Created as a side project with development spread across seven years of spare time, three people, a from scratch engine, and long distance communication; this project was an intense challenge to complete.  I quickly had my hands on all aspects of this game's development to try to get it launched, including many of the programming tasks.  I was an active contributor to C++ code for gameplay, UI, and audio implementations. I implemented the asset pipeline for the game, wrote most of the shaders, and created C# tools for gameplay iteration.  All of these tasks were in addition to creating all of the visuals and level design aspects for the game.  Ultimately, this project was too much of a time commitment to reach what I felt was its full potential, so we cut back development scope. I'm very proud of the work that we did on this game and that it was greenlit and launched on Steam.
    To support the custom engine, Exostorm required the implementation of a full asset pipeline.  Being the only individual on the project with DCC experience, and as the sole user of the pipeline, I implemented the Maya features needed for development.  Level authoring was done in Maya via custom attribute tagging and a MEL interface.  Mesh, skeleton, level, and animation exporters were implemented in the Maya Python API.  Shortcuts were created to launch directly from export to the engine viewers and game.  The exporters and UI were data driven to easily accommodate future expansion of required attribute export.  These editors and exporters were implemented early in the project and were able to weather the test of time, requiring little modification over the duration of development.
    As the individual creating gameplay, I had a high level of incentive to speed up test iteration.  I created a C# frontend launcher for the game that allowed for the easy creation, saving, and sharing of complex commandline configurations.  Quickly jumping into the game at any point, with any ship configuration, became simple.  The launcher was quickly adopted across the team for testing.  A gameplay grapher was another C# tool created to speed up level iteration.  Given that levels progressed over a set linear timeframe, the grapher gave a way to visualize gameplay events and analyze level progression.  The engine would output CSV dumps of data to be pulled into the tool.  Unfortunately, we scaled down development of the project before this could be fully utilized, but even in its limited capacity it was helpful.