Peter Campbell
Verified Expert in Engineering
Algorithms Developer
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
Experience
- Java - 19 years
- 3D - 19 years
- Algorithms - 19 years
- Android - 10 years
- C# - 6 years
- Unity3D - 6 years
- Kotlin - 2 years
Availability
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
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.
Senior Systems Engineer
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.
Senior Android Engineer
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.
Senior Software Engineer
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.
Senior Games Engineer
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.
Senior Software Engineer | Team Lead
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.
Software Engineer | Team Lead
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.
Experience
Stormbound
https://store.steampowered.com/app/790600/Stormbound/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/Komoot
https://play.google.com/store/apps/details?id=de.komoot.android&hl=enEducation
Bachelor's Degree in Software Engineering
The University of Newcastle - Newcastle, Australia
Skills
Libraries/APIs
OpenGL, OpenGL ES
Tools
Android Studio, JetBrains Rider, IntelliJ IDEA, J2ObjC, Notepad++
Languages
C#, Java, Kotlin, Python, Lua, C++, Objective-C, HLSL
Frameworks
Unity, Unity2D, Unity3D, Windows Presentation Foundation (WPF)
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring