|
Send email for address/phone number.
|
| wwwresume@graymalkin.net |
|
Carnegie Mellon University, Pittsburgh, PA 8/1996 to 5/2001
Bachelor of Science in Computer Science, Master of Entertainment Technology
|
|
|
- C/C++ (MS Visual C++, UNIX)
- Python, JavaScript, VBScript, MEL
- Assembly (MIPS, ARM, Intel x86)
- Java (JDK 1.3, JBuilder, J++)
- Visual Basic
- SQL, PL/SQL, Transact-SQL
- HTML, DHTML/CSS, XML
- IDL
|
- DirectX/OpenGL
- ATL, MFC
- ADO, ODBC
- ASP
- Maya API
- JNI
|
|
- Oracle
- SQL Server
- Access
- mySQL
|
- PlayStation 2 (SN)
- XBox
- Game Boy Advance
- Intel
|
|
|
|
Carlsbad, CA |
5/2003 to Present |
| Game Engine/Tools Programmer |
- Part of a team that designed & implemented a Maya plugin to export art assets for all game projects.
- Wrote several Python scripts to automate Visual Studio.NET batch building of projects and post build results to a central database.
- Responsible for weekly game engine tests to ensure compatibility with all game projects.
|
|
|
Mclean, VA |
2/2002 to 5/2003 |
| Chief Technology Officer/Cofounder |
- High-level design for a cross-platform game on the Palm OS 5 and Pocket PC 2002 handheld platforms
- Ported Qove Studios' MetaExperience game engine from PC to PlayStation 2
- Managed a team of two artists and a programmer in development of PlayStation 2 demo of a puzzle game, using Qove Studios' MetaExperience game engine
- Designed & implemented a tile-based game engine for Game Boy Advance with physics
- Managed a team of two programmers and one artist in the implementation of a Game Boy Advance demo, presented to publishers in December 2002
- Designed & implemented Qove Studios' MetaExperience game engine, using Intrinsic Alchemy for graphics, Havok's physics engine, SoundMAX for sound support, and the Python scripting engine
- Evaluated various graphics, physics, sound, and scripting technologies for use in a game engine
- Participated in demos/meetings with over 10 publishers
- Helped create long-term strategy for technology within the studio
- Worked with CEO and CXO to formulate short-term tactical technology plans
|
|
|
Pittsburgh, PA |
6/2001 to 8/2002 |
| Senior Research & Development Programmer |
- Created a tool to allow client-side submission of data to servers in a compressed, encrypted package
- Added functionality to an existing FTP COM object in C++/ATL/MFC
- Designed & implemented TCP connection manager in VB ActiveX
- Created a C++ Adobe Acrobat plugin to modify PDFs, with a COM interface created in ATL
- Designed & implemented a database-driven distributed system to process files in a mixture of VB and C++, with several COM objects and ActiveX controls
- Created HL7 interfaces for receipt and processing of medical informatics data, using iNTERFACEWARE’s Chameleon toolkit and MSMQ/Queued Components
- Wrote a VB parser/data logger for GPS information in NMEA 0183 format
|
|
|
San Diego, CA |
5/2000 to 5/2001 |
| Software Developer |
- Designed & implemented a scripting language virtual machine for the Angel Game Engine, for use in AI, game logic, front-end interface, in-game menus, and other locations
- Wrote the front-end menu system for Smuggler’s Run (PS2) and additional code for Midnight Club (PS2) and Test Drive Off-Road: Wide Open (PS2 and XBox)
- Designed & implemented a flexible, extensible plug-in structure for an existing script engine
|
|
|
Pittsburgh, PA |
9/1999 to 1/2000 |
| Software Developer |
- Used COM objects exposed by MS Office to automate Outlook and PowerPoint using Carnegie Mellon’s Language Technologies Institute’s Sphinx Speech-to-Text package
|
|
|
Redmond, WA |
6/1999 to 8/1999 |
Virtual Worlds Group (now Social Computing Group)
Software Development Engineer Intern
|
- Designed and implemented a new COM Automation interface for an existing program
- Worked with a team of visual designers and usability researchers to create a product prototype for communications and collaboration between product development and research groups
- Implemented prototype using DHTML to create a windowing environment within the Active Desktop
- Each "window" design is dynamically loaded from a template, allowing end users to personalize their interface
|
|
| (now Bantu) |
Washington, DC |
5/1997 to 8/1999 |
| Software Developer |
- Prototyped a system tray app enabling a web application to interface with the Windows shell
- Prototyped VB COM objects for business logic layer in an ASP application
- Developed several web applications, including an e-commerce package and project/task management system, and various client websites, using combinations of Oracle, SQL Server, ASP, Cold Fusion, and PL/SQL
- Created an authentication DLL for O’Reilly Website using MFC ODBC
|
|
|
Woodbridge, VA |
12/1997 to 1/1998 |
| Consultant |
- Programmed a DLL using MFC ODBC to connect to and modify an Oracle database
|
|
|
| 1/2001 to 5/2001 |
- Interactive museum exhibit, on display at Zeum in San Francisco
- Exhibit designed for the “Cone” at Zeum, a 40 foot wide by 30 foot high inverted-cone-shaped space
- Visual output from PIII 1GHz computer on 4 GeForce 2-driven projectors, front-projected at various locations throughout the Cone, audio output is spatialized (3D) sound
- Experiences designed for 4 players, however, groups of up to 30 were engaged by the games
- Designed Java object-oriented software architecture for experiences
- Implemented sound output through DirectSound, inputs through DirectInput and MIDI, with JNI bridging C++ and Java
- Contributed to design of gameplay and visual experience for both HipHop and Circle Maze
- Implemented core game logic using Python for HipHop experience
- Assisted in user-testing of target audience members (8-18 year-old children)
- Project Website: http://www.etc.cmu.edu/projects/jamoworld/index.htm
|
|
| 10/2000 to 12/2000 |
- Prototypes of music search interfaces given an underlying automatic music categorization system
- Contributed to design process of several prototypes
- Implemented pitch-sensing prototype that converts notes the user sings or hums into pitches for use by a search engine to retrieve songs with melodies similar to that input by the user
- Prototype used Java (J++) with COM components written in C++ for DirectSound input
|
|
| 8/2000 to 10/2000 |
|
|
| 3/2000 to 5/2000 |
- Large-audience interactive experience
- Implemented computer vision algorithms using a video capture device and camcorder as input
- Pole Position experience – audience members could lean left or right to control a race car, projected on a movie theater screen
- Missile Command experience – audience members tossed a beach ball in the air to intercept incoming missiles with the beach ball’s shadow
- Vision code implemented as C++ extension to Python script engine, connected to Alice for output
- 400+ person audience experienced both projects at the ETC Building Virtual Worlds show, May 2000
|
|
| 1/2000 to 3/2000 |
- Low-attention music selection interface for use in cars
- Developed as a way to select MP3s from a large library of music onboard a DMC Delorean
- Used spatialized 3D audio via DirectSound implemented as a COM object controlled by Python scripts
|
|