Personal Details
Name: |
Steven Goodwin |
Date of Birth: |
30th July 1973 |
|||
Address: |
PO Box 31216 London NW2 5ZS |
|
|
|||
E-Mail: |
goodwin_steven@hotmail.com |
|
|
|||
Marital Status: |
Single |
Nationality: |
British |
|
||
Clean Current Driving License |
|
Non-smoker |
|
|||
Personal Statement
I am a highly experienced manager and developer with over twelve years of commercial experience in the games industry using C, C++, and Java. I have full life-cycle experience on over five commercial products, as both a programmer and manager. In addition, I have produced numerous independent projects on Linux, Windows, the Amiga, and various web-based platforms. I am also an internationally published author on the topics of Linux, development practice, and games. My first book, “Cross-Platform Game Development”, was published in Q1 2005 and has since become an industry standard and been used as the course text at Westwood College, USA. I am currently looking for a senior technical management role overseeing and working creatively with existing, new, and emerging technologies. My ideal role would encompass multiple disciplines and support personal and professional growth. |
Education
1991-1994 |
Loughborough
University of Technology, Leicestershire |
1990-1991 |
Colbayns
High School, Pathfields Road, Clacton-on-Sea |
1990 |
GCE 'AS' level Technology (D) |
1984-1989 |
GCSE level Computer Science (A), English Language (A), |
Work Experience
Software Architecture
September 2009-Date |
As Playfish's software architecture I design and build the client
infrastructure components for all the games currently under development. This
includes code to interact with Facebook, our servers, and other libraries.
The work involves the creation of abstraction layers and intelligent
interfaces that allow for upgrades and changes to the backend systems without
affecting the games at all. As one of the senior developers, I demonstrate and promote best
practice and code re-use through my updates to the teams and internal
advocacy. |
SGX Engine
Ongoing |
The SGX Engine is my 3D graphics engine for hand-helds, consoles, and PC. It is based around of series of null drivers and loosely-coupled modules to facilitate an infinitely upgradable engine. It is an engine whose design, architecture, and development has been carried out entirely by myself. It currently supports PC, Nintendo Wii, Nintendo DS and
iPhone. I have personally written the low-level driver code for the
Wintel32 version (with OpenGL, FMOD/OpenAL), the Wii (using the Revolution
SDK), and DS (with a custom NitroSystem abstraction). For each platform I
have designed and built platform-specific driver code for the graphics,
audio, input, core, and filesystem components. The remaining sections
(collision, physics, scripting, GUI, and so on) utilize the existing
cross-platform code in the other components. SGX, and the principles of its design, has been covered in my first
book (Cross-Platform Game Programming) and in talks given at FOSDEM
(2009) and Develop in Brighton (2009). It has been used in various commercial
titles including Squibs Arcade, eyePhone Spy Dogs and three (as yet)
unannounced commercial titles. |
Alten8
August 2008 – July 2009 |
As Alten8’s Head of Development I oversaw all its game projects in various roles. As a producer I coordinated and focused all departments, allocating time and determining trade-offs between the various disciplines of code, art, design, and audio. When I joined the company, there was no team to speak of (one artist
and programmer working ad hoc on other projects) and was an art outsourcing
house for DVD covers. I began by organizing a team structure, reviews, and
building an attack plan to develop the first batch of games. As a programmer I wrote game code for all three titles (Tractor Tom,
Squibs Arcade and eyePhone Spy Dogs), as well as the Nintendo Wii and
Nintendo DS code for the SGX Engine. This entailed writing low-level driver
code utilizing the console API’s to provide an abstraction interface for the
games, in areas such as graphics, audio, and the filesystem. For the iPhone
project I worked as both a programmer and an external producer for our
off-site programmer. Cash flow problems prevented the release of the (completed) Wii version
of Squibs Arcade, but it hoped that a co-production venture would allow it to
be released in the future. |
Glu Mobile
October 2005-August 2008 |
This role has permitted me complete control of the management and
development of a brand new tool chain for this major mobile publisher and
developer. I have been instrumental in creating a level editor and
architecting an asset pipeline to unify the myriad of tools and batch files
that were prevalent previously. I also use this position to advocate and facilitate
the usage of common tools, and code sharing. As a senior developer I also liaise with designers, artists, and
other lead programmers to create tools and solutions that aid the individual
projects. This may involve writing project-specific processing modules and
exporters, or general-purpose code that is focused for one project, but is
later available to all. I also report to the studio head to proactively
discuss future strategies. In 2006, I designed and built the company's first cross-platform 3D
engine for mobile development. This was written in Java and worked with both
the Mascot and JSR 184 (M3G) API's by abstracting the common elements behind
an effective API. It was primarily focused towards our first full 3D game, Project
Gotham Racing: Mobile, but consisted of a general-purpose engine layered
with a general purpose racing engine, and custom code for PGR. This is now
used by all the other 3D titles (including Transformers), but I am still able
to influence the continued enhancement of this code, to ensure a high level
of quality. Additionally, I founded Glu University that gives lectures and
tutorials on the various technologies inside (and outside) of the company and
disseminates information, raising the average ability of all our developers.
Past lectures have included 3D on mobile, optimizations, and the asset tool
chain. |
Criterion Software
June 2004-October 2005 |
Tools developer and technical author. This role allowed me fuse my
communication skills and abilities as a writer with my existing experience as
a manager and lead developer to raise the standard of the RenderWare 4
documentation, culminating in the timely release of RenderWare 4.0. As a tools developer I coordinated work between authors and
developers to produce suitable tools that aided the documentation team. This
included automated build scripts, change log generation and “RwDoc” which
extracts documentation comments from C++ source code to create an API
reference. This involved writing a complete C++ parser in Perl to understand
the many idiosyncratic uses of the language, such as namespaces, templates
and function overloading, and build an XML description of the API. Additional
scripts then build this information into a CHM (compiled HTML) file. The authoring side of the role involved writing and proofing
tutorials about the RenderWare 4 API. Sometimes the code and tutorial
structure will come from a programmer and I would adapt it to conform to the
in-house style, and in other instances I created the material myself. I also
authored numerous guides and documentation standards for the programmers and
authors. As the senior developer on the documentation team I was able to
introduce novel ideas and concepts, and inspire my fellow workers to think in
new directions. I then used my management experience to help ease the
pressure on the lead by controlling much of the tools work of which I was
more closely involved. |
Freelance
2004 |
Freelance writer and tutor. As part of my sabbatical I studied many
new fields, such as PEAR::DB, SOAP and Brew. I applied my OOA&D knowledge
to PHP under a LAMP environment to develop Home Automation software, and
continued work on my own engine. My primary focus during this time was the writing of a book entitled “Cross-Platform
Game Programming”. This is an original title covering all aspects of game
development. It details the methods for introducing scalability into the tool
chain and cross-platform run-time code, handling threaded and multi-processor
architectures and dealing with non-standard libraries. It helps the reader
understand the jungle of abstractions, design patterns and engine
architectures used in cross-platform development, using my own SGX engine as
a guide to best practice. It was published by Charles River Media, and
released in Q1 2005. I have since used the knowledge present within the book
to create course notes and a lesson plan for Westwood College who are using
the book as the course text for their “Game Porting Basics” lessons. During this period I also wrote a variety of articles for Develop and Linux Magazine on topics as diverse as multi-lingual programming, databases and the development ‘crunch’. The latter being Develop’s cover feature in March 2004, generating an impressive response from the development community. This article has since been used as material in the BA(Hons.) Computer and Video Games course at Southampton Institute. I also gave talks, presentations and tutorials (most notably to
Mensa) on Linux, web design and digital photography. |
|
|
Computer Artworks
2003 |
Senior Programmer at Computer
Artworks (Victoria). I was a fundamental part of the Core Technology group that developed and supported the company’s
common technology, including its tool chain and cross-platform,
client-server, game engine. My major successes within this role were the audio engine (which I designed, managed and helped implement), the automated build system, and the unification of our tools. This was a two stage process. The first involved the accumulation of existing tools and bringing them into a single, understandable, process with consistent naming and usage patterns. The second was the design and (partial) implementation of a new GUI-based solution encompassing existing technology while additionally providing a user-friendly, and feature-full, tool chain and preview system. I was also instrumental in providing a strategy and technical
guidance in the preparation and deployment of the open source tool Subversion.
For this, I established its suitability and produced in-house documentation
and presentations for its use and subsequent (planned) roll out. As a senior programmer I was frequently called upon to perform code
reviews for other team members, and assist the game teams integrate new
features, or understand existing elements. Computer Artworks liquidated in November 2003. |
Bits Studios
1998-2003 |
My first role at Bits Studios was as a programmer on Die Hard:
64, a console game for the Nintendo 64 platform. This involved comprehending
a large, unfamiliar, code base very quickly and writing game components as
required by the design document. As the N64 market declined in late 1999, the
project was no longer financially viable, and the project was moved onto the
(at the time, unreleased) GameCube console. In 2000 I took over the lead programmer role on the newly christened Die Hard: Vendetta project. This was a full life cycle role,
and resulted in a number 1-selling first-person shooter license for Fox
Interactive. It runs cross-platform on Nintendo GameCube (released Q4-2002),
PS2 (Q2-2003), X-Box (Q2-2003) & PC (internal testing only). |
|
As the lead programmer, I fulfilled a dual role as both developer and
manager. As a programmer I orchestrated the move away from a predominately C
code base, to C++. This involved an object-oriented design for the game
engine that provided a loosely coupled architecture to support the individual
components in an efficient manner. This required that I design the standards
used within the engine’s sub-systems and libraries. This included
implementing code for AI path finding, front end and in-game menus, the
particle system and most of the game infrastructure. The move to GameCube also required me to become responsible for
adopting cross-platform techniques, devising methods to handle the limited
resources of the embedded system, and encouraging the use of style
guidelines. I was also in charge of our tool chain and bespoke editor (Win32, MFC
with COM), which involved maintenance coding, the integration of new features
(as managed with the design and code teams), and incorporating external
changes back into the tool. During the closing months of the project I
increase my auditing role by taking charge of optimizations and conformance
to the ‘Lot Check’ quality guidelines. The management aspect of the role made me directly responsible for
interviewing and hiring seven new staff, bringing the total to twelve. Once
employed, I acted as a mentor and tutor, training them in the use of the
engine, tools, as well as directing peer reviews. At the end of each year I
also wrote appraisals, and made assessments. I also dealt with many non-programmers on a regular basis, both
inside and outside the team. My most frequent contact came from the artists
and designers, where I managed feature requests and bug reports, and
incorporated them into the development schedule. I often demonstrated the new
features once they had been incorporated. There were also dealings with other
managers and journalists, providing background information for the technical
side of the project. |
|
|
Edcom Ltd
1994-1998 |
Lead, technology and game programmer, writing strategy simulations
for Edcom Ltd. During the course of
my employment I completed four published computer games, working full
life-cycle on each of them. The first two were developed for Windows 3.1
using the WinG libraries for graphics. The later games ran under Windows 95
using DirectX technologies. All four were written in a combination of 'C' and
'C++' and were available in several foreign language versions. Powerhouse. A tycoon-style business simulation to buy and
sell energy resources across the world. I acted as technology programmer on
this title, but it was my least involving of the four projects. Here I wrote
the multimedia libraries for audio, FLI animations and image loading, as well
as integrating Smacker. This code became part of our core library, and
critical to the swift turnaround of future products. |
|
Grand Prix Manager. Hailed as “the best Grand Prix Management
simulation” by PC Zone, it gave you control of every aspect of
managing and developing a Grand Prix team. In addition to creating library
code (a new rendering engine and data-driven front end) I was responsible for
writing the vast majority of the game. I also outsourced modular tasks to the
other programmers and liased with the artists to produce the required
graphics. Grand Prix Manager 2 is my most successful title to date and has amassed sales of over
200,000 units. It was an upgrade (and overhaul) of the original GPM
game. In order to increase functionality (but under the same specification of
PC) I optimized much of the render code using profiling tools and
hand-written Pentium assembler. This game also featured my networking library
for the first time. After release, a Windows 95-specific patch was issued. This presented
a refactored sound engine and DirectX network code, incorporating DirectPlay
for Internet gaming. This upgrade also involved porting the 16-bit code to
the Win32 API. Fields of Fire. A real-time strategy game set during the
American conflicts of the 1700s. This was another project where I took an
R&D role, providing library code and technical support for the 32 bit OS
and the new 16-bit colour graphic engine. I also wrote new libraries for path
finding, animation and font handling. Part of Edcom’s success was due to the common technology and tools
that existed. I was instrumental in encouraging this approach, and was
responsible for its maintenance and direction throughout my time here. |
1988-1993 |
Miscellaneous part-time work at Electrical
Windings, Gateway Foodmarkets & Colbayns High School. |
Additional Skills
Extensive experience in a
lead role, directly managing around ten programmers in a team at Bits Studios, and one-on-one management at Computer Artworks. This has involved hiring new staff, producing
schedules, dealing with problems, and creating workable solutions. I have
also worked along side other team leads, external staff and product vendors.
My lead position at Edcom Ltd involved scheduling work for artists,
as well as programmers. A very broad base of
knowledge and depth of experience, crossing most modern operating systems and
languages. Keenness and enthusiasm to learn and develop new technologies,
with good memory retention enabling me to draw parallels between many varied
disciplines, and espouse them to others. Technical writing
abilities as demonstrated by my books “Cross-Platform Game Programming”, “The
Game Developers Open Source Handbook”, a large number of published articles
in Develop, Linux Magazine, and my work at Criterion Software. I also give
lectures to both lay and technical audience on a variety of topics. |
Interests
A composer and performer
of music in the 'Electro' vein, which also extends to assisting colleagues in
their own musical excursions. Some examples are available at
http://www.BlueDust.com/pub/mp3. I also have an ongoing
Home Automation project, called “Minerva” and based at
http://www.minervahome.net, whose functionality includes the remote control
of my radio, TV and CD player, and was a featured part of my talk at NotCon
’04, and more recently at FOSDEM. The Open Source software
and community play a large part in my external activities, as both speaker
and attendee at many conferences and events. My blog (http://www.bluedust.com/blog) contains my numerous thoughts and musings on technology, and has become my point of contact for the geek community, as has my bi-weekly column in Free Software Magazine (http://www.freesoftwaremagazine.com). |
Other Information
Gained promotion to
Sergeant of The Boys' Brigade, and attained the Presidents Badge. Both awards
display competence in leadership, maturity and self-motivation. |
The founder of Quarantine
Records, a University club set up to release the music of student bands and
performers. Organizational skills and imagination were used extensively to
launch the idea into a complete society with around 40 members. |
One of eight finalists in
the Charnwood Arts 'Composers Platform' of 1994. 'Recursion' was performed to
an audience of around 100 people. |
One of the few people to
have had puzzles accepted for publication in Think Tank, the puzzle section
of the free paper 'Metro'. |
A member of Mensa, the
high IQ society, the Society of Authors, and a reader at the British Library. |
An on-line CV is also
available at http://www.BlueDust.com/cv that contains more information about
my work, links to software, music and various other projects – such as the
portrait of Tori Amos made from Lego! |
Referees
Withheld for privacy
reasons. Please e-mail me at goodwin_steven@hotmail.com if
you wish to contact them. |