top of page
IMG_20180401_095324.jpg

Hello! I'm Shashwat

 

I'm a game developer with deep interest in Physics and Game Engine programming. A recent graduate from the Master's in Computer Science program at DigiPen, I am currently looking for a full-time position in the game development industry as

a Gameplay/Physics/Engine programmer.

  • GitHub-Mark-Light-64px
  • White LinkedIn Icon
  • White Instagram Icon
PROFESSIONAL EXPERIENCE
EXPERIENCE
Oct 2016-Apr 2018

Senior Game Developer

AQUIMO SPORTS PVT LTD

Devised a data-driven architecture for the app which allowed the designer to easily modify components and to lock out or unlock features of the app for free or premium members. Prototyped 5 mini-games and iterated over them working closely with the designer to make them fun.

Jul 2015-Sep 2016

Game Developer

PLAYBUFF STUDIOS PVT LTD

Created core gameplay elements such as defensive buildings, traps, the upgrade loop for buildings and troops along with the timekeeping system that synchronized over the server. Also, developed a multi-level achievement system with an API for easily implementing new achievements at any point in the game.

​

May 2014-Aug 2014

Internship

Google Summer of Code

THE MACPORTS PROJECT

Implemented interactivity in the command-line port utility to solve conflicts, that may arise while downloading or upgrading ports, through user inputs.

EDUCATION
EDUCATION
2018-2020

Master of Science in Computer Science

DigiPen Institute of Technology, Redmond

2011-2015

Bachelor of Technology in Computer Science

National Institute of Technology, Hamirpur

ACADEMIC PROJECTS
CLIENTS

Amalgamage

Amalgamage is a single-player procedurally generated dungeon-based rogue-like game. The player gets one of the four elemental spells when he enters the dungeon. The goal is to defeat the entire dungeon. On each floor the player encounters a boss which is the master of another element. On defeating the boss, they gain the boss’s element and move to the next floor. After gaining all the elements, the player fights the final boss who is the master of the first element the player got when he entered the dungeon and on defeating him, is deemed the ‘Amalgamage’.

I integrated my Bocks Engine into the Hollow engine which is the custom game engine written for this game. I ended up optimizing the Bocks engine to support more objects and to have static, dynamic and kinematic distinctions for objects. I also programmed a lua based scripting system for this game which utilized the Sol2 library. The scripting system was used to load levels, script enemy behavior, player movement and other stuff.

RoboTest

A platformer game where you play as a Robot traversing through dangerous environments so that your human friends don't have to.

I programmed the Physics for this game. The player movement is force based. A friction force acts on the player to make him stop. This makes for a different weighty feel to the controls than the usual pixel precision controls in most platformers. I wrote the Camera system as well in which the player is always able to see more of the direction they are going, in contrast to the usual cameras which are pinned to the player.

Bocks Engine

A Physics engine that supports cuboid shaped objects. The collisions check and their resolution is divided into phases in the physics step. The first phase, the Broad Phase uses a Dynamic AABB tree that speeds up collision checking and returns potentially colliding pairs. These pairs are fed to the next phase- Narrow Phase in which Separating Axis Tests are performed on the Oriented Bounding Boxes of the objects and actual collision data is calculated and stored. This stored data is used in the next phase which is Resolution Phase by the Sequential Impulses Solver to apply impulses on the objects and push them out of each other.

I extended this project to also support joint constraints. The types supported by the engine are- Hinge, Ball & Socket and Rope joints.

Fluid Simulation

A Fluid Simulation based on the Navier-Stokes equation solved using numerical methods. The simulation goes through the Advection, Diffusion, Pressure calculation and Projection steps every frame. A no-slip condition for the velocity and a zero pressure differential is in place at the boundaries to keep the fluid from escaping. The simulation runs at nearly 60 fps for a 128x128 grid on the CPU.

Water Simulation

A simulation of the 2D wave equation solved using Fourier method. The Procedural Mesh Component available in the Unreal Engine was used to create and update the mesh. The solution of the equation is the height of each vertex which was calculated in the Tick method to update the simulation every frame.

Rope Simulation

A Rope Simulation using a Mass-Spring model for a rope. The simulation is integrated using Euler integration and Unity3D has been used to render a ball as the mass and a connected cuboid as the spring. The simulation is stable even when the balls are stretched more than the specified spring lengths and runs at a stable frame rate of 60 fps.

SKILLS
SKILLS

C++ - Advanced

Custom Engines - Advanced

OpenGL/GLSL - Proficient

C# - Proficient

Unity3D - Proficient

Lua - Familiar

CONTACT
bottom of page