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."
);
}
}