How We Made a Real Life Accurate Virtual Environment in CS:GO
October 9, 2017
Unlike many other artistic mediums, computer games often mask the complexity of research and decision making behind the interface of rendered sights and sounds. In the spirit of the online modding community that helped us along, we are sharing some of our behind the scenes process in how we accurately transferred a geographical location into a game, and how we responded to the sensitivity and controversy of putting such sites into a game like Counter-Strike.
After hiking through the redoubt and tunnel system ourselves, we found that a team from Hong Kong University, with members from the Department of Architecture and the Department of History had done extensive research into the structures and had been lobbying for preserving the redoubt as a heritage site. As part of their preservation effort, they produced a geographical survey of the site. We politely asked to borrow that data.
Upon receiving the AutoCAD data, we had this information transformed into 3D polygon files. Initially we thought the these files would easily import into Hammer (the game engine for CS:GO), similar to how 3D game engines such as Unity (popular game engine) now build their virtual worlds.
Throughout our project, we were often told that it would be easier to simply recreate this digital environment in Unity and release the artwork as a stand-alone piece. Whilst this would have indeed been quicker, our intention was to situate this environment within an online game community that not only has millions of players, but also already has highly developed expectations of how 3D space, movement and gaming should interact. This was a realm that we wanted to interact with. Also, given that we are recreating a military site, the overlap of the original site design and the function of the computer game provoked our curiosity.
However, Counter-Strike and the Hammer engine are older technologies that have been built to optimize fast-processing for players and not for recreating the subtleties of real-world geography. Hammer would not allow us to import our 3D files, it filled in our tunnels and turned them into solid objects (Hammer cannot render physics for concave shapes). Think of it this way, if we had an open cardboard box in a map, you would not be able to step inside it because it would register as a solid cube. If we imported a table, a player could not crawl underneath it. The first image is a table that the game interprets as a single block with no legs, reminiscent of the Rachel Whiteread sculpture in the second image. In the third image, the table is made from 4 vertical blocks and 1 horizontal one as can been seen from the black wire frame, forming a table that a character could crawl under.
Learning that we could not simply import our converted architectural files into Hammer, we realized that it would be most computationally efficient to rebuild each tunnel within Hammer, using orthographic co-ordinates rendered from our survey data, and converted into the measuring system of Hammer (known as Hammer Units). Because our map uses real-world geography, it is significantly larger than typical Counter-Strike maps, and therefore more vulnerable to limits of processing and crashing errors. For these reasons, we built strictly according to the internal logic of Hammer and it’s grid system. To retain our accuracy to the site, each tunnel was rendered as a top and side view, rounded to the nearest Hammer Unit, and using Excel spreadsheets, we created a co-ordinate system for each tunnel and bunker, that became a precise guide for rebuilding the Shing Mun Redoubt in Hammer.
Through this painstaking process, and we discovered very clearly the difference between the stripped-down abstractions of space used in most Counter-Strike maps, and the meandering unpredictability of real world geography. Due to the limitation of the medium there were a series of non-negotiable angles that we matched as well as possible according to the grid; and because we stayed on the grid despite having a complex map by gaming standards, we maintained a stable geometry onto which we would be able to add our own props, sounds, and lighting effects.
(Your usual Counter-Strike Map is designed off a grid, creating a geometric abstraction of space)