I'm Sarper Şoher, a game developer with over 20 years of experience, starting in the early 2000s.

With expertise in game development techniques, technical art, and design, I’ve both developed and published games as a solo developer and led interdisciplinary teams, fostering collaboration to deliver creative, efficient projects. I’m passionate about solving complex problems, improving workflows, and helping developers grow.

CURRENT WORK

GAME ENGINE

This is a game engine I'm currently working on. The plan is to make 2.5D shmup games with it. Below you can find the current list of features.

Bespoke Editor

  • Game-embedded editor architecture.
  • Custom immediate-mode GUI with floating windows, menu bar, asset browsers, floating gizmos, and a context-aware status bar (based on raygui).
  • Debugging overlays and visualization modes (wireframe, normals, terrain texture array indices/weights, water flow map, etc.).

Renderer

  • Prev-gen diffuse, normal, specular materials with Blinn-Phong shading.
  • HDR rendering with Uchimura tone mapping.
  • Directional and hemispherical lights.
  • Poisson-disc filtered PCF shadow mapping.
  • Full post-processing chain.
  • Aspect ratio locking with letterboxing and pillarboxing.

Terrain

  • Triplanar rendering.
  • Sculpting tools: raise/lower, flatten, smooth.
  • Material painting with height-map blending.
  • Support for 256 materials per terrain using texture arrays.
  • Parametric texture bombing to eliminate tiling.

Water

  • Planar reflections, DuDv-based refraction, depth-based transparency, and shoreline wet shading.
  • Faux Quake-style wave animation.
  • Wind-driven wave animation.
  • Flow map-based animation.
  • Real-time flow map painting tools.

Foliage

  • Instanced rendering.
  • Shader-generated blade meshes with LOD and quadratic Bezier curve bending.
  • Noise-based wind animation on macro and per-blade scales.
  • Foliage painting tools.
  • Support for painting 256 foliage types in a single draw call.

Culling

  • 2D sparse hash grid spatial partitioning for rendering, ray-cast queries, and collision detection.
  • Frustum culling with per-pass frustum padding.

Brush Engine

  • Adjustable size, falloff, and intensity.
  • Exponential moving average smoothing.
  • Rope stabilization.

Miscellaneous

  • Centralized wind settings affecting foliage, water, and sky animation.
  • Custom mesh and model format.
  • Shader hot reload, error detection, include directive.

PREVIOUS WORK

Backgammon Universe

Online multiplayer WebGL backgammon game with drop-in-drop-out multiplayer support with spectators and completely physics based dice.

Engine: Unity
Genre: Backgammon
Released: September 2024
Platforms: Discord (Desktop, Browser, Mobile)

Brick Breaker: Infinity

100+ hand crafted levels with infinite combinations, a new take on the classical brick breaker genre.

Engine: Unity
Genre: Brick Breaker
Released: Feb 2024
Platforms: Play Store | App Store

Last Bastion

Defeat the armies of Demon Iacobus with your rapid firing ballista and protect the Last Bastion!

Engine: Unity
Genre: Shooter/Castle Defense
Released: Nov 2021
Platforms: Steam | App Store | itch.io

Showreel 2005 - 2009

Some of the projects I developed while learning about game development during my adolescent years.

Software: Blitz3D, Wings3D, Blender, Adobe Photoshop, Fruity Loops, Visual Studio, C++
Timespan: 2005 to 2009