With increasing frequency archaeologists are turning to inter-disciplinary methods, techniques and platforms to shed new light on old problems, and develop novel methodologies to answer new problems. Video-games are one such area. In the past decade there has been an increased drive towards utilising game engines, physics and imaging techniques for visualisation, reconstruction and analysis within archaeology. These implementations have met with varying success, however one aspect that has been largely neglected is reciprocity – in other words, what does, or could gaming gain from implementing archaeological methods, techniques or theories? This short blog post will give one reciprocal application of archaeological methods to a video-gaming problem – superficially demonstrating that there are avenues for interaction which are mutually beneficial between the disciplines. The given application is just a bit of fun (albeit an extremely useful one for my DotA2 plays) but hopefully will open the way to larger, more sustainable reciprocative projects that have considerably more depth!
Part of my MSc course is a module in Geographic Information Systems. During this module we were continuously asked to think outside the box, to challenge how the data is implemented, how it can be manipulated and how it can be used – all very interesting and integral things to archaeological applications. During this time I was also transitioning from being a casual DotA2 player, to starting to take games much more seriously – engaging with the meta and game theory to up my personal and team play. A video regarding DotA can be found below, incidentally the title of this blog-post comes from a modified section of the lyrics (translates to somthing along the lines of ‘were sitting here on ventrillo playing a little dota’ which was changed to suit the purposes of this blog post: ‘were sitting here on GIS doing a little DotA2″).
For those unfamiliar with DotA2 (Defence of the Ancients 2) it is a Multiplayer Online Battle Arena (MOBA) style game developed by Valve as a sequel to the original DotA mod. In the game each player selects a discreet champion who has a set of discreet skills, which are used to collect gold, level up and fight opposing champions. The arena is divide between the Radiant and Dire sides with 5 heroes per side. DotA2 is regarded as having one of the steepest learning curves in any competitive video-game due to the vast combinations of skills and items as well as the complex visualization, xp and standardized meta. DotA2 has become Valves most popular game with spikes over 600,000 concurrent players a regular occurrence, and in excess of 7 million discreet users every month – all despite the mountain of effort it takes to go from complete n00b to competent enough that teammates don’t cry “plz report this timbersaw idiot omg rr” every two seconds.
I never played DotA, or HoN or any other such game. Indeed I was a pretty adamant member of the glorious First Person Shooter (FPS) master race until getting introduced to DotA2 at i49 LAN in 2013 -where I was sat next to a highly ranked DotA2 player and got dragged into some team matches as a “space filler”. Despite not having a clue what I was doing the experience was fun enough to get me hooked on the game, and ever since I have been slogging my through the steep learning curve.
Fast-forward to last week. I was sat watching a replay of one of my games – in this particular game I was playing support and was responsible for warding (a process in which you place sticks in the ground which give you vision through fog of war (you can only see in a certain arc around your hero, outside of that its greyed out unless you have wards. This vision changes at night and per-hero and is blocked by cliffs and forests), or alternatively reveal hidden units within a given area). As I analysed I found myself pausing and hovering over the wards to see what my ward positioning was revealing and how that either assisted or degraded my laning (early phase of the game where you play in a set lane) experience.
As I hovered over I noticed that the wards displayed the full circle of vision – which is not representative of the per-ward visible area due to topography and assets such as trees disrupting views. Which got me thinking – I have used a tool within archaeology which calculates visible areas based on elevations. A tool which can be used to code areas of the map, run cost-paths to figure out shortest or least-effort routes and calculate a range of other variables – this tool is of course a GIS program (I used ArcGIS, but there is also the open-source QGIS etc).
So I began my process by deviously extracting a map from the in-game HUD (heads up display) and extracting unit measurements from the hammer-files (map builder). Unfortunately the map units were all in hammer-units which don’t really have a direct conversion to real world measurements (they kinda do, but its dodgy at best and didn’t work at all for this project) – So I created a small algorithm which transformed the map units into a workable set of parameters based on some assumptions regarding hero height, speeds and RL proxies. This data was then imported into ArcGIS where I arbitrarily referenced the map to the O2 stadium in London (the map space works out to be approximately the same size as the 02 including all its surrounding buildings and land). From here I digitized each section of the map to its use (ie. Is it used as a shop, or a lane, or a juking path), mapped in where all the static objects (camps, towers, necessary wards, runes etc) and then coded in elevation data (extracted from the hammer files and then converted into semi-believable real-world units). This elevation data was then interpolated to create a raster DEM.
After this I used the DEM and the land-use digitization to create a map of passable + non-passable locations to more clearly show areas that your hero can, and cannot walk.
Finally I used the DEM to start producing view-sheds. The first set of view-sheds that I ran were on what are commonly refered to as “necessary wards” – those wards which watch key areas of the map such as the Runes or inner jungle camps – the results of these were then ground-truthed in game and found to be extremely accurate (within 1/8 of a unit). The next set were run on the most common of the “situational wards” – wards which are used in certain situations, but are still common, such as those to block jungle camps from spawning or watch key walkways so you can predict fights etc . Finally I compiled a data-set which was every ward I placed during a game and conducted viewsheds on each of those.
The first thing that came out of this was gaining a really in-depth understanding of the map. Despite the game being conducted in a top-down way I had never really engaged with the landscape academically – never studied it or tried to identify the landscape in a meaningful way, until doing this analysis I just played the game with the landscape as an incidental aspect. Following the analysis I discovered how imbalanced certain parts of the map are, got a in-depth perception of how far certain areas are away from others, how terrain affects movement over the landscape and all the small “juking” areas of the map which are difficult to locate during the “omg im going to die PLZ HELP TEAM OMG TIMBERSAW USE UR ABILITIES PLZ QQQQQQQ” moments. Hand on heart my gameplay has improved significantly since looking at the game as a landscape-archaeologist rather than just a gamer.
The next thing to note of the results is that it ratified why certain wards are deemed as necessary vs those which are situational – the patterning was equal parts to do with the amount of visibility produced from a single ward, but also on the type of thing it was watching – the ward spots for watching rune are both located on up-slope areas so have fantastic views over river, but they also watch highly contested resources – placing the wards elsewhere would severely hinder a teams ability to contest or predict contestations. Those which are situational don’t so much cover the greatest area, or the greatest resources, but rather serve a particular function – in the case of blocking jungle camps they serve the function of preventing a camp from spawning, so the primary focus is not visibility and thus placing it on a tree-line (cutting out half the view or more) is in keeping with the purpose.
Through the analysis of my own ward placements in a single game it was shown that I was missing crucial spots through lazy and misguided placing – by sitting down and experimenting with how the views changed based on placement I was able to construct a table of “ideal” viewshed and “ideal” function factors per-lane, per-phase. As the meta of the game develops there will be more opportunities to test developing strategies and write them into the regression – but for now the outcome is that there is a workable set of the ‘best’ ward spots (where best is a factor of both visibility and function) which in turn means I will be receiving less “OMG CM WTF R U DOING, STPD WARD IDIOT, PLZ UNINSTALL” messages. It also means I am now able to gently educate fellow players with words such as “OMG Y U NO PLACE 2 UNITS TO SIDE, DNT U KNOW IT’S THE OPTIMAL SPOT SCRUB, UR MISSING 4% VIZ FROM THERE, PLZ GO COTCH IN JUNGLE USELESS SPRT”.
So this is all actually really cool and interesting stuff for game-nerds. Being able to see where the best spots for wards are is amazing. Being able to test what you would be able to see if you put a ward in a particular place is mind-blowingly useful. And with a little bit of tweaking it could easily be made to show what a hero can see – a function which would help explain the outcomes of certain encounters, and assist in planning routes for future games. But this is too much responsibility for one person to dish out on a per-analysis basis. So work has started on making all the work available in real time, online. So basically you can drag and drop a point onto the map which will update to show the visible area of that point, and you can change to indicate if it’s a fixed viewshed of a ward, or a variable visibility of a hero (change for unity type and day/night cycle). Understandably this is more difficult that it would seem and so it might be awhile before full functionality is available, but for now I almost have a working model of the primary, situational and sample ward placements (hopefully will be up and running properly within the month). But I do still need to finish digitizing the whole map (to include the dire-side). Future Tara’s problem.
Yes. This is an extremely superficial application of a tiny bit of archaeological theory and method to gaming (and admittedly of a technique which is already borrowed from out of discipline already). But despite its superficial nature it has produced a set of results which are intensely useful for a multitude of players and has fundamentally changed the way which I interact with game-landscapes. The project by no means represents a end-point or even a real recursivity between gaming and archaeology, but rather represents a small token effort towards showing that there are grounds for producing interesting results between the disciplines in a way that is not a simple one-way-street.
Anyway… Enough waffling! Time to go play DotA2. This time armed with knowledge. And as we all know – knowing is half the battle.
As always if you want to know more just hit me with a message and ill be happy to talk it up :)