About

Thanks for stopping by. Read below to learn more about myself and my background.

Jeanine White at work with a colleague

Background

Hi, I'm Timur, a 15 year old student wanting to get into game engine programming.

I've had a love of programming from an early age, starting with learning how to make mods for Minecraft at 6 years old. That then progressed into me wanting to learn how to actually make games, with me learning Unity and C# starting at 8 or 9. I then taught myself C# using YouTube videos. Simultaneously, I also learnt Python and some HTML/JS along the side, but C# was my strongest.

Until I was about 14 years old, I had always used Unity (as well as trying Unreal Engine, CRYENGINE, and Godot), but I then decided I wanted to start learning OpenGL to eventually make my own engine. I initially started by using OpenTK in C#, and I made one of many Minecraft clones (as of writing this in September of 2025, I have made a total of 4 Minecraft clones) which had procedural generation, but no voxel interactions. I didn't use OpenTK for very long before deciding I wanted to learn OpenGL from complete scratch. I also used that chance to learn C, which I did over a weekend using LearnOpenGL in which my second Minecraft clone. This attempt was merely a single chunk being generated, with no voxel interactions or procedural generation, but it gave me a very strong foundation for how OpenGL worked.

After having completed that project, I wanted to improve my clone, but I was being limited by the lack of a standard library of C, despite implementing my own dynamic vector object. It was at this point I wanted to learn C++, which has now become my strongest - and most liked - language. I adapted to C++ very quickly, as it had almost no memory management through the extensive standard library, so it felt a lot more like C#. In this attempt, I progressed much further and implemented translucency and sorting of transparent faces, a more advanced block loader, and finally the ability to interact with the world through placing and breaking blocks!

I used that voxel game in C++ as a chance to really get to grips with C++. That allowed me to make my first game engine, which - despite me getting burnt out with = actually started to look like a passable game engine, featuring a full dynamic ECS, hierarchy, parent-child architecture, and UI via Dear ImGui. Whilst I haven't continued with that project, I have been wanting to start a new version in which I will keep the codebase much cleaner and more modular. Unlike with my previous game engine, this one will prioritise voxel games, with a builtin ray tracer or greedy mesher for rendering voxels. It's an ambitious goal, but I'll get some useful experience - just like my previous game engine - whilst I work on it.

It was around this time that I had been preparing for my Computer Science GCSE, which due to me being home educated, I could sit 2 years early.

Skills

  • C/C++
  • C#
  • Linux
  • Unity
  • Several IDEs
  • OpenGL
  • Vulkan
  • Python
  • Git
  • GitHub
  • Backend Development