Roames World is a geospatial data-visualisation application being developed in Unity by Fugro Roames, a company with whom I completed a 12-week internship, followed by 11 months of full-time work as a Junior Software Engineer. The Roames World team included myself and 11 other developers, split into two subteams: “Products” and “Core”.
Products handled the frontend of the application: user interfaces, usability, interaction with and usage of data made available by the application. Core, the team I was a member of, dealt mostly with backend architecture: implementing new features, improving performance, and adding compatibility with new markup languages and support for new technologies (VR, Hololens, etc.).
During my stay at Roames, the bulk of my work concerned the camera, as well as visualisation of and calculations between different geographic coordinate systems, such as LatLon and UTM.
Camera
The camera in Roames World posed countless interesting challenges, as it uses a “floating point origin” system, which is to say that the camera stays at (or near) 0/0/0, and all other objects instead move around it. When it came to implementing navigational features, such as smoothly lerping between waypoints, moving with acceleration, and maintaining inertia through camera interaction, there arose many technical hurdles that were unique challenges to overcome.
My work with the camera included (but was not limited to): refactoring old code to improve readability and performance, extensive performance & usability tests, VR implementation & integration, alternative controller support, and weekly droves of bugfixes.
Coordinate Systems
As a geospatial application, Roames World needed to expand its ability to display coordinates from just Latitude & Longitude. I refactored the existing system to also support Universal Transverse Mercator (UTM) and Unity Worldspace (For debugging), as well as adding support for adding additional systems in the future. Additionally, I implemented robust algorithms to allow for conversion between all systems, accurate to a millimetre.
Roames World is an application for business use, but you can find more information and even request a demo at their website here.
My contributions made from late 2015 – early 2017