William Paredes resume@graymalkin.net http://www.graymalkin.net/ Send email for address/phone number. - Education Carnegie Mellon University, Pittsburgh, PA 8/1996 to 5/2001 Bachelor of Science in Computer Science, Master of Entertainment Technology - Skills Languages: C/C++ (MS Visual C++, UNIX), Python, JavaScript, VBScript, MEL, Assembly (ARM, MIPS, Intel x86), Java (JDK 1.3, JBuilder, J++), Visual Basic, SQL, PL/SQL, Transact-SQL, HTML, DHTML/CSS, XML APIs/Libraries: DirectX/OpenGL, ATL, MFC, ADO, ODBC, ASP, Maya API, JNI Databases: Oracle, SQL Server, Access, mySQL Platforms: Xbox, PlayStation 2, Game Boy Advance, Intel - Employment History Rockstar San Diego, 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. Qove Studios, 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 13 publishers * Helped create long-term strategy for technology within the studio * Worked with CEO and CXO to formulate short-term tactical technology plans ASE Edge, Pittsburgh, PA, 6/2001 to 8/2002 Senior Research & Development Programmer * Created a tool to enable 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 Angel Studios, 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 Carnegie Mellon Robotics Institute, 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 Microsoft Research, 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 IntraACTIVE, Inc., 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 W & J Computer Works, Woodbridge, VA, 12/1997 to 1/1998 Consultant * Programmed a DLL using MFC ODBC to connect to and modify an Oracle database - Interdisciplinary Team Projects Jam-O-World - 1/2001 to 5/2001 * Interactive museum exhibit, on display at Zeum (http://www.zeum.org/) 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 Tunescape - 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 CyberSecurity - 8/2000 to 10/2000 * Network Administrator training game * Designed & implemented initial software architecture * Used Macromedia Director, with actions scripted in Python, using pythoncom to wrap custom COM objects as well as ADO * Wrote initial game design document * Project Website: http://www.etc.cmu.edu/projects/cybersecurity/index.html Crowd Control - 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 Delorean - 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