CV — Niklas Frykholm

Contact Information

Niklas Frykholm
niklas@frykholm.se

Professional Goals

My ambition is to work with really challenging programming tasks in an organization that encourages learning, knowledge exchange and individual initiative. I have a broad interest in computing and enjoy stimulating challenges both on the very low level (hardware optimization, memory management, algorithm development) and the very high (system and API design).

I enjoy working with short release cycles in close feedback loops with system users, so that the value I add quickly can benefit them. I find the game industry exciting because it combines technical challenges (a continuos quest for improvement driven by hardware development) with a consumer focused end product. I also enjoy working in a diverse environment with experts from many different disciplines: artists, animators, sound designers, etc.

History

2003-2009 Lead Programmer, Grin, Stockholm

I joined Grin in 2003 and quickly advanced to the position of co-lead. Together with Tobias Persson I was responsible for planning, researching, designing and implementing the Diesel engine — a triple-A fully scriptable engine that started out as PC-only, but which we expanded to Xbox, X360 and PS3. Tobias and I worked as a two man tiger team in the design and implementation of the engine core. He focused on rendering and I on the other systems, e.g. physics, animation, sound, networking, scripting, GUI, etc.

Released games: Ghost Recon Advanced Warfighter 1 & 2 (PC), Bionic Commando Rearmed (PC, X360, PS3), Bionic Commando (PC, X360, PS3), Wanted: Weapons of Faith (PC, X360, PS3), Terminator Salvation (PC, X360, PS3).

All games use the same engine with the gameplay fully scripted in Lua. The Diesel engine has also been used to develop a number of prototypes and unreleased games on PC, Xbox, X360 and PS3 and is still in active use, for example by the company Fatshark.

In 2009 Grin was forced to declare bankruptcy because of the financial crisis and delayed payments from the publishers, as a result I left the company.

Main reference: Tobias Persson, co-lead (tobias@tobiaspersson.org)

2002-2003 Programmer, Rock Solid Studios, Stockholm

Rock Solid Studios was my first job in the game industry. I worked on the AI, the scripting interface and the utility code in the RSSTech engine for an unreleased game (PC, Xbox, PS2). I left the company when it went bankrupt in 2003.

Main reference: Panagiotis Chryssovitsanos, lead programmer (panagiotis.chryssovitsanos@avalanchestudios.se)

2000-2001 Research Staff, RSA Laboratories, Stockholm

Cryptography research & prototype development, security reviews.

1996-1999 Master thesis study program in Computer Science, Umeå University

C- and D-level courses: Artificial Intelligence, Computer Graphics, Compiler Construction, Operating Systems, Theory of Computations, Cognitive Science, Database Concepts, Computer Architecture, Artificial Intelligence II, Distributed Systems, Numeric Linear Algebra II, Image Processing — all passed with the highest possible grade.

During my studies I also worked as a teaching assistance and lecturer.

1993-1997 Study Program in Physics, Umeå University

C- and D-level courses: Electrodynamics I, Electrodynamics II, Quantum Physics, Quantum Transport Theory, Solid State Physics, Statistical Mechanics, Theoretical Mechanics, Astrophysics, General Relativity, Plasma Physics — all passed with the highest possible grade.

Side activities

Apart from my main occupation I have also been involved in numerous side activities:

Skills

I am of the general opinion that specific skills do not matter as much as the ability to quickly digest information and learn new things. A good programmer should be able to pick up a new language in a week or so. Still, for completeness, I am listing some of the areas I have worked with extensively in the past. Of course, I’ve had briefer encounters with lots of other stuff.

Languages: Swedish and English (fluent).

Programming languages: C/C++, Lua, Ruby, Python, Objective-C, JavaScript, Java, Perl.

Domain knowledge: AI, animation, sound, GUI, physics simulation, optimization, memory management, C-to-script interfaces, networking, multithreading, system design, cryptography, technical writing. X360, PS3, Windows, Mac OS X, Havok, PhysX, OpenAL.

Tools: Visual C++, Darcs, Subversion, Git.