(But mostly i create Concurrent back-ends)
Who am i?
My name is Ali Rezvani and I'm not your average Software engineer.
I've started out as a game developer but after a few years i began to write highly optimized back-ends in Rust, C# and NodeJS
I Started to finding programming interesting at the age of 14 with VB6 but soon enough i've dropped that language and started using C++ instead, since then it's been a true love between me and C style programming languages with the exception of python i think! I like to do new things, learn new frameworks everyday and simply being creative.
All of my work experiences are not included on my linkedin, but anyway i'd love to having you checking that out.
Things that i am good at
* No specific order is applied for these lists
First let's look at Programming languages and frameworks that i've used in my works.C#[Unity3D Included]C++Shader Programming[GLSL|HLSL|CG]Node[JS+TS]Ruby[On Rails]PythonRustBash
Things that i have mentioned are languages that i still use on a daily basis, there are many other frameworks and languages that i've used in a few projects like PHP, Java, Haskell, etc...
And here is some of my "none programming" skillsLinuxGIT & SVNScrumDesign PatternsFast CodeR&DClean CodeTeamworkLeadership
Me as a Technical director
In many game projects i've been involved as a technical director
I love both art and programming aspects of games;
And because of that i love to work as a technical director, or being technical consultant in games and VFX projects, I've created many custom renderers and can write optimized shaders and light weight physics engines.
I can find the most optimized ways of converting heavy materials and art decisions into something suitable for real-time rendering on PC and even Mobile Devices
Contract works not included!
Developed a 2D render pipeline for handling high amount of real-time lights in low end devices(Mobile for example), I also prototyped many game play features for their game, I've lead other developers and my role was keeping track of their works and connecting Game designer to them and make sure that they do what was designer's idea. i've written Spine compatible shaders for our new pipe line, created necessary frameworks for the client and created server-side API using .NET core 2
IHP was an contract work company, we did lots of projects together and i actually don't know what happened to them because it's all was for clients, We worked on one game called Wits & Wagers it was a board game we did, we also did 2 Idle games one called "shir abaad" and the other one is "Ragbar", i also worked a little on their in-house game called "Battle shoot"!
Senior Programmer +Technical Director
They had an idea about a soccer based game, it was an top down strategic soccer game and it was fun to work on, we did 6 month of prototyping and testing different mechanics and controls there, i also wrote a node based project configuration manager and bootstrap code generator called Blocco sadly it's a closed source project. I did lots of Shaders for Saychin game including a shader capable of doing lightweight subsurface scattering, cavity, triplanar texture mapping, very efficient Light cap implementation based on zBrush algorithms.and did some maintenance work on Soccer champion, Implemented Asset bundles for their projects and other things.
I have worked on many of their projects and upcoming titles. Originally i hired there to work on their new title ProFC, this project has 3 parts, CakePHP back-end, C# unity Client and C++ game server. And i did all 3 of them, for ProFC i've wrote a really cool tool for debugging C++, and PHP from Unity Editor and using PHP xdebug and C++ GDB. Then they moved me for some maintenance work on Shadow Racer client and it's back-end which was also written in PHP and used CakePHP MVC framework. I also did some work on their casual game Vaneti!
Unity MVVM Framework
A way of making unity UI more organized
This framework provides you a reactive way of making UIs using UniRx, and you can use this to seperate Logic and UI from each other.
This way you can have your logic written in normal C# code and this gives you the ability to easily write Test Cases and reusing logic in the server side for Input validation and Anti cheat strategies.
This framework is 100% async and it comes with Dependency Injection, Message Broker, Dialogue Service, Navigation Service for moving between scenes, Reactive Binding including One-way binding, Two-way binding, Event binding, Visibility binding and Collection binding which you can use converters to convert Input/Output values and all of this are done in editor without any code.
It's have Binding Debugger for debugging all these reactive binds in edit mode or playing.
It also have a Localization Service supporting both JSON and CSV files as translation table.
A tool for writing branching nonlinear stories.
A small web app written in JS ECMAScript5 created for writing nonlinear stories using node graph editing and you can use it for writing both Story and Conversations, Supporting variables and function calls inside of engine at specific points of story.
It can convert conversations to lightweight JSON for using in you game engine. This app also comes with a built-in Localization tool.