I am what you could call a Jack of All Trades. Since my childhood I have always had an urge to learn new things. Being uncertain if art or technology is what drives me forward, I have jumped between many disciplines over the years. I am first and foremost a problem solver, my creativity is like icing on the cake.
My skillset can not clearly be presented in a classic portfolio. My value is apparent when I am involved on a project, as has been proven many times before; ask anyone I have worked with. You might not hear that I make the best animations, or the best solutions, but you will hear that I get things done when given a clear direction. I do not back down from a challenge. It has happened that I have left a project, on my own terms, only to have people beg me to come back at a later time because things do not get done. I am that person which others, sometimes, do not know the value of until I am gone.
Maintaining a good workflow in a project is very important to me, especially mitigating negative effects on the team. Previous projects have caused me serious burn-out due to my hard working attitude, trying to cover for poor planning or unrealistic goals. Not only did it make me do "stupid shit" against others, it has also taken me several years to recover from psychological damage caused by depression. The greatest experience I have gained is that a project needs to be tackled holistically and should never sacrifice a work/life balance. I understand the importance of keeping every studio member in good health and that issues and solutions commonly originates from planning, leadership or studio culture.
While game development is a creative discipline, I am fully aware that it is a business. Working with me will ensure that you have a well rounded developer with core knowledge in every area of development, whom also knows the fact that a studio is, first and foremost, a company; not a playground.
I have over the years tried to be loyal and attached to every project that I have been involved with. My experience has led me to see differently, that there is more value to be gained by distancing oneself from the product. To be the devil's advocate at every turn. Both appreciation, praise and tough love is needed to keep a team motivated to build the best product possible.
Be aware that if you involve me in a project and it is handled poorly, I will move on to something else. A contract is a mutual agreement and I will not tolerate being treated like an expendable asset or work under incompetence, no matter the cost. I will gladly join any project as long as it is on equal standing.
Feel free to contact me for networking, friendship, freelance work, full-time opportunities or out of curiosity. I don't bite.
- Native Language
- Fluent in Writing and Verbal Communication
International On-Site Experience
6+ Years as a Professional (Accumulative Experience)
Unrelated Work Experience
See project banners listed on the rest of the page for more information.
Software Experience - Intermediate and Beyond
Programming and Scripting Languages
API / Libraries
Source Control / Digital Asset Management
Video Editing Applications
Programming / Text Editors
Foundation Year in Science and Technology
1 Year - At LiTH in Linköping, Sweden
B.S. + M.Sc. in Media Technology and Engineering
Ongoing - 1 Year of 5 - At LiTH in Linköping, Sweden
Colored numbers indicate grades in a G, 3, 4, 5 system.
G/D: Pass/Attendance in a Pass/Fail only course
: Pass, : Pass with Credit, : Pass with Distinction
Courses from Foundation Year in Science and Technology
Biologi för tekniskt/naturvetenskapligt basår
Fysik A för tekniskt/naturvetenskapligt basår
Fysik B för tekniskt/naturvetenskapligt basår
Kemi A för tekniskt/naturvetenskapligt basår
Matematik I för tekniskt/naturvetenskapligt basår
Matematik II för tekniskt/naturvetenskapligt basår
Matematisk breddning för tekniskt/naturvetenskapligt basår
Courses from B.S. + M.Sc. in Computer Science
Funktionell programmering och Lisp
Imperativ programmering och Ada
G Perspektiv på datateknik/datavetenskap
G Datorsystem och programmering
Courses from B.S. + M.Sc. in Media Technology and Engineering
G Digitala medier
G Tillämpad matematik i teknik och naturvetenskap
I have worked on multiple scripting and programming projects on my own. A character rig mirror tool for Maya. Learning OpenGL by starting an engine in Haxe and later transfer the code to C++. I have also attempted an animation tool in HTML5, a project which I had to put on ice due to work.
I have also applied programming professionally despite it not being a part of my role. This includes C++ programming for Guardians of Valor, a mobile game project which you can read about further down on this page.
My level in programming has reached a point where I can understand and utilize concepts such as classes, recursion, timers, callbacks, events, synchronous vs asynchronous code, C++ templates, lambdas, delegates and so on. I consider myself above intermediate at this point but no expert.
I am also aware of agile workflows, scrum, rubber ducking, pair programming and other techniques to improve programming efficiency.
I am not attached to any programming language and see each one as a tool for a separate purpose. Language fanboyism is nothing else but immature behaviour. I am neither attached to any programming convention and follow the standards set by the team, if there is one established. I am a huge proponent for coding conventions as it assists in readable code and cooperation in any team.
I prioritize functionality, readability and optimization in said order. Like a wise programmer once said: "Premature optimization is the root of all evil."
My path to technical art started at Star Vault while working on Mortal Online, my first professional game project. Prior to Mortal Online I had never rigged a single character, so I learnt this skill on the go.
A funny side note is that prior to Star Vault I had applied to a prestigeous game development college in Sweden and been denied because I was contradicting and not fit for game development because I said I wanted to focus purely on animation. A year later I was leading interns from that same college on our project. Ironically as it might be, if that is not testament to my eagerness to learn and share my knowledge, I don't know what is.
I have worked with most major areas in technical art, including character rigging, animations, animation systems, shader creation, tools and pipeline, particle systems, optimizations of both code and art, tool creation and so forth. I rarely back down from a challenge as I like solving problems.
I also have experience with drawing, modelling, UV mapping, texturing, normal map generation, basic audio creation, level design and other art areas but I am nowhere near a proficient level to be a pure artist. I do however have more than enough knowledge to understand what it takes to create art and this gives me an edge when it comes to creating tools and communicating within a team.
I would characterize my animations as neutral, stable and opposite of eye catching. While I do understand the fundamentals of animation I am still working to get my animations to pop, give them oomph. I will probably never reach Pixar level. I am however efficient, my strength lies in making animations according to description and getting them into the engine without issues. The stuff I create is known to , no headaches attached.
Considering I have strong technical knowledge and have in most projects implemented the animation systems myself, I understand what is necessary for both sides to work. This ensures that the animations I create are stable in game and works as intended.
You could consider me a work horse, a grinder, when it comes to animation.
I started this project because I wanted to learn OpenGL. I also want to create a library for my own tools. The engine is currently in a very early stage. I spent a lot of time on code structure, scene graph, how to load shaders, materials, mesh data and such. There is currently nothing fun to see on screen except a few transforming cubes in a hierarchy.
I am currently looking into Qt Framework for the UI. I learnt that they are implementing Qt3D, which is a layer on top of OpenGL with a scene and render graph ready to be used. I am not certain if I will keep my own code or go full Qt yet.
Biff is a full body character rig for Blender freely available for download. Biff is a play on words in Swedish. We sometimes call muscular people as "steak"-y, think "meaty". Biff means steak in Swedish. Ironically it also means to strike someone sharply in English. So the double meaning is perfect.
This character kind of happened by accident. I was working in Sculptris trying to sculpt a male bust. I wanted to learn rigging in Blender a while after this sculpt was done. I didn't have any characters I could use, so I decided to use this bust and model a full body character in Blender.
I also learned some Python programming for Blender while working on this rig. There is a shelf included to allow easy switches for this rig.
This project is simply a collection of experiments that I am doing in UE4 outside work. I post all of my results over at the official forums, you can find my thread here.
I have not hosted an interactive version of this tool because it is currently broken after a few browser updates. It will take some work to get it stable again.
I used RequireJS to get support for classes and inheritance in ECMAScript5. The scene graph uses a mix of linked lists, recursion, inheritance and entity/component behavior. One of my proudest achievements in this project is supporting nested rendering, almost portal style, you can render scenes within each other and it is possible to achieve "infinite windows" when overlaying outputs from cameras. I am happy about the performance. The video above was rendered on a Surface Pro 1 in Google Chrome at max framerate.
I am not certain if I will ever go back to this project and make it something released for the public. I dropped it because I was hired in Bahrain to work for Guardians of Valor. While web technologies are fun, they are quite not as effective as one may want them to be. Especially when tablet support and performance is not as good as a native application.
I wanted to make a mobile and PC game on my own while studying at the university. Trying to minimize the amount of work needed, I decided to ditch texturing and 3D lighting. The style of the game started to become fills and silouhettes, very similar to the game Another World / Out of This World.
This game got put on hold while freelancing for SOMA and I quite did not get back to working on it. I also lost inspiration when everyone in the indie scene decided to pick up the non-textured simplified style for 3D games. I still think I have a unique look to my game, so I might come back to it one day.
Back when UE3 has been out for a little while I wanted to learn to create a character from scratch, with proper shaders. I have also always been a fan of the horror genre. I decided to go for a very simple non-humanoid character to avoid a lot of work for someone of my level at that time.
I started by sketching out a very simple concept. Later I made a low and high poly mesh, baked normal maps, used photo sourcing for my textures and tweaked as much as I could in the materials to make it look nice. I noticed that the textures didn't have to be perfect as long as the final colors in the engine popped.
I managed to get a blood-flow effect on the brain which I kinda liked. Very subtle however.
Looking back at the project I think I should perhaps have stayed with black eyes like in the concept. It would probably make the character more creepy. I think I picked the name Skelly back then because I didn't know if the character turned out cute or scary...
UE3 was initially available through the game Roboblitz, it was however limited to work with. Later when Unreal Tournament 3 was released, the engine was finally fully supported for modding. Epic released their default male and female 3dsmax skeletons to the public, nothing was available for Maya however.
Back in 2008 I stumbled upon a converted version for Maya by a user which I no longer remember the name of. I decided I wanted to make an animation rig which the community could use to create custom animations. I created these rigs in my free time while working at Star Vault on Mortal Online.
I also made export scripts for PSK/PSA and later FBX to simplify the process. The rigs are available for legacy purposes so that users who are working in UE3 and Maya are not stranded.
If you did not notice, this shotgun is the same one used in the UT3 Community Rig above. This was a side project of mine where I wanted to learn how to implement a first person weapon from scratch. I did not want to do any texturing, but rather learn the process to create a usable weapon.
I created the shotgun combined with the first person skeleton released by Epic. I created an animation rig, animations and scripted the shotgun in UnrealScript.
The weapon was later released in an updated version of the UT3 Community Rig.
This was a university project I worked on with two other students. We had two weeks to create any kind of multimedia project in a multimedia introductory course and do a presentation on the results.
We decided to make an animated short.
Todo: Add full project description.
Fiskebåten (The Fishing Boat) was a high school game project that I did with a friend. My friend created a 2D engine in DirectX3D and I created the pixel art.
Admittedly we didn't get far because I started to procrastinate halfway through the project and it slowly died out. Despite of that, looking back at it today it still looks quite nice.
Sintel is an animated short by The Blender Foundation. During the project, then known as Project Durian, the team launched a community event where users from the Blender community could contribute to the animated short. I was in the IRC channel at the time and decided to contribute a couple of animations.
The blendswap files for the animations can be found here and here. Note that Blender 2.57 is needed, the Durian rig breaks in newer releases.
The startled animation appears here in the final video. (Credited here) Incredibly short appearance but still fun to have contributed to the movie.
Project Stealth is a Splinter Cell inspired multiplayer mod initially for UT3 and now being developed in UE4.
I rigged both the spy and the merc. I also created some starter animations for the merc.
Nightblade was a Thief inspired mod for UT3. Its aim was to be a spiritual successor to the Thievery mod for Unreal Tournament.
I helped out in rigging and animating the thief. I also did some extra work in the levels. Sadly the project was decided to be cancelled due to little interest and time from both the team and the community.