For the summer of 2023, I held the position of an Application Engineer Intern at TerraSim, a subsidiary of Bohemia Interactive Simulations. I worked specifically on the front end and user experience of Mantle ETM, a terrain management platform and service oriented architecture.

In my time at TerraSim, I gained valuable experience with advanced front-end scripting, version control systems, and a service oriented architecture which interconnects a multitude of products.

I learned first-hand the ins and outs of production, communication, and responsibility in the software industry. When introduced to a new and unfamiliar codebase, I quickly come up to speed in order to immediately ship meaningful contributions.

Continue scrolling to see examples of my work!

3D Tile Lighting: Problem

This 3D Tilemap is lit realistically. The sun's position is determined by the real time of day. Before I developed a fix, I always saw the sun shining on Pittsburgh, but the other side would be dark. This posed a problem for customers simulating locations overseas.

3D Tile Lighting: Solution

I iterated across multiple solutions. Manipulating the simulated time of day to reposition the sun behind the camera resulted in a stuttering background and unlit poles. Aligning a directional light with the camera's position was an improvement, but did not light areas viewed at an angle.

I settled on a solution which calculates a vector to light the global position at the center of the camera view.

Data Overlays

I added "Overlays" to the Mantle ETM UI, semi-transparent imagery layers based on GeoServer WebMapService data, allowing users to view their terrain with whichever data is most relevant to them at any given time. Overlays are easily toggleable via this dropdown checkbox menu.

Overlays were a long-time UI goal at TerraSim and significantly contributed to the Mantle ETM product. See more Overlays I developed below.

Borders and Labels Overlay

"Borders and Labels" is an Overlay which includes country borders and labels for countries, capitals, and cities. Presenting this raw data as intuitively and clearly readable to a user at all scales was a challenging process that required me to learn Style Layer Descriptor XML.

I developed the WMS to Overlay pipeline in such a way that anyone can easily configure new Overlays without delving into the details. I thuroughly documented what simple steps remain before departing.

Map Extents Inset Filter

I developed this toggleable filter which lists on the left only the insets which are in view on the right. This enables customers with massive datasets to more clearly understand and manipulate their terrain.

Updated Labels and Clusters

I updated the appearance of the inset labels such that they now mesh seamlessly with the UI and match the styling of the Overlays I developed. I worked extensively with the product owner on multiple iterations. At thier request, I conducted user testing among members of the company to discover the optimal design.

Updated Labels and Clusters

I also developed a label-clustering feature with the goal of eliminating overlapping text. This again matches the styled behavior of the Overlays and marks a great improvement in the overall presentation of the Mantle ETM UI. You can compare the updated appearance to the previous appearance as it's shown in other demos.

Updated Inset Labels

Graticule Overlay

This is another Overlay rendering the parallels and meridians of the geographic coordinate system. Each is labeled by its degree. It also includes named parallels and meridians. The graticule scales as the user zooms in and out, consistently rendering the data clearly.

This dataset enabled users essential geographic positioning capabilities.

MGRS Overlay

This Overlay renders the Military Grid Reference System, a geocoordinate standard used by NATO militaries for locating points on Earth, onto the Mantle ETM UI. The MGRS contains multiple levels of detail which are selectively rendered according to the user's view.

While this data was especially dense, requiring extra effort to compile and style, it was highly requested by users.