
Nikoloz Donadze
Verified Expert in Engineering
Game Developer
Tbilisi, Georgia
Toptal member since November 3, 2022
Nikoloz is a game developer experienced with the Unity engine and with low-level graphics APIs, such as Vulkan and DirectX 11. He has also dabbled in general-purpose graphics computing using CUDA and has extensive experience with C++, with multiple projects and environments. Currently, Nikoloz is working on his open-source game engine and several hourly contracts.
Portfolio
Experience
- C++ - 8 years
- Algorithms - 8 years
- Unity - 6 years
- Computational Geometry - 6 years
- Computer Graphics - 5 years
- C# - 5 years
- GPGPU - 4 years
- Vulkan - 2 years
Availability
Preferred Environment
Unity, Windows, Visual Studio, Visual Studio Code (VS Code)
The most amazing...
...thing I've built and continued to develop is my open-source game engine called Jimara.
Work Experience
Game Developer
An Online Freelance Agency
- Helped a game development team implement certain features in their project.
- Provided basic mentorship about general-purpose graphics processing and CUDA.
- Took full responsibility for computational geometry-related challenges inside a Revit plugin.
C++ and DirectX Developer
Dressler Consulting
- Engaged as a DirectX 11 developer on Imagine Communications' EPIC MV multiviewer system.
- Tracked and fixed existing bugs within the project.
- Developed and delivered new features for the multiviewer.
- Worked on the multiviewer functionality of Imagine Communications' Selenio Network Processor.
Game Developer
Lemondo
- Maintained and expanded upon existing games and codebase.
- Helped develop and design new games and prototypes.
- Collaborated with the team on a larger ongoing project, implementing new features and fixing existing bugs and issues.
Game Developer
Talgame
- Developed an iOS and Android mobile game as a one-time contract.
- Implemented the game mechanics using Unity and C#.
- Worked inside the Unity editor, built the scenes, and integrated the art assets the contractor provided.
Embedded Developer
Edison Tech Solutions
- Developed a custom laser tag game's firmware for guns and body sensors.
- Implemented basic software for managing barcode scanners inside a factory.
- Contributed to the engineering team's various ongoing projects.
Teacher Assistant
Free University of Tbilisi
- Reviewed and graded assignments submitted by a group of students.
- Aided lecturers with checking and grading exam papers and submissions.
- Assisted students if they had questions or difficulties.
Experience
Jimara Game Engine Development
https://github.com/TheDonsky/JimaraThe robust framework is built from the ground up using pure C++17, including all the abstractions for the graphics, physics, sound, and operating system APIs. Currently, the back end is built with Vulkan for graphics and PhysX for physics.
Generic Assembly-like Language Interpreter
I implemented basic software that took said pseudo-ASM code and ran it. The application supported file and terminal IO, and thanks to that, I managed to write a fully functional implementation of Catmull–Clark subdivision surfaces using pseudo-ASM. For clarity, it's the algorithm behind most mesh-smoothing modifiers in 3D modeling programs like Blender or 3ds Max. My code took one .obj file as input and generated another.
DumbRay Path Tracer
https://github.com/TheDonsky/DumbRayThe software can simultaneously utilize resources from any number of NVIDIA GPUs or CUDA devices and processor cores on the system, balancing the load optimally. The renderer was implemented before hardware raytracing existed, and its performance is comparable with the offline renderers of its time.
Navigation Mesh Generation from a Simple Polygon
As the next step, it would internally triangulate the polygon in O(n * log(n)) time and generate a navigation mesh from it. Finally, the user could select any two points inside the polygon, and the application would draw the shortest path between those points that stayed inside the shape. Though it is nothing exceptional, just an anecdote from the past, algorithmically, it was pretty interesting and really fast. I will probably find some use for it in my engine eventually.
Bloody Rabbit Game Development
https://www.youtube.com/watch?v=Fm6K6XQHiToUltimately, this one taught me about the basics of Unity and general game development and gave me some 3D modeling and sculpting skills that I still use for my personal projects every once in a while.
Education
Bachelor's Degree in Computer Science
Free University of Tbilisi - Tbilisi, Georgia
Skills
Libraries/APIs
Vulkan, GLFW, DirectX 11, OpenAL, Blender Scripting API, WinAPI
Tools
Visual Studio, Revit, Blender, 3ds Max, Mudbox, Adobe Photoshop, Krita
Languages
C++, C, C#, Python, GLSL, Java, HLSL
Frameworks
Unity, PhysX
Paradigms
GPGPU, Design Patterns
Platforms
NVIDIA CUDA, Windows, Linux, Arduino, Visual Studio Code (VS Code)
Other
Algorithms, Multithreading, Computer Graphics, Computational Geometry, Operating Systems, Graphics, 3D Graphics, Ray Tracing, Linux System Calls, Windows System Calls
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