Martin Dahlin

Technical Artist

Unannounced Project

I've worked on this unannounced project ever since early prototype and all the way to the production phase. I've worked on pretty much everything here; research and development, folder structures, naming conventions, documentation and providing the Art team with quick-and-dirty graphical solutions, shaders as well as creating a big range of quality-of-life scripts and tools for various software. Some of the Maya tools I've made are showcased here.

This is a Vertex Toolkit I made for the unannounced project. By utilizing all the vertex color channels efficiently we could make better shaders and optimize performance. Features:


  • OpenMaya (Maya API) and PyMEL. Everything runs super quick even on hi-poly geometry.
  • Bake Ambient Occlusion to vertices using the TURTLE renderer.
  • Bake Y-position values to vertices. The values are defined by a user-customizable gradient along the Y-axis.
  • Transfer texture map data into vertex color channels.
  • Smoothen vertex colors. Fills the vertices with semi-transparent white, lowering the intensity of an AO bake.
  • Copy and Paste vertex colors. An easier interface for Artists who need to do final polish.
  • Create, Delete, Merge and Split color sets. Used for displaying channels as well as for automating color set management.

The Maya Exporter is an FBX-wrapper that we use for exporting static meshes from outside of Maya - primarily used for environments and static props. I dusted off my old "Nightshade FBX Exporter" and adapted it to the unannounced project that I'm working on, adding functionality such as fixing the normals before export. It has functionality for exporting different asset types in the game (individual items, a set of item, hexes).


  • PyMEL wrapper around our the native Autodesk Maya FBX exporter plug-in.
  • Managed output - Artists only pick the path to the game project.
  • Batch export all meshes that the artist selects.
  • Export based on asset type.
  • Export path is maintained and policed by the exporter.
  • Freeze and/or center pivots before export.
  • Move to origin before export.
  • Unlock and fix broken normals.

Candy Crush Friends Saga

On Candy Crush Friends Saga I worked on a lot of different things such as tools, shaders and day-to-day support. My main focus was on setting up and supporting the tooling for the character pipeline as well as the pipeline for exporting the maps from Autodesk Maya into our in-house editor. Naturally due to the contract (NDA) I cannot go into too much detail about these tools.

The World Exporter was initially developed just by myself in collaboration with the environment artists on the project. It is a Python (PyMEL) wrapper around our Maya export plug-in which provides artists with the ability to validate all their assets and batch export entire Maya scenes. It exports all selected assets into our in-house model format and also sets up the scene file for our internal editor. The only things that the environment artist needs to do after export is to setup the material connections in-editor.


  • PyMEL wrapper around our Autodesk Maya export plug-in.
  • Batch export all meshes that the artist selects.
  • Validate all selected assets (Number of UV/Color sets, naming convention, etc.)
  • Editor scene file creation/updating functionality - with preserved hierarchies.

The Character Exporter was initially written by me but then went through a couple iterations (going from TA to TA). It is a Python (PyMEL) wrapper around our Maya export plug-in which provides animators with the ability to export rigs, characters and character costumes into our in-house model and animation formats. It also sets up the necessary scene files for our internal editor and also creates the necessary folder structure for the character they want to export.


  • PyMEL wrapper around our Autodesk Maya export plug-in.
  • Export meshes and rigs from a character - including appendages like tails, hats, etc.
  • Folder structure setup if new character.
  • Editor scene file creation/updating functionality.

Other Maya Tools

Here you will find a subset of miscellaneous tech art tools that I've made while working at King. Some are collaboration projects while others where not. More details are listed under each separate tool.

The King Shelf is a collaboration project that I and other TA's worked on. It is an Maya shelf which provides artists with generic utility scripts and project-specific tooling.


  • Automatic shelf-creation upon Maya startup.
  • Tools are specified in a config file, making it easy to edit and extend the shelf.
  • Paths are symlinked on the user's computer via a shell/batch script installer.
  • Updates automagically when the user pulls a game repository.
  • One-time install, even if upgrading to a new version of Maya.

Peek is a viewport/camera -previewing tool. The artists wanted something for previewing the game camera directly inside Maya. The major issue for them was that different mobile resolutions and aspect ratios resulted in various clipping of their assets.


  • Emulation of game camera inside Maya.
  • Supports all device resolutions and aspect ratios in our games.
  • Easy switching between Peek and Maya's perspective camera.
  • Easy switching between landscape and portrait mode.
  • Axis-constriction (lock X, lock Z).
  • Focus on object in scene without moving camera out of bounds.

Houdini Assets

At King's New Games Studio in Stockholm I got the opportunity to work on an unannounced project that involved some Houdini Assets and Tooling. Due to NDA/contract reasons I cannot say much about these tools and in what context they will be used (or if they will be used at all). What I can say though is that I worked as a part of a larger team and collaborated with Tools Developers and others.

  • Procedural assets created along a curve.
  • Fully customizable block setups.
  • Corridor: Multiple placement styles (Corridor, Cliff Edge, Canyon).
  • Version 1 created geometry on the fly.
  • Curve is input into HDA from the level design tool.
  • Meshes are input into the HDA by the Artist.
  • Output data from the HDA is all points and orientation vectors.
  • Version 2 only works with points and orientations

King Adobe Panel

Here are some Adobe tools that I've developed during my time at King.

The King Adobe panel is a collaboration project that I and other TA's worked on. It is an Adobe Extension Panel for Photoshop and Illustrator which provides artists with generic utility scripts and project-specific tooling.


  • Dynamic UI-generation. Tool buttons are populated dynamically.
  • JSON config files. Listed tools are defined inside project-specific configs.
  • Easy switching between project tools - without having to reload the extension.
  • Application-specific filtering (Illustrator, Photoshop, both).

The Atlas Exporter is a Photoshop tool on the King Adobe Panel. The goal was to improve the an old workflow and improve the older pipeline which required the artist to manually do many of the steps which this tools automates.


  • Export out a Photoshop atlas workfile containing Smart Objects and Shapes.
  • Flattening before output, while retaining the original workfile.
  • Downscale (resize) prior to exporting the atlas.
  • Can also run the free plugin "Flaming Pear - Solidify" prior to exporting the atlas.

Multi-Rename is a general utility tool I created for the King Adobe Panel. It is used for renaming multiple layers, groups, paths, text objects, symbols - all in one go, either via search-and-replace or by pattern.


  • Pattern rename (using a mask + wildcards).
  • Search and Replace.
  • Preview display showing the results before the user confirms anything.
  • Support for both Adobe Photoshop and Illustrator and their unique layer object types.

Radial Duplication is a general utility tool I created for the King Adobe Panel. It is used for duplicating a layer, shape, path or text object radially - ie: in a circular or semi-circular (arc) shape.


  • Duplication of layers, shapes, paths and similiar along a circular path or arc.
  • Extra post-rotation transform applied per-object.
  • Visual instructions on how to use the tool.

Rotate Effects is a general utility tool I created for the King Adobe Panel. The tool allows you to manually set the local light direction of multiple layer effects in one go.


  • Adjust the local light angle for all layer effects in a layer selection.
  • Adjust the global light angle for the workfile.
  • Adjust the altitude angle for all bevel layer effects in a layer selection.

Transform Each is a general utility tool I created for the King Adobe Panel. It gives the user the ability to apply transformations on multiple layers, shapes and text objects in Photoshop, all in one go.


  • Translation, rotation and scaling on multiple layers.
  • Per-object placement of the anchor points.
  • Scale or retain layer styles when transforming.

Defold GUI Exporter

The Defold GUI Exporter is an extension panel that I made for Adobe Photoshop CC that can be used for rapid prototyping of Defold GUI scenes. The user lays out the UI in Photoshop, sets the attributes for each layer and then export it into the Defold project. It was one of the first tools that I created when I started working for King at the Genesis studio and it was quite a learning experience.


  • Layers-to-PNG -export.
  • Generation of Defold files (GUI scene, Atlas file, font files, etc).
  • Per-layer metadata storage. One layer = One node in the GUI scene..
  • User-Interface for reading/writing the metadata to the layer(s).
  • The extension mirrors most node properties available inside Defold.

King Panel Template

The idea behind the King Panel Template was to provide a boilerplate -Adobe Extension Panel for other Technical Artists within King. Getting into tooling for Adobe products can be quite the pain so having a foundation to start from when making a new tool seemed like a really good idea.


  • UI widgets: Button, button bar, check box, radio button, icon button, options menu, slider, search field, switch, text field, text area field.
  • Logic for all UI controls.
  • ExtendScript (JSX) to Javascript (JS) to HTML/CSS connections.
  • File and folder browser.
  • Event listener (listening to layer selects).
  • Utility functions.
  • King brand font, logotype and colors.

Shaders / post-effects

Shaders and post-effects that I created for Unity and our in-house render pipeline at King.

Vignette post-effect - a HLSL post-FX I created for our in-house Unity render pipeline.


  • Color - Sets the color of the Vignette. Blend mode is: Multiply.
  • Radius - Sets the radius of the effect. Arbitrary number that adapts to screen resolution.
  • Contrast - Sets the sharpness of the effect. Low contrast = blurry. High = Sharp.

Outline shader - a HLSL, two-pass, vertex shader.


  • Two-pass vertex program. The vertices are scaled along the object's normals.
  • Color - Sets the color of Outline effect.
  • Radius - Sets the thickness of the effect.

SSAO - a HLSL, Screen-Space Ambient Occlusion post-FX.


  • Color - Overrides the standard shadow color.
  • Uses the depth buffer to find mesh intersections and corners.
  • Runs on low-end devices like the iPhone 6S thanks to AO downsampling.
  • Light bounces/Color bleeding

Ramp shading - a HLSL, Screen-Space Ambient Occlusion post-effect.


  • Color - Customizable shadow and highlight colors.
  • Stylized specularity.
  • Shading defined by a 1px high texture.

Fake wind simulation - a vertex shader that can be used for bending tree trunks in the wind. This shader is based on the one described in GPU Gems Chapter 16 (Wind used in Crysis) but I didn't finish the branch wind due to priority changes in my project.


  • Uses a vector field in order to fake an expensive wind simulation.
  • The vector field is added on top of the wind direction to create faked turbulence.
  • Artists sets the wind direction, strength and fake turbulance.

Nightshade UV Editor

NSUV is a Maya tool that offers extended utility to Maya's native UV Texture Editor; allowing artists to do UV work in a much quicker way than with just Maya's native UV editor. It started out as a small personal project for learning MEL and improving my own workflow, but was later expanded and re-written in PyMEL. This was my first tool that I created on my way to becomming a Technical Artist and in Q4 2016 I worked with Autodesk themselves on the implementation of the UV features into Maya 2018 and LT.

Download commercial version
Download non-commercial version

Video, screenshots and full feature list below.

  • Advanced UV manipulator: Less typing, more options.
  • Structured and logical user-interface with 4k resolution support.
  • Powerful new marking menu.
  • Orient shells: Orients shells straight.
  • Orient edge: Orient UV shell(s) around a UV/edge selection.
  • Stack shells: Stack shells on top of each other.
  • Match shells: Match UV's to their closest neighbors.
  • Straighten shell: Straighten edge loop and unfold shell around it.
  • Straighten UV's: Straighten all edge loops in a UV selection.
  • Multi-Stitch: Move & Sew like in 3D Studio Max (Stitch selected).
  • Randomize shells: Randomize shells individually.
  • Distribute shells side-by-side with three different modes.
  • Push/Move UV's so that they line up (max, min, average U or V).
  • Align shells to min, max or average U or V.
  • Snap shells to the UV range bounds (eight directions +center).
  • Snap shells A to B: Connects two shells via two UV's.
  • Spread shells: Unstangles and unstacks your shells neatly.
  • Extended UV projection tools, such as normal-based mapping.
  • New, easy-to-use snapshot window with multi-tile/UDIM support.
  • Save and load mesh component selections.
  • Cycle pivot position between the selection or UV bounds corners.
  • Gather shells: Offset back shells that are outside the 0->1 range.
  • Unfold UV's along U/V only with the click of a button.
  • Custom Unfold/Relax/Layout UI's with extended options.
  • Normalize shells: Normalize along U, V, UV or UV with stretch.
  • Layout UV's along a U or V -strip.
  • Integrated UV Set Editor: Native functionality fully implemented.
  • UV Set Order Manager: Manually override the UV set order
  • Texel density control: Scales shells to the same texel density.
  • Fetch texel density from face selection.
  • Rotate, scale, transform and flip shells around a custom pivot.
  • Relative rotate/scale: Rotate/scale shells around their own pivots.
  • Measure the distance between two UV coords: in pixels or units.
  • Calculate angle between two UV coords.
  • Checkbox for the "Retain component spacing" -option.
  • Buttons for Copy, Paste and Delete UV's.
  • Buttons for pinning UV's (Maya 2016 and later only).
  • NSUV menu with a workflow guide as well as tips and tricks.
  • Tip of the Day -popups with info on core NSUV functions.
  • Cycle edge colors: Change color on selected edges.

Nightshade Blockout

NSB is a Maya tool for quickly creating blockout/matID/selection -maps; allowing artists to create such a map in seconds. Just select your mesh(es) in the viewport and you are three mouse clicks away from a finished blockout/selection map.

Download commercial version
Download non-commercial version

Screenshots and full feature list below.

  • Perfect, shadeless and artifact-free end results.
  • Bake from highpoly to lowpoly, or just from the lowpoly.
  • One-click automagic color assignment.
  • Proper non-overlapping shell padding (aka "Fill texture seams").
  • Works on multiple multiple meshes (e.g. exploded meshes, etc).
  • Easy to use, no-bullshit user-interface.
  • No need to clone your mesh(es) or use "Transfer Maps".
  • Smart file paths - auto-corrects missing file extensions.
  • Works great together with Nightshade Color Splitter.

Nightshade Materializer

NSM is a Maya tool for managing and working with scene materials. It's a Swiss Army Knife -tool with loads of features aimed to make the life easier for the 3D Artist and/or Level Designer working in Maya. Unfortunatly I have not updated this in a while but I have a big plans for the future commercial release.


Full feature list available below.

  • Material swatches for quick material access.
  • Fast material assigning (in just two mouse clicks!)
  • Scene materials listed in a scrollable list.
  • Eyedropper for getting the material of a face selection.
  • Faster creation of common shaders (make tons of them in seconds).
  • Icons for quick access to nodes in the attribute editor.
  • Grow material selection to entire mesh/submesh.
  • Select everything in the scene by material.
  • Fast rename of individual materials.
  • Batch rename scene materials.
  • Set texture directory and re-link materials.
  • Paint assign material.
  • Shortcuts to hypershade and UV editor.
  • Print list of scene materials.
  • Delete unused materials.
  • Supports Mental Ray and V-Ray shaders.

Unity scripts

A collection of some of the Unity scripts that I wrote while working on an unannounced title at King. These are Unity C# scripts that was made to improve the general quality-of-life/workflow for Artists and others on the team.

Camera Bookmarks (C#)
This is some functionality for Unity. Using keybinds the user can save the position of the Scene View camera and restore it at a later time. Appreciated by Artists as well as Developers.

Batch-create Prefab Variants (C#)
Unity lacks the functionality of selecting multiple prefabs in the project browser and creating prefab variants of them. Artists had to do this one by one which is very tedious so they requested a script for batching this.

Duplicate and Mirror (C#)
Duplicates a selection of Game Objects and mirrors them along an axis.

Group / Ungroup (C#)
Similar functionality as in Maya. Creates a parent group (empty Game Object) and places the selected items inside. Ungroup reverses this operation.

Reset Transforms (C#)
Resets the translation, rotation or scale of a selection of Game Objects.

Rotate by 90 degrees (C#)
Rotates a selection of Game Objects around their origins, in steps of 90 degrees (clockwise or counter-clockwise).

Minor scripts

Here is a collection of minor scripts I've written for Autodesk Maya and Adobe Photoshop. They are 100% free so use them as you please.

Nightshade Kill Switch (Maya / PyMEL)

Nightshade Kill Switch (NSKS) will effectivly hard kill the Maya process with a bat-script, closing down Maya immediatly on execution. Use NSKS if you are having issues with Maya being slow when closing down. The script was written in Python using PyMEL. Windows only! Download here.

Nightshade Color Splitter (Photoshop / JS)

This is a javascript for Adobe Photoshop that takes a blockout/selection/material ID -map and splits up all colors into individual layers labeled by color name. A color palette is forced onto the image before each color is cut out, pasted into a new layer and labeled. To avoid any potential issues, stick to using primary, secondary and tertiary colors on your blockout/selection map. Download here.

Display Scripts (Maya / MEL)

This is a full set of togglable display scripts for the viewport. Included: Wireframe, Wireframe-on-shaded, Shaded view with the default material as well as a script for toggling the shaded view -with- the assigned material. Also included is a fullbright -toggle and a no lights -toggle. Download here.

Texture Reloader (Maya / MEL)

This script reloads all the materials in your scene. Great to have if you are batch-saving several textures out of Photoshop in one go and don't want to manually reload every single material in your Maya scene. Handy for level designers and environment artists working in Maya. Download here.

Face Normal Fixer (Maya / MEL)

Sometimes when working with instances you will get a mesh that has faces that point in the opposite direction of the face normals. Weird yes, but it happens! Running reverse normals will not fix this as it also reverses the face direction. So I wrote this script to combat this issue. It will flip the face normals back so that they are in line with the face(s) on the mesh. Download here.

Viewpanel Switcher (Maya / MEL)

A collection of scripts for making viewport switching -keybinds like it is in 3ds Max. Running one of these will switch the current selected viewport to the one specified in the script. Useful if you for example need to switch between right/left side view, or back/front while working against concept art or other kinds of references. Download here.

Mega Drift

When working on Mega Drift (Blackbeard Games), I had sole responsibility for creating all the cars in the game - but also worked a lot on environment assets. Mega Drift is a mobile game for iOS developed in Unity released in Q2 2015.


Art test that I did during the process of applying to Blackbeard Games. The goal was to make a stylized, lowpoly, mobile-friendly asset (a tile/block). This asset is 2k triangles and uses 1x 512x512 RGB diffuse map for the ground, trunk and fence and one 256x128 ARGB diffuse map for the grass and tree foliage. The texturing approach was a combination of hand-painted and photo-sourced. The visual demonstration was done using the Marmoset Engine.

Rail Racing

Here are some of the assets I created while working on Rail Racer (Polarbit). Rail Racer is a toony-themed top-down slot car racing game for Android and iOS, scheduled for release in Q4 2013. I worked mostly on cars, environments and optimization, but also created many of the level props. The in-house CGFX shader for the cars works by coloring the highlights, shadows and midtones of the diffuse map into different colors; just in case you wonder why the diffuse maps of the cars are in black and white). The alpha channel is used for telling the shader what areas have player-customizable color.

Renegade Ops

Here are some of the assets I did during my 6 months as an intern 3D artist at Avalanche Studios, where I worked on the title Renegade Ops and the Coldstrike Campaign DLC. From day one I was responsible for taking assets through the entire pipeline, from early-stage mesh mockups/blockouts and all the way to the finished product. I did everything from props and vehicles to modular building blocks. The game and it's accompanying DLC was released on PC, PS3 and Xbox in Q4 2011.

Grimy Restroom

Even though this is one of my earliest works (Q4 2010) I think that this piece of environment is worth displaying. In total the polycount for this scene is 14k triangles, and 4x 2048x2048 texture atlases was used for the props and interior, and several smaller textures where used for grafitti decals. Diffuse, Normal and Specular maps for most materials, with the Emissive maps (glow) in the alpha channel. Lighting and rendering was done in the Marmoset Engine.

Hipster Zombie

To tell the truth I haven't done a whole lot of characters, but this is one of them that I got reasonably happy with. This was an art test for NoLimit - an online casino who needed someone responsible for 3D creation. I was asked to create a 3d character with the Plants vs Zombies -art style. Polycount at 15,6k triangles and 1x 2048x2048 diffuse map was used. I also created a very simple rig so I could do some poses. Screenshots where taken from the Marmoset Engine.

Back to top







Game Art

Mobile Game Development


Maya API







3D Modelling


Color and Composition

UV Mapping



User-Interface Design

Graphic Design

Web Design



Unit Testing

Procedural Art


Operating Systems





Technical Education



Digital Sculpting


Vector Art



Visual Effects



SideFX Houdini Autodesk Maya Autodesk 3ds Max Unity Defold Santiago Orgas xNormal Marmoset Toolbag Adobe Photoshop Adobe Illustrator Adobe Indesign Adobe After Effects Esoteric Spine Substance Designer Substance Painter Command line / Terminal (batch, shell) JetBrains PyCharm Microsoft Visual Studio Apple Xcode Atlassian Sourcetree Perforce Software Hansoft
Back to top


Ubisoft Website


Senior Technical Artist

December 2021 - Present

Unannounced Project(s)

Unannounced Platform(s)

  • Tooling
  • Pipeline maintenance
  • Technical documentation
  • Testing and Support
Polygonflow Website


Technical Artist

August 2020 - November 2021


PC - Released 2021

  • API architecture (OpenMaya)
  • Maya context development
  • Node creation
  • Testing
Avalanche Studios Group Website

Avalanche Studios Group

Experienced Technical Artist

April 2020 - August 2020


PC, Xbox Series X|S

  • Tooling
  • Pipeline maintenance
  • Technical documentation
  • Testing and Support
King Website


Technical Artist

Oct 2017 - April 2020

Junior Technical Artist

Jan 2016 - Sept 2017

Crash Bandicoot: On the Run!

Android and iOS - Released: 2021

  • Tooling (Maya, Houdini, Python)
  • Research and Development
  • Prototyping
  • Testing and Support

Candy Crush Saga, Candy Crush Soda Saga

Android and iOS - Released: 2012, 2014

  • Tooling (Maya, Photoshop, Illustrator, Python)
  • Shaders
  • Daily support

Candy Crush Friends Saga

Android and iOS - Released: 2018

  • Tooling (Maya, Photoshop, Python)
  • Shaders
  • Research and Development
  • Testing and Support
Autodesk Website

Autodesk, Inc.

Technical Artist (contractor)

Oct 2016 - Dec 2016

Autodesk Maya 2018

Mac, PC - Released: 2017

  • Helped out with the implementation of Nightshade UV Editor -features
  • PyMEL to MEL code rewrite
  • Write new UV editing features (MEL)
  • Code documentation
  • Support
Star Stable Website

Star Stable Entertainment AB

3D Artist

Oct 2015 - Jan 2016

Star Stable Online

PC - Released: 2011

  • Created environment assets and props for new areas.
  • Updating and polishing old environment art.
  • Pre-production of the new Pandoria area.
Blackbeard Website

Blackbeard Games

3D Artist

May 2014 - Sept 2015

Mega Drift

iOS - Released: 2015

  • Made environment art as well as all the cars in the game.
  • Asset optimization for mobile devices.
  • Mentoring an intern/junior 3D Artist.
  • Created the Mega Drift promotional website.
Polarbit Games

Polarbit Games

3D Artist

Mar 2012 - Dec 2013

Tank Riders 2

Android and iOS - Released: 2013

  • Created 3D environment tilesets for many levels.
  • Made player and enemy tanks and units.
  • Designed some of the levels in the game.

Rail Racing

Android and iOS - Released: 2013

  • Created environment assets for all levels.
  • Modelled and textured several of the cars in the game.
  • Mentoring an intern 3D Artist.
  • Helped establish an art style for the game.

Cracking Sands

Android and iOS - Released: 2012

  • Created environment assets and terrain for all levels.
  • Created upgrade parts for the ATV's in the game.
  • Learned asset optimization for mobile platforms.
Avalanche experiences

Avalanche Studios

Intern 3D Artist

Nov 2010 - May 2011

Renegade Ops

PC, PS3 and XBox360 - Released: 2011

  • Experience working with a multi-platform AAA-project.
  • Created environment assets, props and some cars.
  • Also worked on the Coldstrike Campaign -DLC material.


Playground Squad

PlaygroundSquad - Higher Vocational Education

Game Development: 3D Graphics

Oct 2009 - May 2011

  • Advanced Diploma in Game Development with a focus on 3D Graphics.
  • Learned Maya, Mudbox, Photoshop, Game engines, Shading, Rendering, Content-management and much more.
  • Learned everything about the graphical pipeline, from animation and mocapping to 3D graphics and agile development.
  • Worked on a total of 3 major game projects, one which won an award (Gamer's Choice - SGA10).
  • Participated in Global Game Jam 2010 and 2011.
Uppsala University - Campus Gotland

Uppsala University - Campus Gotland

Stand-alone courses

Oct 2008 - 2009

  • Introduction to level design, 15 ECTS.
  • 3D-modelling and zBrush, 15 ECTS.
  • IT-security, 7.5 ECTS.
  • Webdesign, Computer Science and Graphical design, 145 ECTS.
  • Learned HTML, CSS, Javascript, PHP, MySQL, Flash, XML, Content Management Systems.
  • Learned graphical design, pixel graphics, vector graphics, digital print, typography, layouting.
Back to top


Contact information


Email (work):

Telephone: +46 (0)70 65 734 65

Skype: martindahlin85

Availability: Unavailable. I am currently not interested in any new job inquiries but if you have other exciting things to share please feel free to contact me either directly or on social media. Thanks!

Facebook profile


Martin Dahlin

LinkedIn profile


Martin Dahlin

CG Society profile

CG Society


Polycount profile


Deadly Nightshade profile

Tech Artists


Highend3D profile


Martin Dahlin


Photo of Martin Dahlin My name is Martin Dahlin and I'm a 37 year old Technical Artist from Stockholm, Sweden. I've been working in the game industry since late 2010, where I started out as a 3D Artist. Before that I studied to become a Web Designer but decided to make a career to game development.

During my four years as a 3D Artist my interest for workflows and scripting grew for every day, and I started transitioning into the Tech Art role by creating smaller scripts and tools for myself and my colleagues. My background as an Artist gave me insights into the everyday frustrations of content creators which eventually shaped me into a very Tools-focused, UX-centric Technical Artist. I have a huge respect for good UIUX and strongly believe that the best tools out there are the ones that are easy to work with.

On a personal note, I describe myself as an independent, opinionated and open-minded technical creative with a pinch of social weirdness tossed into my personality matrix. According to the Meier-Briggs Type Indicator in psychology I'm a typical INTJ. My best personality trait is perseverance, and with this comes a tremendous honor for my commitments. I have a kind of strongly-felt internal sense of duty and loyalty which lends me a serious air and the motivation to follow through any task that I put my mind into.

My history with games and "nerd" culture goes back 30+ years, making me a third-generation gamer. I first started playing games at about age 5 on my father's Amiga 500 and my friends' NES. Games became an enchantment and has since been my core interest in life, but even though I tried out modding for games like Doom, Quake and Half-Life quite early it took quite a while before I realised that I could actually make a living working with games.

Besides games and art, I also like to "cave-in" on my other interests which includes: IT, science-fiction, investing, graphical design, web design, electronic music, movies and TV-shows, science and even psychology to a certain degree. I also enjoy reading up on conspiracy theories, urban legends and modern-day myths. That doesn't mean that I am a member of the Flat Earth Society though ;) - it's just that I have a natural habit of theorising about everything (maybe a bit too much).

Misc links:


PixieSnake. Flash game I made many years ago using this source code.

Global Game Jam

Annual, world-wide, 48 hour game jam event.


High Quality 3D Models, Scripts, Plugins and tools for Maya, Max and more.

PSQ - PlaygroundSquad

A higher vocational education for game development.

Deviant Art

Probably the biggest art community online.


Great site for game news.

Swedish Game Awards

Annual awards for swedish game dev students.

The Great Escape

A level I did in a level design course I took at University of Upland (Campus Gotland). It's for the game Knytt Stories which you need in order to play it.

Back to top