Adrian Gasinski, Developer in Warsaw, Poland
Adrian is available for hire
Hire Adrian

Adrian Gasinski

Verified Expert  in Engineering

C++ Developer

Location
Warsaw, Poland
Toptal Member Since
August 15, 2016

Adrian is a C++ engineer specializing in 3D math, geometric modeling, real-time physics simulation, and collision detection. He earned an M.Sc.Eng. in computer science, specializing in the design of CAD/CAM systems. For over eight years, he's prototyped and developed core tech for Havok, a leading provider of game solutions. He's touched on cloud solutions at Google and researched into methods and the feel of interactions in VR at Leap Motion.

Portfolio

Dry Cactus
C#, Unity, Physics, 3D, Optimization, Geometry, Numerical Methods, Game Physics...
Leap Motion
Unreal Engine, Unity, C#, C++, Mathematics, Simulations, Computational Geometry...
Google
Google App Engine, JavaScript, Python, Google Compute Engine (GCE)

Experience

Availability

Part-time

Preferred Environment

C#, Unity, Visual Studio

The most amazing...

...work I've built was a continuous physics framework with predictive collision detection, localized motion constraint solving, and a redesigned runtime database.

Work Experience

Physics Engine Engineer and Architect

2018 - 2023
Dry Cactus
  • Prototyped and implemented a custom physics engine for Poly Bridge 2, a bridge-building simulator, a community-driven construction sandbox, and a sequel to a game that sold nearly 3 million copies.
  • Contributed to deterministic simulation and gameplay, a feature praised by players; seamless integration of rigid-body physics with point-mass representation used for bridge elements; and hybrid solving method that efficiently dampens internal oscillations.
  • Worked on the solver operating at dual frequency, with high-frequency solving of bridge construction, lower-frequency contact handling, and quasi-continuous collision detection for fast-moving objects based on speculative contact points.
Technologies: C#, Unity, Physics, 3D, Optimization, Geometry, Numerical Methods, Game Physics, Mathematics, Simulation Engines, Simulations, Computational Geometry, Collision Detection, Mesh Operations, 3D Visualization

Software Engineer in VR Interaction

2013 - 2015
Leap Motion
  • Learned the internal data pipeline, added functionality to the core code, and exposed it to the client API.
  • Prototyped and developed an intuitive camera system based on potential isosurfaces of dynamically modified meshes. Applied it in our Freeform application.
  • Worked with our internal platform code and attempted to understand characteristics of the real-world sensor data and attempted to optimize performance of current algorithms.
  • Developed a physically based VR interaction prototype using a third-party physics engine.
  • Developed an in-house kinematic rigid-body engine with higher-level logic aimed to allow intuitive interaction with virtual objects.
  • Prototyped an interaction API & developed a managed-code Unity plugin to interact with our native C++ interaction library.
  • Prototyped a 3D physical hand interaction mechanic for an external project & provided support.
  • Developed a scene-creation prototype that focused on improved precision and feel of hand interaction.
  • Led and developed a C++/Blueprint plugin for the Unreal Engine.
Technologies: Unreal Engine, Unity, C#, C++, Mathematics, Simulations, Computational Geometry, Collision Detection, Mesh Operations, 3D Visualization

Cloud Solutions Engineer

2012 - 2013
Google
  • Worked in a cross-functional team focused on evangelizing and bringing our cloud infrastructure to users.
  • Learned and built reference solutions using the Google App Engine and a Google Compute Engine.
  • Tested and gave feedback on experimental Client APIs. Quick-started on web development technologies.
  • Prototyped a tool for managing a high-availability LAMP stack cluster deployed on GCE.
Technologies: Google App Engine, JavaScript, Python, Google Compute Engine (GCE)

Professional Service and Developer Relations Engineer

2011 - 2012
Havok US
  • Ported a gameplay physics functionality between engine generations for a key customer.
  • Specialized in AI technology for nav-mesh generation, path-finding, avoidance steering.
  • Consulted an MMO developer on runtime NavMesh editing with eventual consistency across servers.
  • Prototyped a topography-aware squad behavior customizable with formation templates.
  • Focused on immediate customer support.
Technologies: Havok, C++, Physics, Game Physics, Mathematics, Simulation Engines, Simulations, Computational Geometry, Collision Detection

Junior and Senior Software Engineer in Game Physics

2004 - 2011
Havok
  • Specialized in core physics simulation and collision detection technology.
  • Delivered complex performance-critical technologies while working in small teams.
  • Assisted our customer support and pre-sales engineers on issues requiring in-depth knowledge of our technology.
  • Performed on-site visits with our customers tackling tough technical problems.
  • Worked intensively on the very core of our physics engine. Gained broad knowledge of our codebase, debugging or improving unfamiliar code with minimal guidance.
  • Co-architected and co-developed Continuous Physics technology.
  • Re-engineered the engine's internals to improve its stability and eliminate potential crashes in inappropriate or untested engine's use.
  • Co-architected and co-implemented system-wide changes improving the engine’s computational performance and memory access patterns.
  • Developed a high-precision constraint solver that adapted our engine for physics-driven character animation use.
  • Re-engineered internal collision detection and dynamics simulation procedures for better numerical stability.
  • Co-architected and co-implemented a Havok's port onto multi-threading platforms.
  • Implemented elements of our engine for PlayStations 3's vector processing units.
  • Created technology and a showcase demo for dynamic fracture of bodies.
  • Co-developed a prototype of networked physics simulation.
  • Prototyped a structural integrity solver used to simulate destructible scenes.
  • Extended our destruction-simulation framework with changeable bodies keeping the architecture simple and avoiding performance hits.
  • Optimized the performance and the memory footprint of collision detection structures for polygon meshes.
  • Prototyped and implemented improvements of numerical stability of our constraint solver and quality of continuous movement simulation.
Technologies: Havok, C++, Physics, Game Physics, Mathematics, Simulation Engines, Simulations, Computational Geometry, Collision Detection, Ray Casting, Mesh Operations, 3D Visualization

Poly Bridge 2

https://store.steampowered.com/app/1062160/Poly_Bridge_2/
Prototyped, architected, and developed a custom physics engine from the ground up. The engine features 2D rigid body dynamics coupled with a point-mass bridge solver. Coded in C# and Unity, highly optimized, and designed for full determinism of simulation.

Poly Bridge 3

https://store.steampowered.com/app/1850160/Poly_Bridge_3/
A genre-defining bridge-engineering and puzzle-solving game. I had the joy of revisiting and continuing the development of our custom physics engine, as well as implementing various performance optimizations and improvements in interaction and gameplay experience.

Qverty Software Studio

http://qverty.com
A young software studio that's primarily focused on developing VR experiences with Vive. I'm responsible for technical direction here.

CubeTerrain

https://www.youtube.com/watch?v=d1Y3wTNkocY
A graphics and physics engine extension for Unity which allows you to construct and demolish dynamic terrain based on a cubical grid. I developed the technology. The HTC Vive integration was done by Qverty Software Studio.

C++ Code Sample

https://github.com/gasnica/CodeSample
This is the sample C++ code for a project that converts mouse-drawn lines into arc splines. The conversion balances a minimum number of segments against the aesthetic quality of the result.

Jumping Jack

https://github.com/gasnica/JumpingJack
This is a sample Unity project done in about 25 working hours. It closely mimics the looks, sounds, and game play of the original classic game released on ZX Spectrum in 1983.

Languages

C++, C#, JavaScript, Python, SQL, C#.NET

Frameworks

Unity, Swagger, Unity3D, Unreal Engine

Tools

Microsoft Visual Studio, Visual Studio, Google Compute Engine (GCE), Git

Platforms

Windows, Oculus Rift, Google App Engine, Vuforia

Other

3D Math, HTC Vive, Computational Geometry, Optimization, Multithreading, Virtual Reality (VR), Middleware, Game Development, Physics Simulations, Physics, Game Physics, Mathematics, Simulation Engines, Simulations, Collision Detection, Ray Casting, Mesh Operations, Algebra, Numerical Methods, Linear Algebra, Artificial Intelligence (AI), 3D Visualization, Havok, Augmented Reality (AR), Game Design, 3D, Geometry, 2D Games, Gameplay Development, Performance, Architecture

Libraries/APIs

GDI(+)

Paradigms

Cross-platform

1997 - 2003

Master of Science Degree in Computer Science, Design of CAD/CAM Systems

Warsaw University of Technology - Warsaw, Poland

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