Game Portfolio

See Render Gallery for my computer graphics projects.

Professional Projects 2017 - ...

Unity - Senior Graphics/Tools Engineer 2022 - ...

Currently helping improving the integration of vegetation technologies into the engine codebase, particularly SpeedTree. My tasks include maintaining and extending asset importing, shaders, UI/UX, workflows, performance optimizations, bug fixes, new feature integrations, etc.

AMD - GPU Developer Technology Engineer 2019 - 2022

As an ISV DevTech engineer at AMD, I worked with several AAA companies over the years to optimize their title’s performance for AMD hardware, specifically for the GCN5 & RDNA2 architectures through shader ISA optimizations, half-precision arithmetic, data packing, workload distribution, barrier and synchronization management, latency hiding and balancing VGPR/LDS/VMEM usage.

In addition to the optimizations, I’ve integrated various highly-optimized AMD rendering techniques developed by Timothy Lottes such as FidelityFX Contrast Adaptive Sharpener (CAS), Luma-Preserving Mapper (LPM), FidelityFX Super Resolution 1.0 (FSR1) into customzied UE4 codebases.

I’ve been credited in the following titles:

Pyre 2017

Worked on the PS4 build of Pyre from SuperGiant Games as a contractor graphics engineer for 2 months. My duties included performance optimizations, technology integration and fixing graphics/engine bugs.






DigiPen Projects 2015 - 2017

Nemesis Drive - UE4 UI Programmer Fall 2016 - Spring 2017

Nemesis Drive is a Japanese-style hack ‘n’ slash with a touch of rogue-like elements – item drops, inventory and shop system.

It is a 2-semester DigiPen game project made using Unreal Engine 4. Waking up as the main character Larina, the player tries to escape from the evil robotics facility. The action-packed gameplay is enhanced by the scaling difficulty as the player progresses through procedurally-generated levels. Every art asset used in game is made by DigiPen students from scratch.

My efforts were focused on UI/UX design & programming for game stats HUD and the inventory/shopping system where the player could purchase upgrades with the collected in-game currency.


3D Animation - C++ / GLSL / OpenGL Fall 2016

  • Animation importing using FBXSDK
  • VQS (Vector-Quaternion-Scale) interpolation for smooth animation
  • Curved path generation and speed control for ease-in/-out transitions
  • IK (Inverse Kinematics) using Cyclic-Coordinate Descent (CCD) algorithm
  • Spring & Damper system with a Physics Engine using Euler Integration

Fullscreen advised


Unlit - Graphics Programmer Spring 2016

Unlit is a 2.5D platformer, written in C++, without using a commercial game engine.

Working with 3 other programmers and a game designer for a semester, my focus has been on Physically-based Rendering, engine architecture and performance, component design. I have also assisted the team with debugging and scripting the game installer and additional testing. Every asset in the game were created by the DigiPen students from scratch.






Older Open Source Projects 2014 - 2015

Missile Command Clone in VR Summer 2015

Missile Command VR

This Unity5 project was a prototype and the first of a portfolio of work made by a small indie development studio I took part in. I worked on trajectory physics, input manager and some of the animations as well as a little bit of the UI.


Minesweeper Clone Spring 2015

 

  

A 3D Minesweeper clone, made in Unity3D 5 with some basic textures and some Unity Store assets. The game has a global leaderboard and an options menu. I focused on UI elements and simple effects in this project.


Zaptor Spring 2014

Zaptor

Zaptor is the very first game I developed using Unity3D. 4 different enemy types keep spawning with increased difficulty until the player dies. Press Backspace if you want to cheat!


ITUBot - StarCraft AI Spring 2014

I chose to implement an AI system for my graduation project at Istanbul Technical University using my favorite game of all times, StarCraft, after I discovered BWAPI. The bot follows a short build order while the main focus is on blocking the entrance of the base, as known as walling.

This is one of my earlier projects and my very first real time application which resulted in horrible, horrible coding. You can browse the repository and view the project report.