DANIEL P. WRIGHT CURRICULUM VITAE Ground Floor (Front), 28 First Avenue, Hove, East Sussex, BN3 2FF, United Kingdom Mobile: +44 (0) 7762 904704 Email: dani@dpwright.com Website: http://www.dpwright.com Profile ================== Currently working for Kuju's Brighton studio, Zoë Mode, I am a flexible and adaptable programmer interested in many aspects of games development. I have excellent C/C++ skills, as well as a love for mathematics and logical analysis that enables me to fully utilise these. I work well both with a team and on my own, and I am a very outgoing and committed individual, both in and out of the workplace. My particular interests within the field of computer games are primarily artificial intelligence, audio, and core technologies in general, though I do have relevant experience with 3D graphics and gameplay logic. I am also interested in the games development process, and in automating the asset and build pipelines as far as possible while retaining as much flexibility as is necessary. Skills =================== Programming Techniques: * Advanced OOP skills. Ability to communicate software design ideas effectively to other members of a programming team, as well as implement them. * Adaptable to different working environments and coding standards. When joining a new programming team, I view learning that team's engine and toolchain as a high priority, so that I can start contributing productively as quickly as possible. * Experience working with a number of console platforms, including PlayStation 2, Nintendo Wii, XBox 360 and PlayStation 3. * Experience with many AI techniques, including pathfinding (with A*), post- processing on A*-generated paths, neural networks for gesture recognition, finite-state machines, and needs-driven behaviour mechanisms. I have had commercial experience using and implementing these techniques in C++, and studied their application to Board Game AI using Lisp as part of my degree course. * Realtime(HLSL, Shader Model 2.0) and offline graphics techniques, including:- Blinn/Phong lighting, Normal Mapping, Shadow Mapping, Keyframed Animation. * Comfortable with modern C++ tools and paradigms, including STL, Boost, and writing/using templates. Computer Environments: * Highly proficient in C/C++ programming using Visual Studio .NET, CodeWarrior or gcc. * Comfortable working at a UNIX command line. Some experience writing bash/make scripts. * Experienced with common toolchain applications, including Perforce, Subversion, and GlowCode. * Experienced with Direct3D and OpenGL, including shader programming with HLSL. * Experienced with certain middleware, including Gamebryo, FMOD, and OGRE. * Familiar with a variety of development and debugging environments, including VS .NET, CodeWarrior, SN Systems, and gdb. * Familiar with Hansoft and Agile Development. * Some experience with Objective-C and Cocoa. * Some experience with C# and Windows Forms 2.0. * Some experience with many other languages, including Lisp, Python, and Pascal. * Great experience with MS Windows 98/2000/XP, Mac OS X, FreeBSD, and Linux. * Thorough working knowledge of MS Office, OpenOffice/StarOffice, and LaTeX. * Working knowledge of MS Visio, The GIMP, and Adobe Photoshop. Experience =============== 2007 -- Present: Zoë Mode (Kuju Brighton) -- Programmer Joined the company in Christmas 2007. As well as "Disney Sing It" I have worked on two unannounced titles. We use Agile/Scrum methodologies at Zoë, and I have at times acted as Scrum Master, meaning that I keep track of the progress of a team of people over the course of a Sprint, and report any potential problems to the Lead Programmer/Producer. Disney Sing It: High School Musical 3: Senior Year Disney Sing It A karaoke game for PS2, PS3, Wii, 360, and PC. Given the number of platforms, regions we were releasing in, and the fact that there were two products being developed concurrently, we delivered upwards of 25 SKUs! My work was quite varied and included: * Construction and maintenance of the asset and build pipeline. We used Cygwin and make to automate most tasks and manage the multiple platforms, with great success. * Some of the audio work, including the microphone feedback system. I was also involved in the pitch detection code. * In-game scoring logic and HUD rendering. * Responsible for maintaining the Wii build, ensuring it conforms to Nintendo Lot Check standards, and so on. 2005 -- 2007: Virtual Playground -- Programmer Worked on three titles as part of a 12-month supervised industrial placement. Returned immediately upon completing my degree to work on two more titles. Primarily I was involved with AI and Gameplay, though nearing release I maintained many other areas of the codebase. Mission: Runway "Mission: Runway" afforded us the chance to give our code a fairly major refactor. I was responsible for the design and implementation of much of this refactor; primarily the entities in-game. I moved these from a deep, hierarchical design, to a more flexible aggregate design. This paradigm shift has proven very successful; changes to the design of other areas of the game have since been modelled on the modifications I made here. Prison Tycoon 3: Lockdown Beer Tycoon Prison Tycoon 2: Maximum Security After "Fetch!", the studio returned to its speciality of producing Tycoon games. I migrated all the new AI work from "Fetch!" into the engine used for the first "Prison Tycoon", and we used that as a base. Each of these projects was produced to a very tight (two-three month) schedule. I worked on a number of AI and gameplay features, including: * Implementing prisoner behaviour using the Finite-State Machine which I had enhanced during "Fetch!". * A prisoner escape system, wherein prisoners would try and escape from the prison and guards, if they saw them, would give chase. * Initial setup of a new project, "Beer Tycoon". Getting the game up and running and the first assets in place while others were still working on "Prison 2". Fetch! I joined "Fetch!" three months into the nine months scheduled for the project, and was tasked with taking on all the AI involved in the project, as well as a variety of other gameplay features as is inevitable when working in a small team. My work included: * Implementation of an improved needs-driven behaviour system. The dog had a number of statistics such as hunger and boredom, which drove its decision making. * Post-processing on paths to give the dog a more natural movement. In particular, it allowed the dog to turn more fluidly, a difficult problem to solve for quadrupeds. * Writing Finite-State Machine states for all of the dog's possible actions. * Mouse gesture recognition, using a neural network. Education ================ 2004 -- 2007 University of Teesside BSc Computer Games Programming; 2:1 Hons. Modules covered include: Artificial Intelligence for Games (A), Advanced Games Software Development (A), Graphical Programming (A), Graphical Mathematics (A). 2002 -- 2004 Oxford Brookes University Computer Systems/Multimedia Systems. Completed six modules including Discrete Mathematics (A), Computer Systems(B), and Constructing Computer Software(B). 2000 -- 2002 Alcester Grammar School A-Levels in Physics(B), English Literature(C), and Theatre Studies(D). AS-Level in Mathematics(B). 1995 -- 2000 King Edward VI School, Stratford-upon-Avon GCSEs in 11 subjects including A grades in Maths, Statistics, and English. Additional Information === Games have always formed an integral part of my life, and moving into professional development has not dulled my fascination with them. Outside of work I enjoy playing games and pursuing "hobby projects" of my own. My taste in games spans a wide range of genres and styles, from puzzle games, to strategy, to first-person shooters. My favourite games are usually accessible to children, without being childish, and often have a strong story-driven background. It is important to me that games should be inclusive, that they should encourage a wide range of different people to experience and enjoy them. Outside of computer games and code, I have a number of other interests and responsibilities:- * I have a great love for mind games including chess, go, and shogi. * Former chairman: University of Teesside Tango Society. Former secretary: Go Society. * I enjoy playing music. I play classical and fingerstyle guitar, and I am currently learning piano.