Desktop/Web/Mobile Developer
(But mostly i create Concurrent back-ends)
[Download My CV]
Who am i?
hello!
My name is Ali Rezvani and I'm not your average Software engineer.
I 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 find programming interesting at the age of 14 with VB6 but soon enough I dropped that language and started using C++ instead, since then it's been true love between me and C style programming languages except for python I think! I like to do new things, learn new frameworks every day, and simply be creative.
All of my work experiences are not included on my LinkedIn, but anyway, I'd love to have you check that out.
Skills
Things that i am good at
* No specific order is applied for these lists
First, let's look at the Programming languages and frameworks that I've used in my work.
C#[Unity3D Included]C++Shader Programming[GLSL|HLSL|CG]Node[JS+TS]Ruby[On Rails]PythonRustBashThings 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...
Here is some of my "none programming" skills
LinuxGIT & SVNScrumDesign PatternsFast CodeR&DClean CodeTeamworkLeadershipGoing Indie
I've always wanted to be a giant space crab.
I love both the art and programming aspects of games; This is actually why I'm trying to go full Indie, The indie scene is great for experimenting and working on new mechanics. Right now I'm excited about working on STG games as everyone knows, This genre is stale currently, So it seems like a good place for experimenting with new gameplay mechanics.
Work Experiences
Contract works not included!
Infinite8
Technical Lead
Infinite8 is an awesome place to work, especially the Naxia team which to me felt like home, I've worked here on a wide range of problems, From fast prototyping to pipeline tool development, Both on the server and client side, Working together with other teams towards creating a uniform experience in the whole development cycle of our projects. We also had to switch to WebGL because we wanted to take full advantage of a web interface with all of its glory for user interactions, This way users could have a conventional user interface for interacting with the game, With beautiful 3D-rendered scenes integrated into it And all of this from the comfort of their web browser. This resulted in creating an architecture with embedded WebGL inside of our React front-end, Both talking to our Cluster of Micro-Services. Over at Infinite8 we focused on tackling many problems with Web3 and Play To Earn model in general. The SpeedFreaks game is our finest attempt to bring engaging NFT games with procedural 3D content, We tried our best to create a self-sustaining Economy with a functional positive loop growing its transactions organically. Right now SpeedFreaks project is in good hands, As the team over there landed a direct partnership with SplinterLands, And I'm excited for what is next for the great people working over there at Infinite8
Funomenal Games
Lead Software Engineer
Developed a 2D render pipeline for handling high amount of real-time lights in low end devices(Mobile for example), I also prototyped many gameplay features for their game, I've led other developers and my role was keeping track of their work and connecting Game designer to them and make sure that they do what was the designer's idea. i've written Spine compatible shaders for our new pipeline, created necessary frameworks for the client and created server-side API using .NET core 2
IHP
Lead Software Engineer
IHP was a 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"!
Ramand
Senior Unity Developer +Technical Director
They had an idea about a soccer-based game, it was a top-down strategic soccer game and it was fun to work on, we did 6 months 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 the 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.
NOA Games
Senior Software Engineer
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. I did all 3 of them, for ProFC I wrote a 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 the Shadow Racer client and its back-end which was also written in PHP and used CakePHP MVC framework. I also did some work on their casual game Vaneti!
Open Source
Xtory 2.0
A tool for writing branching nonlinear stories. But this time with plugins
This project started as simply wrapping Xtory 1.0 in an electron layer, For creating an out-of-the-box application experince, But after many purging and restarting the project, I've settled down on an electron app using ReactJS written in TypeScript This reincarnation of Xtory contains a plugin system for adding custom code to the application itself, For new Flows, Engine Integration, Custom Outputs and anything else that is needed for your pipeline.
Unity MVVM Framework
A way of making Unity UI more organized
This framework provides you with a reactive way of making UIs using UniRx, and you can use this to separate 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 on 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 the editor without any code.
It's have Binding Debugger for debugging all these reactive binds in edit mode or playing.
It also has a Localization Service supporting both JSON and CSV files as a translation table.
Xtory 1.0
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 the engine at specific points of the story.
It can convert conversations to lightweight JSON for use in you game engine. This app also comes with a built-in Localization tool.
X