Daniel
Kennett
Graphics Software Engineer, Electronic
Arts Canada
Current project:
EAGL (EA Graphics Library). I am the Xbox run-time lead, responsible for
the design of the Xbox version of EAGL as well as working with the other
team leads to help determine the common runtime and pipeline APIs.
Academic Info
College:
Simon Fraser University, Canada
Degree: Bachelor of Science
Were there any particular projects or areas of study that you pursued?
I was a graphics nut. I took practically every computer graphics course
SFU had to offer. I additionally did a directed studies project on evolutionary
procedural modeling and worked as a research assistant in the SFU Graphics
Lab.
Did you do any
internships?
Yes. I did two eight month terms.
Career Info
Tell us about
your first job in the industry. How did you get the job? What was it like?
What were your responsibilities?
I guess my first job in the industry was my second internship. I worked
as a software engineer at Helikon, a small startup game company. During
my time at Helikon I wrote sound and math libraries for the investor technology
demo Helikon was producing. I also did some client/server work with one
of the senior engineers. My positive experience at Helikon made up my
mind that the gaming industry was where I wanted to work.
What jobs have
you held in the games industry thus far? Briefly describe the career path
you took to get where you are today.
I started in Electronic Arts Canada's Tools&Libraries group and was
responsible for their low level hardware accelerated rendering API (using
Direct3D, 3dfx Glide, etc). After a number of years of low level PC rendering
work I moved on to become the Xbox runtime lead on the EAGL project, a
higher-level cross platform rendering engine.
Advice
What fields
of study, specific courses, or life experiences would you recommend to
students interested in your field?
For graphics programming, a good math background, a touch of assembly
and a good knowledge of C/C++ is a must. Also learn DirectX or OpenGL.
If your university offers computer graphics or animation courses take
as many as you can. I also recommend writing cool demos, a rendering engine,
or a game or two. Make sure that you learn the fundamentals of graphics
and try your hand at writing a software rasterizer or a raytracer. In
this age of GPU's and hardware acceleration this knowledge will serve
you well as hardware becomes more programmable. If your university offers
work terms or internships I would recommend doing one or more terms. Even
if the term is not in the games industry it is still good experience.
Is there anything
you wish someone had told you before you got into the games industry?
Is there anything you would have done differently?
I don't know if I would have done anything differently, I'm pretty happy
with the decisions I've made so far. If anything I wish I'd taken a few
more art/drawing courses while in university - I might be able to write
cool pixel and vertex shaders and skin characters, but ask me to sketch
something for an artist or a producer and get ready for the revenge of
the poorly drawn stick people...
As games increase
in complexity, what are the various kinds of jobs that you foresee development
companies needing in the next five years?
I see a move towards more specialization. With three consoles and the
PC we are seeing larger teams with people working on specific areas: AI,
sound, graphics, networking, etc. Good jack-of-all trades programmers
are still important, but every project needs its specialists if it is
going to keep up with the changes in technology and the continual need
to innovate. I also see a rise in the role of technology re-use, and of
tools & technology groups within game companies.
Do you have
any other advice or recommendations to share with students who are interested
in doing what you do?
Write demos or rendering engines or games. Make sure you learn either
DirectX or OpenGL. Graphics programmers are specialists, and when you
apply to a game company you want to make sure that your resume stands
out from all of the others. You want to show people that you eat, sleep
and breathe graphics. You don't have to be an expert right off, but you
do want to show that you are willing and able to learn.
|