Luca Ian Türk
Supervisor:Prof. Gudrun Klinker, Ph.D.
Advisor:Daniel Dyrda, M.Sc.
Submission Date:15.09.2020


Competitive gaming is a growing market with nearly 500 million fans worldwide.
With professional gaming on the rise, developers are under increased pressure to create
a fair and balanced gameplay experience.

The goal of this thesis is the creation of analysis tools, which support developers of competitive games during the game design process. Although various genres are represented
in competitive gaming, the focus was laid on first person shooter games, specifically the
Counter Strike series of games.

Based on various map design guides, a number of analysis tasks were defined, notably the identification of meeting points and the evaluation of
visibility between map areas.

For this purpose, a general framework for the analysis of game maps and visualization of
analysis data for use in the Unity Editor is implemented. A uniform grid representation
of the walkable map areas, which can be generated for arbitrary maps, forms the basis of
this framework. Additional tools allow the definition of map areas and locations.

Using a Monte Carlo approach, the mutual visibility between map areas is evaluated. The
evaluation is shown to predict possible angles of engagement on the Counter Strike map
de_dust2, as well as reveal possibly unintended sight lines between map areas.

Utilizing the NavMesh and pathfinding components provided by Unity, a distance evaluation tool
was implemented. An evaluation of meeting points for de_dust2 using this tool closely
matched known meeting points for the map.

Results/Implementation/Project Description

GridMesh and Tools

The GridMesh, a uniform grid overlayed onto the walkable map area, is deduced from the Unity NavMesh for arbitrary levels. Evaluations can be performed on this mesh, and data can be rendered through the mesh in the Unity Editor.

Additionally map areas as well as groups of map locations can be defined directly in the scene view and used in evaluation tasks.


The visibility between map areas can then be evaluated using a Monte-Carlo approach. In this example the source area marked in green on the left casts a number of visibility cones to the remaining map.

Meeting Points

Evaluating the distance to the spawn point of two teams for every GridMesh vertex allows the visualization of explorable map areas for some time after spawn in a flooding animation.

Rendering the areas without overlap reveals the meeting points, here compared to those outlined in a community map design guide (in yellow).

Processing and Combining Data

Additional tools allow the processing and combining of data. In this example, distance values are transformed into a map area, that is reused in the visibility evaluation.