I'm not currently seeking employment, but thank you for your interest!
Chris Danford
cdanford@u.washington.edu
http://www.chrisdanford.com
Objective statement
I'm a computer scientist who seeks challenging projects that will push my programming and software engineering skills to the next level. As evidenced by my work and freelance experience, I'm self-motivated and have fun tackling large and challenging projects.
Work Experience
Development Lead – Pump It Up Pro
2006 – present. Fun In Motion Inc. (http://www.piupro.com)
- Shipped: Pump It Up Pro (arcade), Pump It Up Pro Fitness, Pump It Up Jump, Pump It Up Pro 2 Fitness
- Managed a team of 6-8 (1 other developer, 1-3 artists, content creators), set schedules, maintained feature lists and bug reports
- Responsible for communicating with partner companies (Korea, England, US) about features, bugs, and hardware development.
- Worked on companion stats web site (http://www.fimtracker.com) where players touch a RFID card to their dance pad, the same software accumulates stats, syncs to the web site's back end, and the front-end displays stats/graphs/leader boards/achievements.
- C/C++ game code base based on previous StepMania work, Django/Python web code base
Software Development Engineer – Windows Deployment
2003 – 2005. Windows Core OS division, Microsoft (http://www.microsoft.com)
- Worked on setup module infrastructure for Image-Based Setup that was new in Vista
- Worked on the UI framework that powered Setup.exe, Files and Settings Transfer Wizard, and AutoRun
- Worked on performance optimizations and additional features in Out Of Box Experience (OOBE) in Windows XP SP2
- Required coordination with numerous other setup modules to integrate progress notifications and UI messages
- C/C++, Win32/ATL code base
Development Lead – In The Groove
2002 – 2006. Roxor Games Inc. (http://www.inthegroove.com)
- Managed a team of 6-9 (1-2 other developers, and several content creators), set schedules, maintained feature lists and bug reports
- Responsible for communicating with partner companies (Norway, several in the US) and publishers (Sony, RedOctane) about features, bugs, and hardware development
- Shipped: In The Groove (arcade), In The Groove PC/Mac, In The Groove (PlayStation 2), In The Groove 2 (arcade), In The Groove 2 Fitness
- ITG2 arcade was ranked in Play Magazine (trade publication) as #2 in operator earnings in a 2006 edition.
- In The Groove 2 was featured in People Magazine in an article about weight loss through games.
- C/C++ code base, cross-platform (Arcade: Linux, Home: Windows/Mac, Consoles: PlayStation 2), based on previous StepMania Engine work.
Founder, Project Manager, Lead Developer – StepMania
07/2001 – present. StepMania (http://www.stepmania.com)
- StepMania is an open-source music/rhythm game featuring 3D graphics, a scriptable theme system, numerous other plug-in interfaces, a complete in-game song editor, and support for many different game controllers.
- My duties include managing the efforts of 40+ official project contributors (~15 developers, ~15 artists, and other miscellaneous helpers), writing/reviewing specs for new features, helping implement these new features, writing documentation, and maintaining relationships with dozens of fan sites.
- As of 2001, the project is 50,494 lines of game code, 312 C source files, and thousands of graphics/sound/resource files.
- As of 2001, the project hovers around 20th on the list of most active projects on SourceForge (2nd most active open-source game overall).
- Game downloaded over 3 million times as of 8/4/2009.
- StepMania.com receives 3+ million monthly page views, accepts user-submitted songs and has discussion, ratings, reputation systems.
- C/C++ code base, cross-platform (Windows/Mac/Linux/Xbox), major libraries used: Win32/Cocoa/X, Direct3D/OpenGL, DirectSound/WaveOut/CoreAudio/ALSA, FFMPEG/DirectShow, libTomCrypt.
- Web site technologies: PHP, Javascript, AdSense, Analytics, Webmaster Tools, Google AdManager, Facebook Connect, heavily block cached with PEAR's Cache_Lite to handle the load on a shared host.
Teachers Assistant – CSE457: Computer Graphics
03/2002 – 06/2002. University of Washington (http://www.cs.washington.edu/education/courses/457/02sp/)
- Wrote homework problems and corrected written homework.
- Held office hours 3x weekly and answered questions about projects and homework.
- Improved skeleton code and was head TA for the final project: Animator.
Software Test Engineer, Developer – Consumer Appliances Division
06/2001 – 09/2001. RealNetworks (http://www.realnetworks.com/)
- Worked on the team that developed the software for the HP iDec home entertainment device. http://dec.hp-at-home.com/
- Wrote a web tool to manage test cases and automatically feed testers with assignments. The tool handles daily BVTs, periodic regression cases, and pre-release test passes. Used by a team of 10 testers and 8 developers.
- Wrote a Perl test harness to simulate user input via an IR remote. This facilitated longevity testing.
- Worked with the RealPlayer for PlayStation 2 group to create mach interfaces using Direct3D and 3DStudio MAX.
Software Test Engineer, Developer – E-Commerce Division
06/2000 – 01/2001. RealNetworks (http://www.realnetworks.com/)
- Created test plans for new internal projects, including maintenance tools, reporting tools, and the transition to a new data model for a database of 160 million unique users (400 GB of data!).
- Wrote shell and Perl scripts to automate daily procedures and reporting.
- Wrote KickBack, an automated testing tool that simulates consumer behavior on the Real.com web site, then verifies that submitted information is correctly represented in the database.
- Created web-based tools for data maintenance and managing e-mail campaigns.
- Learned about the typical software development cycle and development conventions used at a large software company.
Network Administrator, Database Developer - UW Alumni Association
11/1999 – 06/2000. University of Washington Alumni Association (http://www.washington.edu/alumni/)
- Headed project to convert a network of 35 Mac users to PCs.
- Installed, configured, maintained Windows NT Server, IIS, Proxy Server, Exchange Server, Virtual Private Networking, and network scripts.
- Programmed custom Outlook 2000/Exchange forms.
- Converted old FileMaker databases to and created new databases in MS Access.
Network Administrator, Consultant, Administrative Assistant - Physical Therapy
1992 – present. Kitsap Physical Therapy (http://www.kitsappt.com/)
- In charge of purchasing parts, problem solving, and maintaining computer networks at 7 different medical clinics.
- Paying bills/invoices and maintaining deposit/check register (>$150K monthly).
- Creating product/services brochures and clinical/fitness handouts.
Webmaster, Writer, Programmer, Editor, Founder - Videogamers.com
10/1997 – 06/1999. Videogamers.com (formerly: http://www.videogamers.com/) Assigned jobs and organized content written by others.
- Reviewed video games and benchmarked computer hardware donated to us by gaming and computer companies.
- Created graphics, navigation interface, content structure, and wrote many Perl scripts.
- Maintained connections with the PR departments of major companies in the industry, including Sony Computer Entertainment, GT Interactive, Activision, Acclaim, and Creative Labs.
- Videogamers.com was acquired by Fandom, Inc. in Jan 2000. Fandom declared bankruptcy 6 months later.
Freelance Projects
StepMania
http://www.stepmania.com
http://sourceforge.net/projects/stepmania/
Described in more detail above.
UWfiles.com
http://www.uwfiles.com
UWfiles -was- a very popular search engine for finding files shared via Windows Networking shares inside the UW campus network.
UWvcr.com
http://www.uwvcr.com
UWvcr is a community-accessible video recorder (ala TiVo) with web interface. The system is scalable and the number of channels that can be simultaneously recorded from is limited only by the number of computers in the system. Shows are only available for download inside the UW campus firewall.
Participated in tens of usability studies and playtests at Microsoft.
- Participated in year-long Real People Real Data study at Microsoft. As part of the study, I was the focus of a Microsoft sponsored documentary on how college students use technology.
- Beta tester for Windows 98 and 2000.
- Numerous one-day software usability sessions and Xbox playtests
Education
University of Washington, Seattle WA
Game Development Certification 1 year series - completion expected 12/2002 Continually improved upon my own 3D graphics engine over 4 quarters
- Integrated more advanced techniques like volumetric stencil shadows, projected texture, A* path finding, and network play.
- Gained insight into gaming industry from industry-veteran course instructors.
University of Washington, Seattle WA
B.S. in Computer Science - completion expected 06/2003
- 3.72 cumulative GPA (after 3 years)
- Completed all 400 level graduation requirements: Computer Graphics, Databases, Networking, Artificial Intelligence, Compiler Design, Operating Systems
- Completed all 300 level classes: Programming in C, C++ , Discreet Structures, Formal Models, Digital Design, Assembly Language/Machine Org., Programming Languages, Data Structures
North Kitsap High School, Poulsbo WA
High School - graduated 1999
- 3.98 GPA
- Placed a 5 (highest possible) on the Calculus BC advanced placement exam.
- Worked on an independent study project to create a massively-multiplayer role-playing game using a Win32/DirectX client and a Linux server.
- Outstanding Senior Award
Programming Experience/Familiar Platforms
Microsoft specific
- C/C++ - Win32 API (6 years)
- C/C++ - MFC (5 years)
- Direct3D and OpenGL (5 years)
- Other DirectX - mainly DirectInput DirectShow (4 years)
- Visual Basic/VBA (2 year, 3 projects)
- Win32 TCP/IP - Winsock (3 years)
- Win32 - COM (2 years)
- C# (1 year, several projects)
- C/C++ - Win32 PocketPC (1 year, 1 project)
Other
- PowerRender library (4 years)
- Perl (4 years)
- SQL and specific databases including Oracle, Access, MySQL (4 years)
- PHP (3 years)
- OpenGL (3 years)
- UnrealScript – Unreal Engine (3 years)
- C – Codewarrior - PalmOS (2 years, 2 projects)
- Simple DirectMedia Layer (2 years)
- GTK/KDE (1 year, 1 project)
