Chris Sprance

Character Technical Director


Atlas Parser/Viewer is a Python/Electron/Typescript project used to collect meta data from game files and create actionable data points.

The parser is written in python and can parse all of the game files and extract specific data points from those files it then inserts into a sqlite3 database.

This then allows artists to open up Atlas Viewer a program written using Electron/Typescript/React to then view the metadata collected from the game files and run SQL queries to gather data to be used to help target performance issues or general problems.

Some common queries that are used are:

Find any images that are larger than 2k and do not have a reduction setting.

FROM textures
WHERE image_width > 2048
AND reduce LIKE "0"

Find any lights with really large radii that cast shadows. These are very bad!

SELECT `radius` , `name`, `pos`, *
FROM `Entity`
WHERE `EntityClass` LIKE "Light"
AND CAST(`radius` as INTEGER) > 70
ORDER BY `radius` DESC;

Find any materials that are missing surface types. This causes ugly missing surface material decals to pop up.

SELECT filepath, id, *
FROM Materials
WHERE SurfaceType IS NULL and issubmat like "True"

Created with: