public class ToMyPotentialNewEmployerOrClient extends Introduction { public void override writeIntro(Document out) { out.write("Hi, I'm Doug! I have...\n"); for( int i = 0; i < m_achievements.length; i++ ) out.write(m_achievements[i] + "\n"); } private String[] m_achievements = { " - fifteen years of professional software development experience.", " - three open source projects with over 300,000 lines of code combined.", " - bootstrapped an EdTech startup for 1.5 years.", " - worked on all aspects of a successful mobile social MMORPG.", " - developed training simulations for almost every 'Department' the U.S. government has.", " - written algorithms for rendering symbolicated, 2D-projected, hidden-line-removed schematics from 3D " + " parametric surface geometry in architectural CAD projects.", " - never been able to explain to others what the above point means.", " - never figured out how to write clean PHP, but am always that guy that is forced to anyway.", " - used every language, design pattern, tool, and library that a business guy has ever heard of.", " - also used a few that nobody's heard of." }; } public class OpenSource extends SoftwareIHaveWritten { public void override writeProjects() { writeLink("b33hive", "http://www.b33hive.net"); writeDetails ( "A massive, shared landscape of user-created, sandboxed HTML5 applications. " + "b33hive exposes an API to userland and allows applications to communicate " + "with each other. The core of this project is swarm, a next of class content " + "browser for the web." ); //----------------------------------------------------------------------------------------------------------------\\ writeLink("quickphyx", "http://dougkoellmer.com/quickphyx/demo"); writeDetails ( "Originally started as a convenience wrapper around Box2D, this has turned " + "into an advanced physics engine with an event-driven DOM-style API, " + "CSS-like property system, and so many other cool features that you'd get " + "bored with me listing them. Source code is here." ); } } public class ForMoney extends SoftwareIHaveWritten { public void override writeProjects() { writeLink("Book of Heroes", "https://itunes.apple.com/us/app/book-of-heroes"); writeDetails ( "Also for Android here. This is about as intense as a mobile MMORPG gets. " + "I was on a three-person team that developed the cross-mobile C++ frontend " + "and cloud-hosted Java backend. The codebase started from nothing, went on " + "to serve millions of monthly active users in under a year, and birthed a " + "generic framework powering other titles as well." ); //----------------------------------------------------------------------------------------------------------------\\ writeLink("HTML5 Science Labs", "http://dougkoellmer.com/games"); writeDetails ( "A series of interactive simulations meant for embedding as widgets in " + "various eLearning and eReading platforms. These are samples of work I did " + "to take static images from existing print textbooks and bring them to life." ); //----------------------------------------------------------------------------------------------------------------\\ writeLink("Inspect and Protect", "http://dougkoellmer.com/cp"); writeDetails ( "A game-based training module funded by a $1.5 million grant from the " + "Department of Defense to teach metal corrosion prevention strategies on " + "large structures. I was the lead programmer and co-designer, responsible " + "for (a) developing a framework into which non-programmers could plug art, " + "sound, and XML assets dynamically, and (b) digesting dry subject matter and " + "turning it into fun interactive lessons. Also required learning the basics " + "of corrosion theory and working with subject matter experts in the field." ); //----------------------------------------------------------------------------------------------------------------\\ writeLink("Touch Tone Hero", "http://www.gametrailers.com/videos/lpbewe"); writeDetails ( "A fun twist on popular rhythm games where the player uses a touch-tone " + "keypad with real dial tones to play popular melodies with accuracy-based " + "scoring. I was co-designer and lone programmer. It was available on the App " + "Store until we were forced to remove it because all the downloads were " + "crashing iTunes' servers." ); } } public class ForKicks extends SoftwareIHaveWritten { public void override writeProjects() { writeLink("Corrosion Cell", "http://dougk16.deviantart.com/art/Corrosion"); writeDetails ( "A stress test environment for the corrosion cell component in 'Inspect and " + "Protect' mentioned above...turned out to be a pretty fun little sandbox." ); //----------------------------------------------------------------------------------------------------------------\\ writeLink("Whip the Ragdoll", "http://dougk16.deviantart.com/art/Whip-the..."); writeDetails ( "A small, sadistic project to help me learn Box2D." ); //----------------------------------------------------------------------------------------------------------------\\ writeLink("Balancer Thing Game!", "http://dougk16.deviantart.com/art/Physics..."); writeDetails ( "A prototype for a potential mobile game, where you balance progressively " + "more challenging objects using the accelerometer, and score stunt points " + "for throws and catches." ); //----------------------------------------------------------------------------------------------------------------\\ writeLink("Miscellaneous", "http://dougk16.deviantart.com/gallery/10771419"); writeDetails ( "A few other small experiments can be found here." ); } }