About Me
My name is Doğa Oruç, I am from Turkey and I live in Ankara, the capital city of Turkey. I was born in 1998 in Ankara. I am a Computer Science Graduate from Bilkent University.

As a Scientist(😂), I am working in the video game industry as a Rendering Engineer. I think games are the most complicated piece of software out there, and if I know one thing about myself, it is that I love myself a challenge! I'll write my name into the video game history with golden letters.

The world ain't all sunshine and rainbows.

You, me or nobody, is gonna hit as hard as life. It's about how hard you can get hit, and keep moving forward... how much you can take, and keep moving forward. That´s how winning is done!

Now, if you know what you worth, go out and get what you worth. But you gotta be willing to take the hits.

~Rocky Balboa

Welcome to the Event Horizon!
Hello and welcome! I'm Doğa Oruç, a young computer science graduate living in Ankara, Turkey.
This is my personal website and portfolio: here you will find information about me and my projects.

I decided to call this website The Event Horizon because I always wanted a personal blackhole :)
I hope you enjoy your stay!

If the website feels choppy, please make sure you have Hardware-Acceleration turned on on your web browser.
The magnificent blackhole you see back there is actually a real-time rendered 3D model. Anyways, have fun!!


Sections:

Experiences
Education
Bilkent Logo
Bilkent University
Bachelor of Science in Computer Science
23/09/2016 - 06/06/2020

As of now, I am a graduate from Bilkent University. I received my BSc in 2020.
In Bilkent I learned many skills. One of which is how to do correct research to gain information in the most efficient and correct manner.

I took many courses on Bilkent, apart from the mandatory courses like Algorithms, Data Structures, Programming Languages, Operating Systems,
Software Engineering, Digital Circuit Design and Databases; I've also taken courses which I've had interest on: Parallel Programming,
Image Processing and lastly but most importantly 3D Computer Graphics(OpenGL/WebGL).
Work
4D Sight
Rendering Engineer @ Core Team
01/02/2023 - 12/09/2023

4D Sight is a virtual ad technology company with a focus on live gaming and sports broadcasts.

I've worked as a rendering engineer at 4D Sight in the “Core Team”.
As a rendering engineer, I've designed and developed a headless real-time 3D renderer for use in company's ad technology, exposed the C++ renderer API to Python using pybind11, improved rendering resolution from 960x540 to 1920x1080 and consequently improved rendering performance ~10 fold, from ~20ms/frame to ~2ms/frame.
I used C++, OpenGL and various other industry standard 3rd party tools and libraries.
4D Sight Logo
MobGe Logo
MobGe Entertainment
Tech Stack/Game Developer @ Core Team
7/06/2021 - 30/01/2023

MobGe is an independent game making studio based in Turkey-Eskişehir.
With the passionate beliefs in the power of today’s technology, MobGe aims to create unique environments which do not even exist in parallel universes!

I worked as a tech stack/game developer at MobGe in the “Core Team”.
As a developer, I've developed various technologies/libraries to use in their upcoming games!

I used the Unity Game Engine.
Alternate Reality
Graphics Programmer @ Core AR Team
18/08/2020 - 7/06/2021

Alternate Reality is a start-up revolving around B2B augmented reality solutions.

I worked as a graphics programmer at Alternate Reality in the “Core AR Team”.
As a graphics programmer, I wrote very (very) efficient shaders, and built hologram scapes that would later be given to buying businesses.

I used the Unity Game Engine alongside with HoloLens MRTK to build the holo-scapes and all the shaders were written for Unity Game Engine.
Alternate Reality Logo
Ging Games Logo
Ging Games
Gameplay Programmer @ Outsourced Team
14/07/2020 - 15/08/2020

Ging Games is an independent mobile game studio founded in METU Technopolis.
The focus of Ging Games was to develop hyper-casual mobile games.

I worked as a gameplay programmer at Ging Games in one of their “Outsource Teams”.
As an programmer, I implemented two hyper-casual from start-to-finish. When I delivered the games, they were ready to run CTR tests on them. One of the said games ended up on the Apple Store and is still up!

I used the Unity Game Engine (what a surprise) to program the games.
TUBITAK BILGEM ILTAREN
Summer Intern @ Software Development Team
16/07/2019 - 15/08/2019

TÜBİTAK, The Scientific and Technological Research Council of Turkey, is a national agency of Turkey whose stated goal is to develop "science, technology and
innovation" policies, support and conduct research and development, and to "play a leading role in the creation of a science and technology culture" in the country.

I worked as a summer intern at TUBITAK in the “Software Development & Design Team”.
As an intern, I implemented a Matrix-Vector library, a Neo4J Graph Database management app, and an XML Editor.

I used C# as my language of choice, I also used technologies such as the Neo4J Driver, the Neo4J Client and WinForms.
Bilgem Logo
Taleworlds Logo
Taleworlds Entertainment
Summer Intern @ Game Engine Design Team
30/07/2018 - 14/09/2018

TaleWorlds Entertainment is an independent video game development company, founded in 2005 and located in METU Technopolis. TaleWorlds Entertainment is the owner
of the critically acclaimed game series Mount&Blade.

I worked as a summer intern at TaleWorlds Entertainment in the “Game Engine Design” team.
As an intern, I implemented a Free Camera, Statistical Analysis Tools to Performance & Benchmark Metrics, and an Automated Test Environment, all for their game.

I used C++ and C# as my languages of choice, I worked on their game engine, RGL, and used an immediate GUI framework called Dear ImGUI.
Bilkent University
Teaching Assistant @ Introduction to Programming for Engineers Course
29/01/2018 - 14/05/2018

I worked as a Teaching Assistant for the course “Introduction to Programming for Engineers”. The course's aim was to teach non-CS majors elementary Java.
As a TA, my duties were grading quizzes and lab assignments and also helping students with their problems whenever they needed. I was in charge of approximately 50 students.

Being a TA taught me many great things. First of all it was very challenging, but also fun. This made the job perfect for me since I love myself a challenge.
I greatly improved my communication skills thanks to students always reaching out for me to help them with their problems.
I also learned how to grade just which was the hardest thing I've ever had to do. Assessing performance just is, I think, one of the few things many people cannot do in this world.
Bilkent Logo
Bilkent Logo
Bilkent University
Lab Tutor @ Algorithms and Programming Course
18/09/2017 - 22/12/2017 & 24/09/2018 - 31/12/2018

I worked as a Lab Tutor for the course “Algorithms and Programming” twice. This course is the first programming course CS majors take.
As a Tutor, my duty was helping the students find correct ways to approach programming problems.

Being a Lab Tutor was very fun but also very educating for me. I learned how to teach young programmers of future to code. Since this course started teaching programming from
absolute zero. The sight of students learning a bit more about programming each week was very interesting to see. I loved the experience!
Skills
Self Assesment on Programming Languages
I know the in's and out's of the language and most of it's API very well. I did my personal projects mostly on Java for a long time because I felt the language was ready to use from the get-go without any fancy set-up steps and import of various libraries needed. I also felt myself most comfortable using Java until I met with C++. I have numerous small-scale projects and a full fledged 2D Game Framework coded entirely in Java.
I know C and C++ well enough to start coding a 3D Game Engine using OpenGL from scratch. Because I started using C++ a year ago, I'm still learning as I go! As C++ users, me and 3 of my schoolmates founded Chroma, an organization focuses on implenting high-performance/high-quality rendering engines using the cutting edge technology and research.
In my professional life I am heavily using C#. I like the language because the syntax and the style resemble Java. However, I later found out the two languages are completely different. Since some of the popular game engines I use, like Unity and Godot, use the C# language as a scripting language, I also use C# while coding games using those engines.
I have good knowledge of various JavaScript libraries and API. In the past, I used libraries such as jQuery, three.js, p5.js etc. I have also programmed in raw WEBGL for my Computer Graphics course. At the moment I am learning how to use Node.js and Vue.js in hopes of making this website load faster :).
I have a fairly good understanding of how browsers parse and use markup/stylesheets. I know how to build a responsive website from scratch (like this one). I know how to use Bootstrap and W3.CSS.
I am very new to the language. I am taking my time with it and learning it veeeeeeeeeery slowly. I learn this language just for fun.
Self Assesment on Tools and Technologies
I started doing OpenGL related pojects while I was still using the Java programming language, after quite some time, I decided to switch to C++ because of performance reasons and to keep up with the industry standards. I'm well versed in the specification, and I developed tangible applications and libraries using OpenGL, with or without peers.
Since I started my journey with OpenGL while I was still using mainly Java, I had to start with LWJGL, Lightweight Java Game Library. LWJGL had everything a game developer needs if they strictly want to use Java. The Library contains many API's like OpenGL, OpenAL, JBullet, JBox2D etc. which I had experience with. Since now I switched over to C++, I stopped using LWJGL.
I used Unity on GameJams and also for my graduation project. Overall I'm in a love-hate relationship with the engine. Unity is a very good engine but can also be very a frustrating one at times. What I realized whith Unity is, it takes a while to get used to it's features but once I got familiar with the functionality, nothing could stop me :). I look forward to develop games on Unity in the future.
I started using Godot recently on Global Game Jam 2020. Godot is very easy and fun to use. I am very excited to develop games in Godot in the future.
Projects

My API's and Libraries

Neo Doa

NeoDoa is a simple, open-source and easy-to-use game engine developed with C++ for high fun game development! NeoDoa uses OpenGL to deliver high performance by hardware accelerating the rendering. NeoDoa is still under development and is not ready for producing games, but it will be 😎 See it on GitHub for more info!

CHROMA

A 3D rendering engine, written in C++. Backed by open-source 3D graphics API’s and bindings such as OpenGL, glfw, glad, gl3w, and glm. Chroma Engine has support for multiple cameras, .obj models, texture mapping, phong shading, and directional, spot and point lights. Chroma Engine’s source code is under Chroma, an organization founded by me and 3 of my CS schoolmates

LWJGL Game Engine

A game engine written in Java’s OpenGL (LWJGL). It is a very simplistic graphics/physics engine. Can simulate rotations using Euler Angles and Quaternions, dynamic fluids using dudv maps, terrain generation with either height maps or perlin noise, and a day-night cycle.

DoaEngine

A full-fledged 2D graphics engine written in Java. Built on top Slick2D, which uses OpenGL bindings with LWJGL. Features: Layered rendering, Threading API, Static Lights, Physics Simulation, Windowing Support, integrated Sound and Sprite API, 2D Vector API.


My Games

RISK: Digital Cut

Implementation of RISK tabletop game for desktop machines. Written in Java using DoaEngine. The game is 99% functional with small bugs here and there. As a team of 3, we are still developing this game. Features include, base game; AI, offline multiplayer and online multiplayer.

Homeward

Game written in Unity for the Global Game Jam 2019 event. Due to bandwidth restrictions of the place where we attended GGJ’19, we couldn’t upload it on time. Unity produces so many junk alongside the executable. Source-code is under Chroma, an organization founded by me and 3 of my CS schoolmates.

16 Games

Recreation of old well known games using DoaEngine. These game are: Tetris, Doodle Jump, Arkanoid, Snake, Minesweeper, 15-Puzzle, Car Racing (Top Down), Outrun (Pseudo 3D Racing), Xonix, Bejeweled, Pac-Man [WIP], Mahjong Solitaire [WIP], Tron [WIP], TicTac-Toe [WIP], Blobby Volley [WIP], Asteroids [WIP].

Tiger Tooth Chess

A single/multiplayer chess game. Uses Peer to Peer (P2P) connection to connect two players. Features: Online multiplayer, game analyser, and loading games into a present database to teach the already implemented A.I. to mimic others players.

Admiral is on Board

A 1v1 Multiplayer “Battleships” game. Players are connected via P2P connection.

Project: Time()

A simple action RPG puzzle game, written in Java. Uses a very primitive and nameless version of the game engine DoaEngine. The game takes place in 1986, ten years before Java Programming Language came out. The protagonist is sent there by his CS101 profesorer as he was trying to steal the final exam questions. The protagonist now has to find and teach his professor how to invent Java in a chance to get him to build another time machine for him way back in time. Hence Time().

Solitaire

Classic Klondike Solitaire game written in Java.

FPGA Motor Game

A small project written in SVerilog and implemented on a Basys3, and a Beti board, to create an old-styled game where the player would watch the motor on the Beti board to turn and enter the code it corresponded to.

The Chronicles of the Revenant Assassin

A cancelled personal project which I worked on for quite some time. Utilized techniques such as Image Processing and AI to some degree, but scrapped due to my limited knowledge of aforementioned areas and no assets required for a game. I will DEFINITELY come back and finish this project when I satisfy its requirements.

Tile Based RougeLike RPG Game

An unfinished project, it needs a decent game engine and software engineering knowledge beyond my level, which if I would try, it would require too much time and would return diminishingly. I will complete this once I get to the level of writing “decent” game engines and software. This project’s source code is not present in my GitHub account.

Rebuild ECHO

A beautiful game idea scrapped. Original concept finalized in Global Game Jam 2020 event. I and 4 of my schoolmates were developing this game and were planning to release it to Steam. Didn't quite make it. :/


My Applications

Simple Cityscape Generator

A simple cityscape generator. Written in raw WebGL. Draws numerous primitives onto the screen like quads, triangles, circles etc.

Ant Animator

A small Ant Animator tool written in raw WebGL. Draws a terrain and an ant over it.

Superquadric Renderer

Realistic parametric superquadric surface renderer. Written in raw WebGL. Draws 2 superellipsoid and 2 supertoroid. 2 of the 4 renders are in wireframe, the rest are texture mapped.

Color Blindness Simulator

Simulation of all known color vision deficiencies, i.e. Protanopia, Deuteranopia etc. This application maps normal vision to known color vision deficiency ranges. It is possible to save the mapped images.

Dark Side of MARS

A theming engine for a program called MARS: MIPS Assembler and Runtime Simulator, this program is used worldwide by many students who try to learn Assembly language and developers who write code in Assembly. I am in touch with the developer of this application. Soon my version will be added to the official release

XML Wizard

A simple XML Editor in C#. Design and create XML files in the blink of an eye! Add child nodes in a structurally manner. Add text to existing nodes. Load and save XML files.

Crosshair Overlay

A small program to draw one of numerous crosshairs on user's screen. Especially helpful when playing games that disables crosshairs.

Purple Rain

A very small program that can be used for customization and theming purposes. Draws an effect called “purple rain” on the user’s screen. Can also change the colour of the rain.

thanos.jar

Thanos has now arrived on your PC and he will bring havoc to your files. He will wipe out exactly half of your files when he snaps fingers wearing the infinity gauntlet.

You are lucky though, he can only carry out destruction in the directory he is in :)

Lissajous Table

This program draws numerous lissajous curves onto the screen.

In mathematics, a Lissajous curve, also known as Lissajous figure or Bowditch curve, is the graph of a system of parametric equations which describe complex harmonic motion. This family of curves was investigated by Nathaniel Bowditch in 1815, and later in more detail by Jules Antoine Lissajous in 1857.

Contact