#Matt Schoen

#Software Engineer

#Co-Founder, Defective Studios

import Home import Resume import Photos
facebook_id = "facebook_id"
twitter_id = "twitter_id"
github_id = "github_id"
email = "email"
class WebWork:
def __init__(self):
I've done a variety of small web jobs over the years. My most comfortable stack is the admittedly out-dated LAMP (PHP/MySQL) setup, but I've also worked with C# in an ASP.NET application, I've deployed and interfaced with ElasticSearch (which is quite cool), and I've even dabbled with Ruby On Rails, though I'm not fond of it.
}
def CreativeWorkspaces(self):
CW Creative Workspaces is a project collaboration web app directed at creative professionals. The goal of the project was to create a simple interface to track and share assets common to creative enterprises like images, schedules, billing, and organized discussions. The project has been put on hold indefinitely.
}
def AssetCloud(self):
AC AssetCloud was an attempt at managing the content of a Unity project online. The project has since become essentially defunct now that Unity supports version control packages and text-based serialization of its own data, but still works and drives a portion of the Platformer project.
}
def Defective Suite(self):
The Defective Suite is basically just a way to wrap up a lot of individual needs into a single web backend for our main project, CosmoKnots. Over the course of development, there were some experiments that we were doing that involved saving data to a backend, and eventally we wanted a way to view that information. Additionally, it serves as a way of managing current builds of the game so they're always available.
}
}
class Unity:
def __init__(self):
Most of my work in Unity has been under the Defective Studios umbrella. I'm calling out specifics here which were projects that I took the lead on, but please also visit DefectiveStudios.com and read our blog to see what we've been up to.
}
def CosmoKnots(self):
CK CosmoKnots is our flagship game. Still in alpha, there is a fairly long road ahead of us before we consider this game to be done. There's a lot to say, so read the blog to see what we've been up to on this project!
}
def Dragons Adventure(self):
CW HitPoint Studios posted to the BUG mailing list looking for a "Unity performance surgeon." I figured that such a job was right up my alley and eventually signed on to the team for a few months as an independent contractor. My responsibilites included overhauling the world builder system and squashing general performance bugs like out of memory errors and frame rate drops on mobile devices.
}
def UniMerge(self):
UM UniMerge fills a crucial hole in the process of doing version control in a Unity project. It allows users to compare otherwise-unreadable scene files within Unity itself in order to merge them after branch merging or conflicted merges. Check out the promo video to see the tool in action.
}
def GameFace HomeScreen(self):
Not many people have seen this project in action since it was made for hardware that is currently only a prototype. GameFace is one of the players in the emerging VR market, and they engaged us at Defective to create an interactive home-screen app switcher for the system. Look forward to more news about this in time.
}
def JSONObject(self):
JO The JSONObject module was a class that I made early on in my use of Unity. I wasn't happy with existing C# libraries and how they integrated with a Unity project, so I set out to make the simplest JSON parser I could have. It's become a very popular free tool on the Asset Store and is used by many different projects at many different studios.
}
def Defective Splines(self):
The spline system that drove character locomotion in Platformer, Defective's first project, is also a module that we released for free on the Unity Asset Store. It's been a while since I updated it, but it still works well as a character controller or simple pathing system for moving objects around in Unity games.
}
def DX11 Tesselation experiment(self):
As a brief haitus from CosmoKnots, shortly after Unity released their DirectX 11 API, I decided to try some DX11 hacks. Along with the tessellation shader in the link above, I played with compute shaders in an attempt to create GPU-driven smoke particles. That one didn't get far enough to show. To my knowledge, this was the first ever post about/ quad patch tessellation in Unity.
}
def Garbage-free String Hack(self):
A hack that I arrived at after many months of attempts to optimize in-game data serialization. It fixes performance problems that arise in Unity games that make too many calls to string manipulation functions that create garbage.
}
}
class Contract:
def Track My Maccas(self):
TMM Track My Maccas was a promotional app for MacDonalds (in Australia it's called Maccas) to educate consumers about food sourcing in their local area. The app used a user's location to give them information about where various products (beef, fish, lettuce, etc.) in their food came from. The app also used Augmented Reality technology to display an animated diorama around the customer's product box to illustrate the information on screen.
}
def UUA Illuminations(self):
UUA We were approached by the Unitarian Universalist Association to create a devotional app for Unitarian churchers. Users of the app can view inspirational words and quotations as well as a virtual animated chalice which can be lit or unlit.
}
def SkeedyID(self):
This project is early in development and not ready for prime-time. SkeedyID will be a web service for ski shops and customers to manage service orders and rentals online.
}
}
class Other:
def __init__(self):
I also just like to do things which are worth sharing. Some of them aren't even code!
}
def AboutMe(self):
If I'm nothing else I am curious. I've taken to computers (and by extension videogames) because they are, in my opinion, simply the most fascinating thing on Earth. I also enjoy listening to and playing music, as well as watching and making movies. Once upon a time I did technical theater and even played lead in a show! Put a problem in front of me and I'll try and solve it.
}
def Guides(self):
Guides For a long while, as I've worked on visual tasks with computers, I've wanted the program I'm using to provide horizontal or vertical guides for lining things up. I finally decided to make a global Windows application to do the same thing no matter what program I'm using. It's also available on github and sourceforge.
}
def NightNDay(self):
ND I thought it would be cool to use a tilt-look script to drive a live wallpaper for android phones, so I whipped one up in my spare time. All the art was created by me in Vue. I hope to update this soon to allow users to load in their own photospheres.
}
}