Photo of Tobias Wehrum

Tobias Wehrum

Freelancing Game Developer

I'm a freelancing game developer with a specialization in Unity3D/C# and a master's degree in International Media and Computing. I have worked for several clients as a Unity3D developer, organized workshops on game development for kids and lectured a Unity3D beginner's course at the HTW Berlin.

My passion for game development shines through while I'm off the job too: I co-founded the monthly Berlin Mini Game Jam which I co-organize for over 5 years now and I create a lot of game prototypes and smaller games in my free time. Years of experience make me very fast at rapidly sketching out game ideas into prototypes.

I love experimenting, be it with gameplay or with technology. I've worked with VR, alternative input methods (e.g. huge multitouch tables with object recognition, Microsoft Kinect, Leap Motion, voice-controlled games) and I've built alternative controllers and game installations myself. I like making generative art and I am also pretty interested in AI, electronics and the maker movement in general.

Competencies

Languages German native

English advanced

Programming Languages C#

Java

Python

Frameworks/Engines Unity3D

UGUI

UNET

NGUI

Technologies Oculus Rift

Leap Motion

Microsoft Kinect

Arduino

Contact Me

Address Stresemannstraße 74

App. 1618

10963 Berlin

Germany

Email Tobias.Wehrum@dragonlab.de

Cell +49 (0) 173 26 44 639

Skype tobias.wehrum

Twitter @tolicious

LinkedIn LinkedIn profile

Xing Xing profile

Blog http://blog.dragonlab.de

Send me a message

Need my services? Have a question? Just want to say hello for now? Shoot me a message - I'm looking forward to hearing from you!




Work Experience

Freelance Unity3D Developer

Cebra

Dec 2016 - Ongoing

Remote

C#, Unity3D, UI Programming, Mobile Development, Android, Augmented Reality, Vuforia

I created various mobile Augmented Reality demos for Cebra using Unity3D with the Vuforia toolkit.

Features included:

  • Image/object recognition.
  • Text recognition.
  • Video playback.
  • Virtual buttons: Reacting to the user touching parts of a recognized image.
  • Various user interfaces using UGUI.

Event Organizer

Berlin Mini Jam

Sep 2010 - Ongoing

Germany, Berlin

Event Organization

I co-founded and co-organize the monthly Berlin Mini Game Jam. Tasks include creating and publishing events, finding venues, coordinating with sponsors and hosting the jam itself for the 20-60 participants.


Freelance Unity3D Developer

Bothe Grienig UG

Jun 2017

Germany, Berlin, Remote

C#, Unity3D, Playmaker

I used a plugin to access Google Sheets (which included adding new features and fixing bugs in the plugin) to read and send data and created methods to easily access those features in Playmaker state machines. CSV files were used as an offline data source.

Additionally, I provided methods to allow saving/load of state data.


Freelance Unity3D/JavaScript Developer

H-EAR

Nov 2016 - Jan 2017

Germany, Berlin

C#, Unity3D, UGUI, UI Programming, Web Development, JavaScript, HTML / HTML5, CSS, PHP, Mobile Development, Android, GPS, Databases, SQLite

The H-EAR project is "augmented reality for the ears": Players listen to an interactive audio drama at the real-life locations where the story is taking place and decide what happens next by making choices, taking or rejecting telephone calls or moving to another location.

This project needed both an online editor so the authors can develop a branching story line with location-based features and an Android app where users can play those story lines.

I was the only programmer on the project. Additionally, I advised the other team members on the design/concept of the app and the editor.

The editor was made in JavaScript/HTML5 and featured node-based editing of branching story lines which could be decided by location changes and several other user actions. Additionally multiple stories, episodes and characters needed to be supported. The system had to be web-based to allow access for multiple authors.

The Android app was made in Unity3D and played back branching story lines made by the editor. Apart from the playback functionality, it featured a cached/online map and several UI screens for multiple choices, phone calls and similar elements.


Freelance Unity3D Developer

Bearhands

May 2016 - Sep 2016

Germany, Berlin, Remote

C#, Unity3D, Shaders

I worked as a Unity3D programmer at Bearhands for their story-driven 3D stealth game "Grand Values: Monaco".

Tasks included:

  • Development of a plugin to automatically map parts of existing levels as potential covers and extending the existing character controller to move in cover.
  • Concept and development of a dash mechanic that also integrated with the cover system.
  • Various improvements to the existing camera system.
  • Development of an improved climbing system.
  • Fixing bugs and adding features to various existing systems.

Freelance Unity3D Developer

Illusion Walk KG

Oct 2015 - Sep 2017

Germany, Berlin

C#, Unity3D, UGUI, UNET, Unity3D Extension Development, Shaders, Network Programming, UI Programming, Electronics, Arduino, Virtual Reality, Oculus Rift, Leap Motion

I’ve worked as a Unity3D programmer for Illusion Walk on their networked multiplayer room-scale VR system.

Tasks included:

  • Integrating the Leap Motion into the existing sensor data system.
  • Developing physical elements that work well with the Leap Motion and are synchronized over the network:
    • Physical objects that can be pushed and lifted.
    • Physical interaction elements like levers, wheels, buttons and switches.
  • Extending the uGUI Unity UI system:
    • Elements can be triggered by the hands of body-tracked 3d avatars.
    • Elements are synchronized over the network so everyone sees the same UI state.
  • Developing special effect shaders for post effects and materials and editing existing shaders to allow for dissolving/appearing scene transitions.
  • Allowing characters to smoothly transition between being controlled by body-tracked players and being NPCs controlled by the computer.
  • Evaluation and integration of several VoIP systems (TeamSpeak, Photon Voice and Dissonance).
  • Making use of Arduino, Raspberry Pi and other electronic components to allow communication and interaction between Unity3D and the real world.
  • Developing gameplay for various small network-enabled VR games using UNET.
  • Optimization of existing scenes with a focus on VR usage.
  • Making a tool for tracking, analyzing and displaying user movement profiles.
  • Creating various editor utilities.


Unity3D Developer & Game Designer

Critical Hit

Jun 2015 - Aug 2015

Canada, Montréal

C#, Unity3D, Java, Processing, Electronics, Arduino, Game Design

Critical Hit is an incubator that supports the creation of experimental games and installations. I was among the 16 developers/artists/makers which were invited in 2015 for the theme “Wearable Games”.

I worked on four game installations as a programmer (Unity3D/C#, Processing/Java), game designer and electronics engineer.

Projects:

  • Shoal
    In Shoal, an abstract fish pond is projected on the floor. A Kinect recognizes player gestures for fish-creation and interaction and real-life elements like rock-shaped pillows are used as obstacles.
  • CloudKeeper
    In CloudKeeper, the player is lying down in a bean bag chair, watching an abstract sky projected on the ceiling. Touch/distance-sensing paper crystals dangling from above act as input.
  • (un)done
    (un)done is a two-player audio game that uses ponchos with conductive strings that can be tied in knots as input. Additionally, generative content is projected on a woven screen.
  • Fruit Fever
    Fruit Fever is puzzle/memory game that uses a fork which can detect real-life food via electric resistance and an LED apron as output.


Freelance Unity3D Developer

Codeglue

Feb 2015 - May 2015

Netherlands, Rotterdam

C#, Unity3D

I’ve worked on Codeglue's new PC game Antegods. I developed a mesh destruction system that automatically slices and caches mesh blocks in various styles, allowing them to be partly destroyed when hit by a rocket and reform later with an animation. I also translated prototype code into code for the final product and implemented various gameplay features.


Workshop Organizer

jfc Medienzentrum

Oct 2014

Germany, Berlin

Workshop Organization, Event Organization

Together with Svenja Anhut, I conceptualized and organized a week-long game jam for children.


Freelance Unity3D Developer

it matters Games UG

Oct 2014 - Jan 2015

Germany, Berlin

C#, Unity3D, NGUI, UI Programming, Mobile Development, iOS

I've worked here on a building design iOS game for children. Buildings could be resized with floors added and removed, elements like doors and windows could be added and moved, floors recolored and other decorations could be sprayed onto the buildings. The game also included multiple unique buildings with distinctive features.

I cleaned up existing prototype code, created many of the gameplay features and NGUI user interfaces and coordinated with the design and art teams.


Freelance Unity3D Developer

Joid games

Feb 2014 - Apr 2016

Germany, Berlin, Remote

C#, Unity3D, NGUI, Mobile Development, Android, iOS

I took over an existing Unity3D code base, fixed bugs and added a lot of features for the mobile game Balloony.

Projects:

  • Balloony
    Balloony is a jump'n'run for Android/iOS made with Unity3D.


Instructor

HTW Berlin

Oct 2013 - Feb 2014

Germany, Berlin

C#, Unity3D, Lecturing

I planned and lectured a Unity3D introductory course including weekly lectures, multiple exercises and a final project.


Freelance Unity3D Developer

gosub

Sep 2013

Germany, Berlin

C#, Unity3D

I created a prototype for a game with Unity3D.


Freelance C# Programmer & Workshop Organizer

Mediale Pfade

May 2013

Germany, Berlin

C#, Workshop Organization

I made the concept for, implemented with C# and organized a "15 minute introduction to game programming for total beginners" to be used at a fair about youth culture and careers.

Projects:

  • StarCoder
    StarCoder is a "15 minute introduction to game programming for total beginners" to be used at a fair about youth culture and careers, written in C#.


AS3/Adobe AIR Developer

Exozet

Jan 2012 - Jun 2012

Germany, Berlin

AS3, Adobe AIR, Starling, PureMVC, Mobile Development, iOS

I worked together with another programmer to reimplement a Nintendo DS Jump 'n' Run game for mobile platforms with AS3/Adobe AIR/Starling/PureMVC. I implemented everything gameplay-related and worked on converting the DS level format to a useable format.


Unity3D Developer Intern

Codeglue

Apr 2011 - Jul 2011

Netherlands, Rotterdam

C#, Unity3D, Network Programming, Lua, Mobile Development, Android

As part of my studies I did an internship at Codeglue as Unity3D programmer. There, I did UI programming for a Unity3D web game, developed a Beer Pong game for Android with Unity3D and a networked Mahjong game for Playstation Live with Lua.

Projects:

  • Beer Pong
    Beer Pong is an Android beer pong game made with Unity3D.


Java Software Developer

DATAWERK GmbH & Co. KG

Jun 2007 - Mar 2011

Germany, Berlin, Kassel

Java, Web Development, JavaScript, HTML / HTML5, CSS, PHP, CakePHP, Typo3, Magento, Databases, MySQL

I worked as Java/Web Developer for DATAWERK in Kassel and Berlin.

Projects included:

  • An auction website in PHP using CakePHP, MySQL, HTML, CSS
  • Several Typo3 plug-ins (using PHP/MySQL)Management of Typo3 systems
  • Customization of Magento source code in PHP
  • A project and time management web application in Java (using Spring, Hibernate, Tapestry, HTML/CSS)
  • Ab E-Commerce web application in Java (using Spring, Hibernate, Tapestry, HTML, CSS, JavaScript/AJAX, JSON)


Ingame Game Master

Burda:ic GmbH

Nov 2006 - Nov 2007

Remote

Community Management

I worked part-time as an Ingame Game Master for the MMORPG Ragnarok Online (European server) on a honorary basis. This included ingame live support, mail/ticket support, rule enforcement and communication with customers.


Software Developer

Cobion AG

Jun 2005 - Mar 2006

Germany, Kassel

I developed a Firefox plug-in and debugged existing software.

Education

M.Sc., International Media and Computing

HTW Berlin

Germany, Berlin

2012 - 2014

Grade: 1.1

In my studies at the HTW, I picked the specialization "Game Technology & Interactive Systems". Apart from the more general foundation and game-related courses (AI for Games & Interactive Systems, Game & Interaction Design, Realtime Interactive Systems, Games & Simulation Technology), I had a lot of room and independence to spend on game projects, both in teams and alone, using technology like the Kinect, the Leap Motion or a multitouch table with object recognition. I wrote my master's thesis about making games for the latter.

Projects:

  • Masaka
    Masaka is a 2.5D local multiplayer platform brawler with strategic elements made in Unity3D. Players command minions while fighting the other player and trying to gain control over strategic map locations.
  • Master’s Thesis
    My master's thesis is about the advantages of physical and digital elements in hybrid tabletop games. Part of the thesis are three Unity3D games playable on a multitouch table with object recognition.
  • KinectMagic
    KinectMagic is a two player duel game made in Unity3D using the Microsoft Kinect. Players combine elements to create spells and evade the enemy’s attacks by physically ducking and moving.
  • Zombie Planet
    Zombie Planet is a Leap Motion defense game made in Unity3D.
  • Wizard Defense
    Wizard Defense is a cooperative Augmented Reality game based on marker interaction made in Unity3D.
  • Hammertennis
    Hammertennis is a top-down physics/sports game made in Python.
  • Heart of Decay
    Heart of Decay is a prototype for a 3D action RPG made in Unity3D.


B.Sc., International Media and Computing

HTW Berlin

Germany, Berlin

2009 - 2012

Grade: 1.3

Projects

Catcher

Apr 2016

Role: Programming, Game Design, Art

C#, Unity3D, Shaders, Game Design

Catcher is a sometimes fast-paced, sometimes almost meditative arcade game made in Unity3D. Instead of weapons, the player uses two space ships connected by an energy net to defeat enemies.

Apart from sounds/music, everything including the programming, art and game design is done by me.

Team/Credits:

  • Tobias Wehrum: Programming, Game Design, Art
  • Moritz Ufer: Music, Sound Design

Masaka

Jul 2013

Made during my studies at the HTW Berlin

Role: Lead Programmer

C#, Unity3D, Game Design

Masaka is a 2.5D local multiplayer platform brawler with strategic elements made in Unity3D. Players command minions while fighting the other player and trying to gain control over strategic map locations.

We were two programmers with me as the lead.

My main tasks were:

  • Assigning tasks to the other programmer.
  • Making the dynamic split screen, zoom and screen shake.
  • Creating the platforming system, player controls, the fighting system and most of the minion behaviour and interaction.
  • Conceptualizing and programming of a tutorial.
  • Creating a 2D Pathfinding system.

Team/Credits:

  • Tobias Wehrum: Lead Programmer
  • Sebastian Denzer: Programmer, Sound Design, Music
  • Robin Tamura: Character/Environment 3D Art, Sound Design, Level Design
  • Jan Ott: Character/Environment 3D Art, Level Design
  • Alina Reder: Concepts, Particle Effects
  • Eva Beilmann: Game Design
  • Sascha Busch: Game Design, Level Design
  • Iwan Gabovitch: Sound Design
  • Additional Sounds by ekokubza123, eddy15, Mike Koenig

Master’s Thesis

Nov 2014

Made during my studies at the HTW Berlin

Role: Research, Writing and Development

C#, Game Design, Multitouch Table With Object Recognition

My master's thesis is about the advantages of physical and digital elements in hybrid tabletop games. Part of the thesis are three Unity3D games playable on a multitouch table with object recognition.

To compare how physicality influences the experience, each game had two variants: One touch-only and one with object recognition.

This project was made possible by the Creative Media department of the HTW Berlin and supervised by Prof. Dr.-Ing. Carsten Busch and André Selmanagić.

Team/Credits:


Tobi's Unity Utilities

Oct 2016

One-person project

C#, Unity3D

Over the years, I've worked on a lot of projects and game jam prototypes with Unity3D and there are some pieces of code that I've needed time and time again. I'm sharing them on GitHub under the MIT license - fully commented and documented with descriptions and examples.


Balloony

Dec 2015

Made for Joid games

Role: Programmer

C#, Unity3D, NGUI, Mobile Development, Android, iOS

Balloony is a jump'n'run for Android/iOS made with Unity3D.

I took over an existing Unity3D code base, fixed bugs and added a lot of features.

Team/Credits:

  • Tobias Wehrum: Programmer
  • Jonas Buschmann: Design/Production
  • Ashab Martin: Art
  • Matthias Wagner-Fischer: SoundFX/Music
  • Liam Mccloskey: Media/Production

Shoal

Aug 2015

Made for Critical Hit

Role: Programming (Fish Behaviour), Game Design

C#, Unity3D, Game Design

In Shoal, an abstract fish pond is projected on the floor. A Kinect recognizes player gestures for fish-creation and interaction and real-life elements like rock-shaped pillows are used as obstacles.

I created a steering/flocking system in Unity3D to allow interesting behaviour and navigation in a player-influenced and changing environment with various obstacles and other fishes. I then combined and fine-tuned components to create fish behaviour based on various needs like hunger and playfulness. The whole group participated in the game design process.

Team/Credits:

  • Tobias Wehrum: Programming (Fish Behaviour), Game Design
  • Titouan Millet: Programming, Generative Art, Game Design
  • Owen Bell: Programming, Game Design
  • Kailin Zhu: Programming, Art, Game Design
  • Tony Higuchi: Programming (Kinect), Game Design

CloudKeeper

Jul 2015

Made for Critical Hit

Role: Programming, Electronics, Generative Creature Engine/Animation, Game Design

C#, Unity3D, Electronics, Arduino, Game Design

In CloudKeeper, the player is lying down in a bean bag chair, watching an abstract sky projected on the ceiling. Touch/distance-sensing paper crystals dangling from above act as input.

I worked on the procedural generation and animation of the generative creatures, experimented with several distance-sensing electronic components via Arduino and used a TouchBoard to enable the capacitive sensing paper crystals. The whole group participated in the game design process.

Team/Credits:

  • Tobias Wehrum: Programming, Electronics, Generative Creature Engine/Animation, Game Design
  • Titouan Millet: Programming, Generative Visuals, Game Design
  • Kailin Zhu: Crafts, Illustration, Game Design
  • Peter van Haaften: Generative Music/Sound Engine, Game Design
  • Video footage by Mattias Graham and Tobias Wehrum

(un)done

Jun 2015

Made for Critical Hit

Role: Game Programming, Electronics/Soldering, Generative Art, Game Design

Java, Processing, Electronics, Arduino, Game Design

(un)done is a two-player audio game that uses ponchos with conductive strings that can be tied in knots as input. Additionally, generative content is projected on a woven screen.

I created the gameplay in Java/Processing, enabled serial/Bluetooth communication with the Arduino, created the generative content shown on the screen, prototyped electronic circuits and soldered circuit boards. The whole group participated in the game design process.

Team/Credits:


Fruit Fever

Jun 2015

Made for Critical Hit

Role: Programming, Game Design

C#, Unity3D, Game Design

Fruit Fever is puzzle/memory game that uses a fork which can detect real-life food via electric resistance and an LED apron as output.

I created the initial digital-only prototype in Unity3D and an alternative screen-based version providing a tutorial. The whole group participated in the game design process.

Team/Credits:

  • Tobias Wehrum: Programming, Game Design
  • Owen Bell: Electronics, Game Design
  • Milin Li: Sewing, Soldering, Game Design
  • Mónica Rikic: Sewing, Programming, Game Design

A Light in the Darkness

Oct 2014

One-person project

C#, Unity3D, Network Programming, Game Design

A Light in the Darkness is a co-op online multiplayer prototype with drop-in/out functionality made over the course of a weekend in Unity3D.


SnakeFormer

Oct 2014

One-person project

C#, Game Design

SnakeFormer is a physics puzzle/platformer/snake game prototype in Unity3D, made almost entirely over the course of a weekend.

I did the game design, programming, graphics, sounds and level design myself. Most programming was done over the course of a weekend for the Ludum Dare competition. Some levels were added later.


KinectMagic

Oct 2013

Made during my studies at the HTW Berlin

Role: Programming, Game Design

C#, Unity3D, Game Design, Kinect

KinectMagic is a two player duel game made in Unity3D using the Microsoft Kinect. Players combine elements to create spells and evade the enemy’s attacks by physically ducking and moving.

I was the only programmer on the project. The game design was shared equally with Jana Leinweber.

Team/Credits:


Zombie Planet

May 2013

Made during my studies at the HTW Berlin

Role: Lead Programmer

C#, Unity3D, Game Design, Leap Motion

Zombie Planet is a Leap Motion defense game made in Unity3D.

I was the lead programmer. Everyone participated in the game design process.

Team/Credits:


StarCoder

May 2013

Made for Mediale Pfade

One-person project

C#, Workshop Organization

StarCoder is a "15 minute introduction to game programming for total beginners" to be used at a fair about youth culture and careers, written in C#.

I made the concept, implemented the program and co-organized the workshop.


Wizard Defense

Feb 2013

Made during my studies at the HTW Berlin

Role: Programming, Game Design

C#, Unity3D, Augmented Reality

Wizard Defense is a cooperative Augmented Reality game based on marker interaction made in Unity3D.

Programming and game design was equally shared between Tobias Müller an me.

Team/Credits:

  • Tobias Wehrum: Programming, Game Design
  • Tobias Müller: Programming, Game Design
  • Michael Kessler: Art

Hammertennis

Jan 2013

Made during my studies at the HTW Berlin

Role: Programming, Game Design

Python, Game Design

Hammertennis is a top-down physics/sports game made in Python.

I did the programming and game design.

Team/Credits:

  • Tobias Wehrum: Programming, Game Design
  • Michael Kessler: Art

Blood Trial

Jan 2013

Role: Lead Programmer

C#

Blood Trial is a multiplayer fighting game made in C# over the course of a weekend at the Global Game Jam 2013.

Our team had three programmers, me included. Apart from sharing the programming effort, I assumed the role of lead programmer, planned tasks and made sure they were well distributed for the short amount of time available.

Team/Credits:

  • Tobias Wehrum: Lead Programmer
  • Benjamin Schug: Programmer
  • Dario Seyb: Programmer
  • Michael Kessler: 2D Artist
  • Kirill Krysov: 2D Artist
  • Tobias Breitenbach: 2D Artist
  • Norbert Haacks: Game Designer, Producer

Heart of Decay

Oct 2012

Made during my studies at the HTW Berlin

Role: Programming

C#, Unity3D

Heart of Decay is a prototype for a 3D action RPG made in Unity3D.

It was developed over two semesters, but part of the team (including the two programmers) left after the first semester and the project radically changed. I joined the team in the second semester as the only programmer.

My main tasks were:

  • Taking over the source code from the previous programmers, fixing bugs and extending it to fit the new concept.
  • Making a dynamic and highly configurable third person camera.
  • Creating an AI capable of pathfinding, patrolling and reacting to the player.
  • Optimizing the performance.

Team/Credits:

  • Tobias Wehrum: Programming
  • Romano Grasnick: Enemy Concept, 3D Art
  • Jean-Emily Fleck: 3D Art
  • Daria Döpper: Level Design
  • Tim Höregott: Game Design, Team Lead
  • Jennifer Ludwig: Character Modeling, Animation
  • Lisa Krummen: Art Direction, Concept Art

Beer Pong

May 2011

Made for Codeglue

Role: Programmer

C#, Unity3D, Mobile Development, Android

Beer Pong is an Android beer pong game made with Unity3D.

I programmed the initial gameplay and UI based on Codeglue's iOS version of the game.