Hello there.

I am Daniel, a game developer specializing in graphics programming and a math enthusiast who solves equations that create unimaginable environments. I am a team-oriented programmer who loves taking on challenging tasks, researching new technology to meet hardware and design requirements, and learning new things while simultaneously teaching others. I received my BSc degree from the Faculty of Electrical Engineering, Czech Technical University in Prague, and my MSc degree from the Faculty of Informatics, Masaryk University, both in computer science and game development.

Below, you will find a sample of the game titles I have worked on over the years. I am currently working on the next big thing, but if you are looking to bring your project to life or have any questions, feel free to contact me.

professional projects

Transport Tycoon Empire image

Transport Tycoon Empire

Alda Games

Core Engineering

  • Curve editor and path tools for Unity Engine
  • Traffic system based on curves with various components such as semaphores, level crossings, bridges, highways, airports, etc.
  • AI for planning and traffic simulation
  • Collision detection and physics for vehicles (cars, trucks, trains, ships, planes, and helicopters)
  • Core game system components
  • Asset pipeline
  • Memory management

Gameplay

  • Various features such as cinematics, road and building builder, city economy with building area effects, player movement, crate opening, etc.

Rendering

  • Post-processing pipeline with bloom, blur, and lens flares
  • City rendering pass with custom shaders and mesh batching
  • System for rendering hundreds of dynamic UI elements, which include 2D graphics and fonts
  • Render pipeline optimization
Merge master image

Merge Master

Alda Games

Core Engineering

  • Procedural level generation which includes arena graphics, enemies, statistics, and difficulty
  • AI for battle simulation with command based system and state machines
  • Core game system components
  • Build and asset pipeline
  • Memory management
  • Player save system
  • Anti-cheat with cryptography for memory and save file integrity
  • Integrating third-party systems for analytics, advertisement, in-app purchases, user acquisition, etc.

Gameplay

  • Various features such as game economy, merging, abilities, crate opening, level selection, etc.

Rendering

  • Static mesh batching
  • Uber shader with various features such as dissolve, damage indicator, freeze, poison, etc.
  • Render pipeline optimization
Zombero image

Zombero

Alda Games

Core Engineering

  • AI for enemies and bosses implemented using state machines
  • Leaderboards

Gameplay

  • Player weapons, special abilities, and arena components such as airdrop, boomerangs, traps, rockets, etc.
  • Game modes and challenges

personal projects

Real-time Snow Deformation

Real-time Snow Deformation

Terrain rendering using Compute Shaders

I have proposed a scalable real-time snow deformation technique implemented on the GPU using compute shaders and hardware tessellation. It is based on the approach used in Horizon Zero Dawn: The Frozen Wilds. The method was extended using snow elevation along the edges of the deformation.

The algorithm renders the snow-affecting objects using an orthographic frustum centered on the player from below into a depth buffer. The rendered depth is then used to determine if the deformation has to be applied. The deformation heightmap is accumulated in a persistent ping-pong buffer. The algorithm remaps the heightmap using a cubic function and filters the height using a separable Gaussian blur filter. The required texels are fetched into LDS using gather instructions, which gets the four texels that would be used for hardware bilinear interpolation. Finally, the normals are computed using the finite difference method based on the deformation heightmap.

The technique has a sliding window that moves the deformation heightmap with the player anywhere in the world, which allows this technique to be used in a massive open-world game.

Forest with deformable snow
Forest with deformable snow
Stylized deformable snow
Snow material
2D Pixel Platformer

2D Pixel Platformer

Programming in Unity Engine

It is time to dive into a dangerous world in a forgotten dimension. You are armed with a sword, bow, and gamepad. Can you survive? This game is inspired by Heart of Darkness (PS1), created by Amazing Studios. I worked on the game with my colleague Klára. My focus was mainly on artificial intelligence and graph algorithms to create challenging enemies that pushed the game to a whole new level. I also drew enemy animations and the environment that was used to create the levels.

Character with two enemies
Character with a bow
Boss fight
Game over
Biomolecular Datasets

Rendering of Biomolecular Datasets

Real-time Visualization

It was a university project focused on real-time visualization of biomolecular datasets with the use of deferred shading and outline rendering. I implemented a variant of Metaball rendering technique that filters the normals of the cell. The filtered result is then used for lighting calculations. Finally, the cell membrane is rendered using a semi-transparent pass with Fresnel effect. I created the application using C++ and OpenGL.

Visualization front
Visualization right
Visualization top
Visualization back
Photogrammetry pipeline

Photogrammetry Pipeline

Creating materials and assets for games

During my studies at Czech Technical University in Prague, teams from Center for Machine Perception implemented state-of-the-art algorithms used for reconstruction of 3D objects from images. The method is based on comparing multiple images taken from different positions to estimate object coordinates in 3D space. These techniques were also used in games such as Far Cry 5 and Star Wars: Battlefront to create realistic environments.

Based on their results and my experiments, I described a photogrammetry pipeline for creating game-ready PBR assets. It consists of multiple steps focusing on cleaning the data, efficient parameterization with proper UV density, and optimization. Below, you will find a sample of results that I achieved.

Forest ground
Forest ground
Forest ground
Tree stump with a color checker
AK-47 image

AK-47

Game ready PBR asset

One can define a function that will describe reflectance properties of a surface, but it is not always about programming. I also used to be a technical artist in my spare time to understand how the art department works. One of my created assets is AK-47 with a physically based material. I used 3ds Max for low-poly modeling, high-poly modeling, and 2D parameterization. Textures were made using Photoshop and Substance Painter.

AK-47 left
AK-47 detail
AK-47 front
AK-47 right

contact me

Do you want to know more? I am currently based in Czech Republic (UTC+1). You can send me a message using the provided email, which can be found below. I will try my best to respond within a single day.

info@danielhanak.com

Success