04 Aug 2020
Hello, I am Twarit Waikar. Currently I am working at Salesforce as a software engineer and I completed my B.Tech in Computer Science and Engineering degree from Indian Institute of Technology Roorkee. You can view my resume here.
I quite like reading about operating systems, cloud, computer graphics, game development (including virtual reality), and also just high performance low level systems programming in general.
You can look at my projects here. If you like them then let’s get in touch!
During my time in college, I was a part of IIT Roorkee’s software development group known as SDSLabs from 2018 to 2021 where we built large-scale team projects covering a wide variety of domains like game engines, web portals, cloud management and deployment systems, etc. I was also a designer in IIT Roorkee’s technical magazine group called Geek Gazette where I usually helped them design magazines.
04 Aug 2020
![](/assets/rootex.png)
Rootex Engine is an advanced 3D game engine written in C++ made by a small team which I led at a programming club named SDSLabs at IIT Roorkee. Rootex is supporting a work-in-progress game, which is planned to be released in 2021. It comes with an editor written also in C++ using Dear ImGui.
Features
![Rootex Editor Sponza Screenshot](/assets/rootex_editor_sponza_gif.gif)
Rootex uses a modified version of the Entity-Component-System architecture, now popular in the game development world because its ease of use, modularity and performance boost thanks to better CPU cache usage.
![Rootex Editor Editor Gif](/assets/rootex_editor_gif.gif)
Rootex uses DirectX 11 as its rendering backend and we keep adding rendering effects to it like dynamic phong lighting, particles effects, etc.
![Rootex Editor Physics Gif](/assets/rootex_physics_gif.gif)
Rootex has integrated Bullet 3D Physics SDK and uses it to simulate and visualize real-life-like physics in the game world.
Other features
- Audio Engine based on OpenAL with 3D attenuation
- Lua scripting API exposed for faster gameplay development iterations
- Event based programming model used in both internal functions and gameplay functions
Tech Stack
- Languages: C++17 with embedded Lua scripting
- DirectX11 for 3D rendering on Windows
- OpenAL for audio management
- Sol3 for creating Lua bindings for C++ code
- Bullet3D for 3D physics simulation
- Dear ImGui for creating editor GUI
- Gainput for input management
- Assimp for asset loading
- RmlUi for UI rendering using an HTML/CSS-like language
- and some other utility libraries
All 3rd party libraries and their licenses can be seen here or in the editor.
Rootex has been designed and developed completely inside SDSLabs, IIT Roorkee and has been documented here.
04 Aug 2020
![](/assets/gsoc.png)
Google Summer of Code 2019 is a program conducted by Google which allows open-source organization to hire students to work on their projects related to the organization for around 3 months. This program is sponsored by Google.
My proposal for adding a version control system integration was selected by the Godot Engine organization which maintains the fully-featured and fully open-sourced C++ based Godot game engine. I am now maintaining the VCS integration feature in the Godot Engine organization.
Features
- Ability to stage files from Godot Editor UI
- Ability to commit staged files
- Ability to view diffs of modified files from UI
Tech Stack
- C++ with C interop
- GDNative with GDNative API for C++
- libgit2, a C library that simulates Git in code.
Godot Engine is maintained by the Godot Engine organization.
03 Aug 2020
![](/assets/rubeus.png)
Rubeus Engine is a simple, cross-platform, 2D game engine written in C++17 using OpenGL 3.3. The main objective of making this engine is to provide a simple and fast API to help people realize their game ideas efficiently.
I was the original author of the v1.0 release.
![Rubeus rendered image](/assets/rubeus_render.png)
Rubeus uses broCLI, a Go based CLI tool that helps create the project structure for using Rubeus. broCLI was later superceded by a separate project manager released with Rubeus v2.0.
Rubeus v1.0 was released on 22nd December 2018 and around 10 months later on October 13th 2019, Rubeus v2.0 was launched.
Main features
- Colour and image textured 2D sprites
- Collision detection and resolution of boxes, circles and planes.
- Cueing music and sound effects with a single line of code.
- Taking user inputs through mouse and keyboard.
- Easy first look CLI interface for a beginner.
Tech stack
- Language: C++17
- GLFW with OpenGL 3.3 for 2D rendering and cross-platform input and window management
- SFML for audio
- DevIL for image loading and manipulations
- Dear ImGui for project manager UI released in v2.0
- and some other utility libraries
Rubeus has been designed and developed completely inside SDSLabs, IIT Roorkee and has been documented here.
02 Aug 2020
![](/assets/g_for_golf.png)
G for Golf is a golf game but with a twist. The player controls the ball’s gravity and not the ball directly, which means they have the complete control of the ball in 3D space.
Also I have VR edition for this game, which won prizes in multiple hackathons and exhibitions.
The game was released with 3 levels. And each level explored a different aspect of the game design possibilities in this idea.
![](/assets/g_for_golf_3.png)
Main features
- Special VR Edition also released
- Bright and colourful music and ambience
- Unique gameplay explored in depth with a simple interface
Tech stack
- Language: Unreal Engine Blueprints
- Unreal Engine 4
This project was created during the SDS Winter of Code 2017 under the mentorship of SDS members who are now my seniors.