This game is unannounced and I am under N.D.A, so I cannot share any media or priviledged information about this game. Apologies for the abstraction.
The unannounced sports game is dependant on the levels being 1:1 with their real life counterpart.
The goal of my feature was to automate the process of creating these levels, as doing it by hand was taking years. Now levels can be created in seconds upon the user's input of the chosen level.
Hooked up the client to a third-party API that provides real world data and created a system to translate this data into Unity readable data in order to create the levels and actually be able to play in them by reusing the other existing features of the game.
Created and designed Unity Editor tools to automate the population of relevant data in our backend servers.
Created a mini Addressable management system reusing the current addressables implementation in order to manage all addressables for the specific levels and their different biomes (tropical, forests, etc)
I also Designed, Implemented, and Mantained this feature including but not limited to:
Different type of level filters: Region, Difficulty, Biome, etc.
Optimizing loading times to be under 15 and even 10 seconds for 4k level sizes.
Backend optimization for a lot of overhead from old code. (duplicate data, SQL inefficiencies, incorrect backend code designs, giant inneficient JSONs with 4k textures).
Created a feature to automate the creation of minimaps & thumbnails for the levels. The existing features used images of the level instead of dynamic minimaps so this was requested by the Design department in order to avoid work load for all the automated courses.
Created, synchronized and mantained the Minimap Generation Tool that included but was not lmited to:
Checking if the requested level already had a minimap &/or thumbnail attached to it.
Fully automating the creation of minimaps based on specific game data. Used a lot of 2D geometry with some minor height calculations in order to make sure the minimap always faces the right way and encompassed the entire section of the level.
Created a tool for the camera that allowed Artists & Tech-Artists to setup frames for the thumbnail generation (e.g: I calculated the position for the thumbnail generation based on a Design, and then the tool would slightly optimize the angles & capture targets of the camera based on the inputs of the Artists.)
The tool automatically posted to the backend on creation, meaning if ANY one user played the level the next user would not need to generate the minimap again as it would be taken from our backend.
Extended the implementation of multiplayer Lobbies by using Unity Gaming Services: Lobbies & Relay to be able to be used online rather than just couch - coop.
Created, synchronized and mantained the entire handling of Online Lobbies, including but not limited to:
Synchronizing all UI relevant data
Synchronizing all gameplay relevant data
Adding filters by level type, players, game modes, etc.
UI Fixes & new UIs
Fixed a lot of UI bugs caused by the UI management classes not taking full advantage of inheritances.
Created new UI's for filtering levels, filtering lobbies, changing settings, etc.
Implemented reusable search bar for all selectables in the UI's.
Backend
Minor fixes and optimizations for the backend in order to bring it up to modern standards.
Had to re-learn PHP and used a lot of SQL.
Geometry and Math:
Created a new system to check for out of bounds in levels based on polygonal math.
Agile
Assited in organizing the team while we went thru a period of not having a lead.
Took down minutes from a big portion of sprint meetings, helped organize the team's tasks for Sprints and created new tasks based on priorities from stakeholders.
Hint:
You can remove this information by activating Premium Plan