Professional Experience
2017 – now
Founder of Gearoenix software (C++, Rust, Vulkan, OpenGL, Qt, Python, Blender)
2015 – 2016
Software Developer of a 3D printer editor software (C++, Go, Qt, OpenGL)
2013 – 2017
Sole Software Developer of an in-house cross-platform 3d game engine (C++, OpenGL, Qt)
2012 – 2013
Software Developer and 3D Artist in a 3d casual puzzle game named Rolling Lazies. (C#, Unity3D, Blender, PHP)
2014 – 2015
Software Developer and 3D Artist in an online game Farm Thief. (C#, Unity3D, Blender, Python)
SKills
Programming Languages:
C++14, C11, Python, Rust, Go, Bash, C#, Java, Javascript, SQL, Oracle PL, GLSL, ...
Development Tools:
QtCreator, Vim, Android Studio, Atom, XCode, Visual Studio, Unity3D, ...
Version controls:
Git, mercurial, SVN
Make tools:
Make, CMake, QMake, custom build tools with bash
Debugging tools:
GDB, Valgrind, ...
API/Library/Framework:
STL, NDK, Qt4/Qt5, Boost, Asio, POCO, Windows API, OpenGL(3.3/4/es2/es3), Vulkan, Directx11, OpenSL, OpenAL, zlib. Pnglib, GLFW(2/3), GLEW, FMOD, Ogg, Vorbis, Gtk(+2/+3/mm3), Blender API, ...
Graphic Programming:
shader programming in GLSL(3.3/4.3/ES2/ES3), 3D graphic pipeline (OpenGL, Vulkan), Phong tessellation, Phong illumination, UV texturing, procedural texturing, render to texture, Solid lighting, dynamic lighting, GPU occlusion query, deferred shading, sampling, direct light shadow, point light shadow, real time shadow, lighting effects, environment mapping.
Math/Algorithm/Physics:
Collision detection, AABBoxing, OcTree, KDTree, dynamics, Bezier interpolation, ray tracing (Box/Sphere/Triangle/Mesh). Occlusion Culling on CPU, Transparency ordering, state change minimizing, Mesh generation, Monte Carlo ray tracing
Paradigms:
Thread programming, Socket programming, Client-Server, Security, Debugging, Performance Analyzing, Cross platform programming, Design patterns, OO, Safe programming, Memory management
Methodologies:
Agile, Scrum, ...
Others:
Blender, GIMP, Inkscape, LMMS, photoshop, ...
More details
I began to learn programming at high school(~2006) because of my passion for games. I started my programmer career in 2011, at the first I was a self employed programmer and mostly I was freelancing, till in late 2012 I joined a game developer group. After 1
year we started our own studio, and I was cofounder in it for 2 years. We shipped two titles: 1- Rolling Lazies, 2- Farm Thief.
After Farm Thief, We suspended the studio (at the time, its name was HexyPixel). After that I was employed (contract based) by AEC as a graphic programmer
in their 3D printing section. I worked there a year and after the project finished, I went to another company because of financial stuff. But meanwhile of all aforementioned, I've always pursued my passion, that is nothing but creating game and learning its related
technologies.
-
▼
Founder of Gearoenix software
Since 2013 I was about creating a game engine. I've spent and I'm spending my spare time on it. During these years I had developed several graphic renderers.
Gearoenix game engine is the latest version of it. The previous version was
Vulkust. Since Gearoenix I changed my approach from purely technical to a more business oriented
approach. Vulkust was a total extreme technical move and it slowed me for reaching an acceptable result. But currently Gearoenix
has a business oriented approach and right now I'm developing a game with it.
-
▼
Software Developer of a 3D printer editor software in AEC
It was a 3D software for visualizing an object and showing its weak spots for placing and generating support for them, and slicing at the end, it was written by Qt5, C++14, Go-lang and OpenGL.
My responsibilities were:
-
Development of Algorithms for generating the best model for selection of a point by user. (each object had millions of vertices)
-
Development of Algorithms for finding weak spots of a 3D modeling.
-
Development of a render system that is capable of displaying 3D models and their weak points.
-
Development of a slicer for printing.
-
All of the developments of the the editor, its UI and render sections
-
▼
Cofounder of Hexy Pixel
I was cofounder in it, at beginning our name was Rayan Afzar Kabir after we got accepted by an accelerator our name changed to HexyPixel (for better marketing and branding). We shipped two titles 1- Rolling Lazies,
2- Farm Thief. As a cofounder in a small studio, I and my teammates had to fill the holes as far as we could. Everybody took a responsibility that was in
their time and power.
Some parts of the things I've done in HexyPixel:
- Development of server and clients connection
- Development of Analytic interface for game play developer
- Development of custom plugin for local android market using android Java and low level API of Unity3D
- 3D artist, modeling, texturing, rigging, digital painting, animation and rendering.
- Development of high-score system and user profiling
- Development of Facebook interface for game play developer
-
▼
Others
As I said, I started my programming career in 2011,
since then I developed several big projects and lots of small freelancing projects,
most of them weren't related to my passion and mostly were only for money.
And I'm currently working on a national project.
Some of the considerable projects, sorted in ascending order by time:
- 2011 - Linux Module programming in an ATM manufacturer in Hatef co(bankrupted).
- 2011 - Screenplay Writing Automation software for a film company, with QtCreator.
- 2013 - Delivery Agent Management software for a flower storehouse.
- Now - Working in a national project in a tax organization.