Nikoloz Donadze, Developer in Tbilisi, Georgia
Nikoloz is available for hire
Hire Nikoloz

Nikoloz Donadze

Verified Expert  in Engineering

Game Developer

Location
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

An Online Freelance Agency
C++, Unity, Revit, Computational Geometry, NVIDIA CUDA, Computer Graphics, C#...
Dressler Consulting
C++, DirectX 11, GPGPU, Computer Graphics, Algorithms, Graphics, Windows, C...
Lemondo
Unity, C#, Algorithms, Visual Studio

Experience

Availability

Part-time

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

2021 - PRESENT
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.
Technologies: C++, Unity, Revit, Computational Geometry, NVIDIA CUDA, Computer Graphics, C#, GPGPU, Algorithms, Graphics, 3D Graphics, Blender, Blender Scripting API, Visual Studio, Visual Studio Code (VS Code), Design Patterns

C++ and DirectX Developer

2018 - 2020
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.
Technologies: C++, DirectX 11, GPGPU, Computer Graphics, Algorithms, Graphics, Windows, C, HLSL, Visual Studio, Visual Studio Code (VS Code), Design Patterns, Multithreading, Linux System Calls

Game Developer

2018 - 2019
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.
Technologies: Unity, C#, Algorithms, Visual Studio

Game Developer

2018 - 2018
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.
Technologies: Unity, C++, Visual Studio

Embedded Developer

2014 - 2018
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.
Technologies: C++, C, Arduino

Teacher Assistant

2015 - 2016
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.
Technologies: Java, C++, Design Patterns

Jimara Game Engine Development

https://github.com/TheDonsky/Jimara
An open-source game engine I'm building from scratch, primarily for educational purposes, which is slowly becoming a production-ready software.

The 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

When learning about Assembly, we were using a generic pseudo-Assembly language that did not map to any existing hardware. Still, it served as a learning tool to explain and understand how high-level languages get translated into machine code.

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/DumbRay
A GPU-accelerated path tracer built from scratch using C++ and CUDA.

The 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

An application I wrote that lets users draw any convex or concave shape they want.

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=Fm6K6XQHiTo
A game that I created at 17 years old. In the end, the game was working, but there was no attempt at marketing, and it remained as a Steam Greenlight listing for a couple of years before it randomly got accepted. Unfortunately, the game did not seem worthy of publishing anymore and was ignored.

Ultimately, 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.

Languages

C++, C, C#, Python, GLSL, Java, HLSL

Frameworks

Unity, PhysX

Other

Algorithms, Multithreading, Computer Graphics, Computational Geometry, Operating Systems, Graphics, 3D Graphics, Ray Tracing, Krita, Linux System Calls, Windows System Calls

Libraries/APIs

Vulkan, GLFW, DirectX 11, OpenAL, Blender Scripting API, WinAPI

Tools

Visual Studio, Revit, Blender, 3ds Max, Mudbox, Adobe Photoshop

Paradigms

GPGPU, Design Patterns

Platforms

NVIDIA CUDA, Windows, Linux, Arduino, Visual Studio Code (VS Code)

2014 - 2018

Bachelor's Degree in Computer Science

Free University of Tbilisi - Tbilisi, Georgia

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