A bit about me

Hello world.

I’ve coded C++ actively since 2000 and been in the games industry the last 7 years. I joined DICE in early 2009 to code AI for Battlefield Bad Company 2. I worked on AI, coop and CPU performance for BF3. For BF4 I lead the Engine/Core team that handled memory, packaging, CI, builds, tools, rendering, physics, audio, nasty bugs and more. I moved to Frostbite’s core systems group in 2014 where I’ve worked on our pipeline framework, structured data and reflection systems and I’ve lately been implementing our new asset database / snapshot filesystem.

I’ve been more focused on desktop and console software than server side code. Last few years I’ve had the pleasure of not splitting my focus across multiple platforms, even though I do miss the PS3 tool chain now and then. Being able to optimize for SSD and gigabit ethernet has been nicer than optimizing for optical media and slow HDDs. Unfortunately I’ve never got to do any GPGPU work.

I have a Haskell background from university and an interest in computer languages. I’ve followed Rust’s development since the early 0.1 alpha and look forward to a future where Rust can gradually replace C++. Since I’ve mainly worked in large codebases shared with 100s to 1000s of engineers, I’ve developed a preference for statically typed languages over dynamic ones. Even though I kind of like LISP and Ruby.

Frostbite has a quarterly action week where we can work on our own projects, as long at they have some potential value for EA. I used some of my latest action week to write these first few blog posts and create this blog. I’d like to give my sincere thanks and appreciation to Frostbite and EA for this freedom.

The views expressed on this blog are entirely my own and not the views of EA, DICE or Frostbite.