linkedinlogo LinkedIn
generalpic
Niklas Lundberg (1976) Stockholm, Sweden.
Senior Engine Multiplayer Network programmer @ Avalanche Studios.
Started poking at code at 14 due to interest in games,
  Zelda and Metroid were favorites.
I prefer a simple pragmatic approach to problems
  presented when possible. C-like "There's data and functions".
I like to avoid over-engineering and modern C++ features
  for the sake of "must use latest", and dogmatic
  object-oriented thinking.
Areas of interest are physics, gameplay mechanics,
  gameplay systems, networked multiplayer physics,
  engine development, and full-game creation.
Linux user since 1997 (FreeBSD 3yrs, Gentoo 14yrs, now Arch).
Did some 486/68k asm in the '90s.
See project pages for more.


work history

startuppic 2020-2022 Startup
Single handedly architected and implemented the
networked client/server multiplayer system
from scratch in our in-house c++ engine.
Integrated with cloud services, hosting, engine and
gameplay systems, running both on client and server.
The engine uses both reliable UDP and websockets
for interop between Win32/WASM/iOS/Android.
Lead other employees and interns with intro tasks and
how to network their game systems.
Tools: Git
avapic 2010-2020 Avalanche Studios
Various programming roles, see below.
Years are guesstimates.
All code I've done at Avalanche is C++,
  including gameplay (no lua etc), except
  for buildsystems and early editor prototypes.
Tools: Visual Studio, Perforce, project trackers.
contrabandpic 2019-2020 Contraband Avalanche Studios
Architecting and implementation of
  networked multiplayer engine parts for
  transitioning from p2p of
  gameobjects, entities, gameplay systems
  to server-authority.
rage2dlcpic 2019 Rage 2 DLC Avalanche Studios
Gameplay features, like upgrades, new modes.
Profiling, bug-fixing.
jc4dlcpic 2018-2019 Just Cause 4 DLC Avalanche Studios
Gameplay, physics and editor authoring tools,
  for the Hoverboard rails and terrain steering.
Race car features, like ghosting and
  back-to-track.
rage2pic 2018 Rage 2 Avalanche Studios
Gameplay, sound, dialogue, animation,
  cut-scene/sequences, profiling and optimization.
cotwpic 2017 Avalanche Studios theHunter: Call of the Wild
Game-side implementation of Steam, PSN and XBoxLive
  services such as match making, join, kick.
Gameplay weapon/skill upgrades.
Handling of package and delivery to Sony/Microsoft.
jc3dlcpic 2016 Avalanche Studios Just Cause 3 DLC
Gameplay and physics in c++, e.g.:
    missile targetting.
DLC-handling, achievements, patching, profiling.
jc3pic 2012-2015 Avalanche Studios Just Cause 3
Deliver voxel terrain editor used company-wide,
  initially for Just Cause 3.
Small gameplay tasks, like providing physics info
  to audio design scripting people.
madmaxpic 2010-2012 Avalanche Studios Mad Max
Engine-development, I did the initial porting of
  game libraries for then-new XboxOne/PS4 platforms.
Infrastructure, build-systems and continuous
  integration servers for Mad Max and Just Cause 3,
  running on a mix of Linux and Windows.
Ported buildsystem from Jam to Waf.
divider -- -- -- -- -- -- -- -- -- -- (end of Avalanche projects)
intelpic 2004-2010 Intel (previously Wind River and Interpeak)
Senior Network stack programmer.
Low-level C89-programming of OS-level network stack.
Delivered software now used in routers, cell towers,
  and the VxWorks real-time OS used in
  mission critical services, like airplanes.
Implemented protocols from draft RFCs,
  such as Mobile-IP / LTE (now known as 4g).
Wrote an autotest system in Python.
Gentoo Linux used as desktop OS.
CVS for version control.
sinchpic 2000-2002 Sinch (previously mBlox and CoTraveller)
Wrote a google-maps like app for the PalmPilot
  handheld PDA in C.
Wrote some Java Beans for the SMS/Text system.
Admin of OpenBSD firewall for the company.
FreeBSD used as desktop OS.
Visual Sourcesafe for version control.
sigicompic 1997-1999 Sigicom (previously Signalteknik AB)
Wrote a PC GUI-app for managing real-time
  collection of vibration sensor data for
  Volvo AWD cars.
Maintained Visual Basic app for real-time
  monitoring of even asphalt distribution.
Zip-files for version control.
divider -- -- -- -- -- -- -- -- -- -- non-full time jobs below
kthpic 1995-2000 M.Sc. Computer Science education
Distributed systems specialization,
  i.e. server-less network algorithms.
teacherpic 1996-1998 Teacher at KTH
Teacher in:
  - Introductory math, recap of High School.
  - Linear Algebra.
  - Object-oriented programming in C++.
ericssonpic 1994-1995 Ericsson summerjob
Processing www/cgi with Awk and C.
teliapic 1992-1993
PC Support.