Srinath Sourirajan

Sheffield, Oct 17th 2022 - Apr 30th 2025
I have worked in many different teams in Sumo, primarily as a Gameplay programmer. When working in prototype teams, I have worked on any game dev work requried of me including but not limited to VFX, Vehicle Modelling and Rigging, and Animated Materials.
A summary of my work experience at Sumo is as follows:
Mission system: I have worked on designing and implementing mission scripting systems, given project specific requirements. I was in charge of designing the system, organizing tasks for myself and carrying out said tasks. I proposed workflows and pipelines, designed the system architecture, communicated with designers to get feedback and implemented the system with required editors for designers to work with.
Dialogue system: In narrative focussed game projects, I have worked with in-house tools for managing dialogues. I have also worked with Ink for scripting dialogues and used Chinese Room's Inkpot plugin for Unreal Engine to import Ink scripts and run dialogue in game. I have also worked on extending the Inkpot plugin's import feature to fix issues when importing Ink scripts.
Editor Extensions: I have worked on customizing the Unreal Editor to provide features for designers. For eg: A combo box for selecting from a set of names instead of typing the name manually. I have also created custom asset editors (with graphs) and custom editor modes for my mission systems. I have extended the blueprint compiler to support custom blueprint types. I have also written custom K2_Nodes.
Procedural Content Generation: Investigated options to implement a PCG pipeline in a project to achieve endless replay. Wrote my own Procedural generation framework with modular generators, rule processors for introducing contraints (such as height limits, quantity limits, etc), sub generator support etc. to achieve creating city blocks with buildings populated with furnishings. Used Unreal Engine's Geometry modules to create noise patterns to add variety (especially voronoi for roads). Tested Unreal Engine's PCG (during UE5.0) framework to investigate if it was suitable for the project requirements. Also investigated Apparance plugin to test if it was suitable for the project.
In a different prototype project, modified procedural dungeon generator to suit project prototype.
AI: I have written simple AI behaviour for NPCs and Enemies using the behaviour tree. Used MassAI framework to implement pedestrians and traffic in a prototype project. The traffic and vehicles were implemented usinf the Traffic plugin from the CitySample project.
Inventory system: Extended an inventory system to make it more generic and accept different pick up types. Inventory supports picking up collectables, dropping a quantity and stealing from another player's inventory.
Network Replication: I have an excellent understanding of Unreal Engine's Networking. I have written network optimised code for all features I have implemented while at Sumo. I have also implemented Lobbies with Split screen and networked co-op in the same game and used EOS to playtest the game remotely with my team mates.
UI: Implemented UI as required in Unreal Engine. Proficient in UMG and Slate. Also worked with Noesis to implement UI for an in house engine written in C++. Have also used ImGui to create debug menus.
Code testing and debugging: I am good at testing and debugging my code and other people's code. I am also good at finding solutions for issues and implementing them quickly.
Miscellaneous: Created animated materials for prototypes (like Sine waves, animated arrows, etc.). Created particle FX using Niagara. Modelled and rigged a simple truck in blender for a prototype. Extended a prototype ability system to work in a online multiplayer game and created custom skills for characters. Worked on creating simple cinematics. Implemented a simple Interaction system that can work in multiplayer games. Interactions happen on the server only. Made split screen extend to a second monitor.
Brighton (Remote), Jan 3rd 2022 - Sep 30th 2022
Worked as the sole programmer for a JRPG project. Works include:
Ability system using GAS: Used Gameplay Ability System to implement abilities and effects for the JRPG game.
Custom import tools: Designer wanted to use spreadsheets for managing all skills and effects so I had to write custom import tools to import csv files and parse them into data tables. Abilities and effects were gerated from this data table during runtime. This was easy to do because of GAS's design where effects are just templates and effect specs perform the real calculations. This was then extended to import characters and items.
JRPG systems: Learnt JRPG mechanics to implement a Action Speed based Battle System. Created character and party management systems.
UI: Implemented UI to view and modify character stats, statuses and abilities. Implemented UI to edit party. UI works with mouse and keyboard and a controller.
Inventory: Implemented a inventory system to manage items. Item types are defined by classes. Item definitions (for eg: whether a potion affects health or mana and by how much) were obtained from data tables. Items can be made use of in battles. Items can also provide passive effects.
(Remote), Sep 1st 2020 - Jan 27th 2021
Worked as the sole programmer for a mini golf game project. This was my first major project and I learned a lot from the experience. Game is available to purchase on Steam: Golf Party. Works include:
Gameplay: Implemented all gameplay including mini golf, light ball (a tron-like game mode) and racing. Implemented cosmetics and currency management. Setup collision systems for dynamically generated wall collisions in light ball mode.
Tooling: Developed spline based tools for the race track in racing mode.
Steam integration: Integrated the Steam SDK for the game. Wrote tools for micro-transactions and managing steam inventory. Used Unreal Engine's steam plugin to manage stats and achievements. Used steam presence to invite players directly from the game.
Multiplayer: Implemented Lobby, game hosting and finding games.
UI: Implemented the entire UI for the game. UI is designed to be used with the mouse. UI art assets were outsourced.
Miscellaneous: Designed levels for the game. Optimised lighting and performance for said levels. Used Cascade system for particle trails. Created animated materials.