Peter Campbell, 3D Developer in Berlin, Germany
Peter Campbell

3D Developer in Berlin, Germany

Member since December 11, 2018
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.
Peter is now available for hire

Portfolio

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

Experience

  • 3D, 19 years
  • Algorithms, 19 years
  • Java, 19 years
  • Android, 10 years
  • Unity3D, 6 years
  • C#, 6 years
  • Kotlin, 2 years

Location

Berlin, Germany

Availability

Part-time

Preferred Environment

Unity3D, Android Studio, Rider, Notepad++

The most amazing...

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

Employment

  • 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: Unity, C#, Android, 3D, Shaders, Graphics, Games, Java
  • 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: Unity, C#, Android, Java, Objective-C, 3D, Graphics, Games
  • 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: Android, Java, Python
  • 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: C#, Android, Java, Objective-C, 3D, Graphics, Games
  • 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: C#, C++, Lua, 3D, Graphics, Games, Gamebryo, WPF
  • 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: C#, Android, Java, 3D, Graphics, J2ME
  • 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: C#, Java, 3D, Graphics, J2ME, 2D

Experience

  • Stormbound (Development)
    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 (Development)
    https://www.getsocial.im/

    GetSocial empowers mobile app marketing and product teams with growth tools to maximize user acquisition, engagement, and retention.

  • Komoot (Development)
    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!

Skills

  • Languages

    C#, Java, Kotlin, Lua, C++, Objective-C, HLSL
  • Frameworks

    Unity, Unity2D, Unity3D
  • Tools

    Android Studio, JetBrains Rider, IntelliJ, J2ObjC
  • Paradigms

    Agile Software Development
  • Platforms

    Android, Linux, Windows, MacOS, J2ME, iOS
  • Storage

    ObjectBox DB, Realm Database, Realm, MySQL
  • Other

    3D, 3D Games, Concurrency, Algorithms, Android Studio Emulators, Augmented Reality (AR), Virtual Reality (VR)
  • Libraries/APIs

    OpenGL, OpenGL ES

Education

  • Bachelor's degree in Software Engineering
    1998 - 2003
    The University of Newcastle - Newcastle, Australia

To view more profiles

Join Toptal
I really like this profile
Share it with others