Portfolio

    Below are some of the projects I've worked on. Please note that I am not able to showcase all of the projects I've worked on due to NDAs

Animation Player (Unity,C#)

An animation player that can be used to showcase animations. Has features like play/pause, skip forward/backward, set repeat region, seek to position etc...

 

  • Developed editor script to automatically create animator states and transition for a list of animation-clips.
  • Created editor script to manipulate an animation list with custom controls like changing animation order, dragging and dropping animations etc... 
  • Multiplayer Stealth-Action Prototype (Unity,C#,PC)

    A multiplayer game that combines stealth and action. Playable as first person or third person characters with unique loadouts. Built on top of the Ootii character controller framework.
    Includes features like climbable walls, ladders, melee and armed combat, interactable environment ...

    • Added additional features on top of the Ootii framework like:
      • Complex melee attack combos.
      • Additional melee weapons, guns and grenades
      • A hostage system where a player can grab, hold and throw someone
      • Added attack reactions for different types of attacks.
    • Added custom fps controller and an updated camera system with the help of Final IK to Ootii.
    • Replaced existing aiming IK with an improved final IK solution
    • Significantly improved existing interaction system using FinalIK. 
    • Includes features like picking up any item and throwing it at the aimed location. 
    • Implemented multiplayer using Photon Unity Networking which includes: 
      • Waiting room feature
      • A character selection section where players can select different loadouts
      • Enity interpolation system for smooth multiplayer gameplay


     
     

     Jammies (Node.js, Typescript, WebGL)

    • Developed super fast, intelligent AI to control bots in the game
    • Worked alongside the core team and quickly integrated the AI framework to the existing code base.

    Ultimate Tic Tac Toe(Unity, C#, IOS, Android)

    Game made for a client.  Solo programmer of the project.

    • Worked along with the artist to develop the game.
    • Developed fast, intelligent AI using the Monte Carlo Tree Search algorithm.
    • Wrote code for handling UI, game states, user interaction etc..
    • Wrote custom shaders for some fancy effects.
    • Integrated libraries for in-app purchasing, ads and analytics.

    Untitled Platformer (C#, Unity)

    Currently under development. This is a rogue-lite, fast-paced action platformer targeting consoles and PC. Features awesome attack combos, unforgiving enemies and a perilous environment.
    • Lead programmer of the project
    • Developed highly complex player and enemy behaviour using behaviour trees.
    • Implemented complicated, multi-stage attack combos both for the player and the enemy
    • Programmed gameplay, AI, physics, shaders and UI elements
    • Wrote an inventory system



    Anesthesia SimSTAT (Unity, C#, WebGL)
    This is a training simulation game I've worked on while at Indusgeeks, a game company that focuses on gamification products. Made using Unity3D targeting the WebGL platform. Perhaps my biggest achievement while working here was the development of a waveform rendering shader which dramatically improved the performance of the game by replacing an existing mechanism which was dependent on the CPU. This was very challenging because the shader had to be compatible with WebGL 1.0, which imposes a lot of restrictions when it comes to graphics processing.
    • Dramatically improved game performance by developing a waveform shader to replace the existing CPU dependent mechanism
    • Wrote code to simulate Electronic Medical Record, Intravenous Fluid System etc...
    • Created tools to speed up the development process
    • Carried out various optimizations to make the game run smoothly on WebGL where resources are limited
    • Developed highly maintainable and flexible code that worked across multiple projects and modules
    • Assisted the team on various occasions with development related issues


    Multi Table Tennis 3D is a table tennis simulation game developed primarily for the Android platform. Developed using the Unity 3D engine and programmed entirely in C#.
    • Implemented realistic physics-based movement of the ball.
    • Implemented 4 different levels of AI difficulty
    • Developed a split-screen multiplayer mode
    • Designed and implemented the UI 
    • Implemented and experimented with different touch-based control mechanisms 
    • Imported and integrated different 3D models, textures and sprites into the game
    • Implemented sound for the game
    • Successfully performed various optimizations in the game to make it run at 60FPS on all devices
    • Integrated libraries like Admob and Google Analytics into the game





    Asteroid Melter is a survival action space shooter game developed for the Android platform. This is by far the biggest project I've completed. This game was created using my own simple android game framework named SAGL and was written in java.
    • This was a large project, developed over a period of 1.2 years
    • Implemented AI behaviors for 6 mini ships and 10 boss ships
    • Developed different weapon systems for the boss ships
    • Developed a unique survival gameplay mechanism for the game
    • Implemented procedural generation of the 2D environment and various enemies
    • Implemented a simple upgrade system for the player ship
    • Implemented encrypted storage of player high scores and progress using 'SQLCipher' from 'Zetetic'
    • Implemented online high scores using Google Play Game Services
    • Optimized SAGL to improve the game's performance and load times
    • Successfully debugged the game despite the incredibly large codebase
    • Integrated Admob 





    Simple Android Game Library -(SAGL)  (Android, Java)
    This is a lightweight Android 2D game library that I wrote from scratch for making my games, before moving on to game engines like Unity 3D. This framework is extremely lightweight (around 1MB) and well optimized. The framework uses the OpenGL ES 2.0 API for rendering graphics. Text is rendered using the GLText framework by Fractious.
    Asteroid Melter was made using this library.
    • Implemented OpenGL ES 2.0 based graphics rendering
    • Implemented code to handle different screen sizes and resolutions
    • Developed helper classes for loading and compiling shader code from files
    • Implemented high-performance collision detection algorithms
    • Implemented a sub-framework to handle proper playback of sounds and music
    • Developed classes for handling various user inputs
    • Implemented a simple UI framework for creating buttons, frames, on-screen joysticks, progress bars etc.
    • Applied the knowledge of OOP concepts and data structures in the development process
    • Developed classes that manage the loading and disposal of various resources and lifecycle of the game
    Image Editor was an experimental project. It lets you adjust the brightness, contrast, hue, saturation and lightness of an image in real time using glsl shaders. Built for the Android platform and is programmed in Java and C.
    • Implemented classes that can help load images from the device, send them to the GPU for processing and then save the resulting image
    • Implemented code to prevent the application from running out of memory when loading large image files









    This was my first android project. Multi Table Tennis is a simple ping-pong style game which offers a Bluetooth multiplayer feature. The game is also highly customizable with configurable game speed and game difficulty and 3 different control modes. Coded with java for the Android platform.
    • Implemented multiplayer gameplay over Bluetooth (TCP socket)
    • Implemented a special technique to make the gameplay smooth in multiplayer
    • Implemented accelerated graphics rendering using OpenGL ES 1.0
    • Developed simple classes for managing sound playback and user input



    1 comment:

    1. Hey Ajith! Love your portfolio, please reachout to admin@highlinegaming.com about an interesting work opportunity!
      Thanks!

      ReplyDelete