Peter Campbell, Developer in Berlin, Germany
Peter is available for hire
Hire Peter

Peter Campbell

Verified Expert  in Engineering

Algorithms Developer

Location
Berlin, Germany
Toptal Member Since
February 19, 2019

Peter has worked on games, game engines, AR, SDKs, security, apps, and the web—always taking great care with the UX, optimization, and integration. Career highlights include Disney projects—an AR MMO experience for "The Amazing Race" and a multiplayer soccer game for the "Goal!" movies—and the GetSocial cross-platform SDK (iOS, Android, Unity) partnered with Unity Technologies. Currently, Peter is looking for bleeding-edge AR/VR projects.

Portfolio

Paladin Studios
Java, Games, Graphics, Shaders, 3D, Android, C#, Unity
GetSocial BV
Games, Graphics, 3D, Objective-C, Java, Android, C#, Unity
Komoot
Python, Java, Android

Experience

Availability

Part-time

Preferred Environment

Notepad++, JetBrains Rider, Android Studio, Unity3D

The most amazing...

...project I've worked on was a multiplayer soccer game running on the J2ME phones of 2004 over 2G networks.

Work Experience

Senior Unity Developer

2017 - 2018
Paladin Studios
  • Built a mesh analysis, a cascading platform, and a pathfinding and shot-finding framework for a 2D runtime destructible terrain in Unity3D.
  • Developed an AI that took into account the movement, attack, and defense constraints of the various possible ability and weapon configurations. This worked at interactive speeds to give the illusion of a larger player base to increase retention.
  • Converted an existing touchscreen card game called Stormbound into its desktop Windows, Mac, and WebGL variants. This added extra platforms with different spending profiles for players to interact with.
Technologies: Java, Games, Graphics, Shaders, 3D, Android, C#, Unity

Senior Systems Engineer

2015 - 2017
GetSocial BV
  • Developed a cross-platform SDK with a Java core which was used by the native Android applications and transpiled into Objective-C for iOS using J2ObjC.
  • Expanded a further layer for both platforms to enable access to the features for the Unity3D clients sitting on those platforms as well.
  • Maximized a worker utility so that all of the business logic and the majority of the networking was able to be reused along with the related tests—resulting in approximately two-thirds of the code being reused between the platforms.
  • Dealt with the platform abstraction by developing a dependency injection framework to allow definition and implementation of modules to work between transpiled and native layers.
Technologies: Games, Graphics, 3D, Objective-C, Java, Android, C#, Unity

Senior Android Engineer

2014 - 2015
Komoot
  • Developed the Android/iOS client-side implementation of WebView card stack widgets to assist in determining user interest in various routes and sightseeing locations. This increased the visibility of user-created trails and also encouraged users to enter point-of-interest data once they had completed their own routes.
  • Created a live client tool that detected memory leaks and generated reports which pulled the crash rate down from ~3% to ~0.3%.
  • Rebuilt/reskinned the Android client following Material Design guidelines.
Technologies: Python, Java, Android

Senior Software Engineer

2012 - 2014
Valtech Digital Australia
  • Developed an alternate animation and widget system to sit on top of the Android UI framework to provide a smooth and responsive experience. This was then used to provide an unlimited 2D virtual streaming canvas in the Android FOXTEL cable TV client.
  • Improved the performance of the Sony Song music-streaming Android client by building a UI element snapshotting tool for smooth full-screen animations of pre-rendered sections.
  • Created a single player platformer prototype 2D game using libGDX.
Technologies: Games, Graphics, 3D, Objective-C, Java, Android, C#

Senior Games Engineer

2009 - 2010
Epiphany Games
  • Developed a baked 3D terrain mesh analysis and pathfinding system in C++ with Lua bindings for developer scripting on the Gamebryo game framework.
  • Built a strategic/tactical squad-based AI system in Lua for a publisher demo of a PC platform RTS that was subsequently picked up.
  • Created new tools and modified existing ones in C# that were released as part of the Gamebryo game framework.
Technologies: Windows Presentation Foundation (WPF), Games, Graphics, 3D, Lua, C++, C#

Senior Software Engineer | Team Lead

2007 - 2009
TileFile Ltd
  • Designed the systems and led team development for the J2ME, Android, and Motorola’s set-top box environment clients.
  • Developed an animated UI framework with separate layout and rendering passes optimized for speed and low resource consumption on the J2ME platform.
  • Created a low-resource single step JPEG decoder and scaler to overcome an issue (one of the target devices had a camera API that was able to take pictures that were larger than the available heap memory on the device making the larger photo sizes unusable).
  • Developed an asynchronous network and UI task framework for various requests (memory, local storage, network) for J2ME and Android.
Technologies: J2ME, Graphics, 3D, Java, Android, C#

Software Engineer | Team Lead

2003 - 2007
Spectrum Wired
  • Developed a sliding window UDP network system to maintain synchronization over the poor connections of mobile networks (2G/3G) at the time for a multiplayer soccer game "Goal!" for Disney in J2ME; this was mainly done due to the unreliable networks at the time.
  • Built a scriptable user interface system to increase the possible complexity of the system beyond.
  • Created a software-rendered 3D portal engine using fixed-point mathematics to work with the JIT J2ME runtime that was running at interactive speeds on lower-end mobile devices.
  • Designed, developed, and ported the mobile game "Atlantis Escape" using marching squares for runtime random terrain generation.
  • Developed 2D texture/sprite-packing software to reduce the memory footprint using the guillotine technique. This was to combat the 40 KB jar limit on our games at the time.
  • Ensured client website reliability by designing and developing a J2SE/servlet-based content management and website framework that focused on security with tiered class loaders to allow downtime-free safe switching of deployed modules.
Technologies: 2D, J2ME, Graphics, 3D, Java, C#

Stormbound

https://store.steampowered.com/app/790600/Stormbound/
Immerse yourself in the rich world of Stormbound, as four kingdoms struggle for dominance. Construct a deck of unique and powerful cards and then dive into real-time battles against other players.

Novel gameplay combines your favorite aspects of collectible card games with the tactical strategy of board games. Play cards from your hand to the game board and then watch your units march on the enemy base.

Get Social SDK

https://www.getsocial.im/
GetSocial empowers mobile app marketing and product teams with growth tools to maximize user acquisition, engagement, and retention.

Komoot

https://play.google.com/store/apps/details?id=de.komoot.android&hl=en
Komoot is the key to the outdoors. Just plan your hiking, road cycling or MTB adventures in the planner, and be guided along every trail, track, road or path—even when you’re offline. Get your first region for free and say hello to your next adventure!

Languages

C#, Java, Kotlin, Python, Lua, C++, Objective-C, HLSL

Frameworks

Unity, Unity2D, Unity3D, Windows Presentation Foundation (WPF)

Tools

Android Studio, JetBrains Rider, IntelliJ IDEA, J2ObjC, Notepad++

Paradigms

Agile Software Development

Platforms

Android, Linux, Windows, MacOS, J2ME, iOS

Storage

ObjectBox DB, Realm, MySQL

Other

3D, 3D Games, Concurrency, Algorithms, Android Emulators, Augmented Reality (AR), Virtual Reality (VR), Shaders, Graphics, Games, 2D

Libraries/APIs

OpenGL, OpenGL ES

1998 - 2003

Bachelor's Degree in Software Engineering

The University of Newcastle - Newcastle, Australia

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring