Archaeogaming: Tools and Methods
Today I was interviewed by Nora Young, the host of CBC Radio’s Spark, a show about bleeding edge technology and futuristic trends. The episode should air on Friday, September 25. […]
Exploring the archaeology in (and of) video games.
Today I was interviewed by Nora Young, the host of CBC Radio’s Spark, a show about bleeding edge technology and futuristic trends. The episode should air on Friday, September 25. […]
Today I was interviewed by Nora Young, the host of CBC Radio’s Spark, a show about bleeding edge technology and futuristic trends. The episode should air on Friday, September 25.
Young, being astute and smart, asked the question I (and others) have been pondering for years regarding archaeogaming: What does it mean to “dig” within a game? What’s the dirt archaeology equivalent? This post creates an outline of tools and methods, and raises issues that make archaeogaming different from more traditional fieldwork.
Tools
Meatspace field archaeologists use some (or all) of the following tools in their day-to-day on-site: shovel, trowel, screen, brush/dustpan, dental pick, pick-axe, tape measure, line level, plumb-bob, camera, computer, notebook, transit/total station, drone, as well as remote-sensing equipment and other specialized tools. Most of these tools are useless when in-world, unless a game uses these as part of its archaeology game mechanic where players can pretend to excavate and recover artifacts.
What about tools used for archaeogaming? For now it’s a computer or console (likely both), a pointing device, and software for capturing screens, audio, and video. Services such as Twitch and YouTube Gaming allow the archaeogamer to live-broadcast an expedition to the public, as well as hosting edited videos. Public engagement is a key to the survival of archaeology anywhere, so having a public channel for excavating in virtual spaces could be helpful.
The coolest (and obvious) tool? Archaeogamers have drones, too, namely flying mounts or ships that allow one to hover over something or fly by it.
As of 2015, our toolkit is nowhere as big or as useful as it needs to be. We need archaeogaming software, and we need it now. I propose that we need the following four apps/mods (to be shared as Open Source), and hope that we can work with the GitHub community to make it happen:
Overlay: This will place a grid over the screen to assist with documenting where things are. It can also be a “smart grid” that can expand in three dimensions to reflect the landscape/topography of a space on-screen.
Smart-Measure: In-world distances vary game-to-game. This app will allow you to assign a unit for a distance of measure, converting it to English/metric units for perspective. The tool can be configured to record “as-the-crow-flies” distances as well as real distances over in-world topography, much like what is available in Google Earth. Other parameters can include volume and area for a user-defined space, or guides can identify and snap to borders for a room or region.
Smart-Clock: Time works differently from game to game, and often does not reflect the passage of time in meatspace. The clock app will keep track of both real-world time and its passage in the virtual world, displaying both side-by-side. Screen- and video-captures can include this data for record-keeping purposes, much like one sees on DVD “screeners” of films. Come to think of it, recording frame-rate and number might also be helpful to the professional archaeogamer.
Code Loupe: The code loupe will be a reticle that the archaeogamer can position over an area on-screen, revealing the underlying code created to generate that feature or gamifact. This could then be exploded into a split-screen window for reviewing code while seeing the environment created by it.
Others will have ideas for other apps/mods to add to the archaeogamer’s toolkit. I am happy to add them here as part of the wish-list.
Methods
Any tool used by an archaeologist (including Wii controllers . . . ) must help answer issues that are universal to archaeology in both meat- and virtual-space: recover and document artifacts and their context, analyzing assemblages and stratigraphy to make connections between their deposition and history of manufacture/use.
We need to be able to discover, identify, and record stratigraphy, context, features, assemblages, deposits, intrusions, spits, and artifacts, clearly defining what those are within the archaeogaming vocabulary, making these intelligible to meatspace archaeologists and the public at large. There will be some natural overlapping with archaeological survey (fieldwalking) and landscape archaeology, and exploring the history of use, be it an entire game, or something found within the game.
When archaeologists dig, they can either do so carefully, being mindful of stratigraphy, or can dig “out of phase”, plunging straight down without regard to stratigraphic layers. I would argue that archaeogamers can “dig” in phase, especially when dealing with variations in game-builds and versions. Seeing something in version 1.0 might be gone in version 2.0. Revisit the findspot between versions. This is not unlike removing soil above an artifact, recovering the artifact, and then continuing down. In games, there really is no gravity or centuries of accumulated dirt. There are, however, layers of versions. This creates archaeological context within a game when viewing the game as an archaeological site.
I think what archaeogamers are doing now is very much in line with the New Archaeology of the 1950s – basically processual. Lord Colin Renfrew once noted that processual archaeology investigates “historical processes that are at the root of change.” For archaeogaming, we can explore change of the games, and of the cultures within those games, using artifacts as evidence for that change, understanding the shared histories of games, gameplay, environments, created cultures, enclaves, and economies.
This is really no different than what traditional archaeologists do each day in meatspace. Archaeogamers just happen to be asking these questions in a contained world. Think of it as astrophysics and quantum mechanics: the universe without, and the universe within.
By the time procedural games (No Man’s Sky being the first of this new wave) reach the point of truly creating evolving cultures that contain everything from day-to-day goods to sacred architecture to everything in between, it is my hope that we will have also evolved our tools and methods to best record and explain what is happening and perhaps why. My personal stake in all this is applying archaeological methods to understanding machine-created culture, and how computers and consoles interpret code to create things that the game itself will find of use and apply within the rules of a manufactured, open, virtual world.
UPDATE: I have also been thinking about rules and tests for archaeogaming. The first is Turing test for built environments. Can a virtual space truly me into thinking it is “real”? This is what some game devs are looking for in their design.
-Andrew Reinhard, Archaeogaming
Hmmm, I’ll add Bluestacks to the list as a way to capture Android games (http://www.bluestacks.com/), and Open Broadcaster Software as a tool for screen capture/livestreaming.
RE: Recording stratigraphy & time change in games, I suspect that will be difficult in non-persistent games (MMOs and the like). Many games just have states and no real-time change, just a variable state of “does the player have object X?, then say audio_42a.mp3.” What ways of documenting change exist in games that use state machines for events? Many, if not most of the landscape has no topography are just facades on top of modelled surfaces -MineCraft being a notable exception.
So. I have been following this blog for awhile after my friend introduced me to it as being somewhat tangenetal to what she does (which I have an interest in). Now, most of your posts are really enjoyable, informative and thought provoking, but as a game developer I don’t even really know where to begin with this one…
Your idea for a code loupe is kinda funny unless you either had access to significant amounts of black-magic, you coded your game from scratch to include it, or you had access at source to the game material and managed to figure out how you could implement a call dynamically in the GUI without recursion at that point before once again overlaying it at runtime for the player (and good luck getting access to source of anything AAA… so basically you would need to design your game around this feature, which could be kind of cool as a teaching tool for how code operates in specific situations, but I digress… or if you are building your own game from scratch to implement this in I really don’t see the point of this “tool” as well, you would have access to the source and it would be 1000000x easier to jsut signpost it)…
However… It seemed however like you were trying to imply that you would be applying this to existing games… which… yeah… no… games dont work like that… compiled non human readable c++ is not going to be in any way useful to your archaeogaming… plus when you say *the code that generated the artifact*, im not sure exactly what you mean, or probably more specifically that you dont really seem to know what you mean by this? The engine source, seperate scripts that your loupe somehow knows to select or display all of the many variate scripts which act on it – potentially originating from multiple actors which would be dynamically being influenced… how would you even go about capturing that? Yeah. Me either. Honestly I think there is somthing in the idea of trying to look at how code and rendered interactive mesh up and what that might mean, but you arent going to achieve that through this loupe – design from the ground up with this specificlaly in mind, maybe you could find a way… but still… perhaps blueprint flowthroughs would be more interesting than straight code… I digress again…)
The remainder of your ideas are either easily in existance (FPS counters, time overlays etc), more difficult to implement natively than it would be to just spend 10 minutes doing some calculations outside of game, or, would once again, require access to source to implement in the way you seem to imply.
As the guy above pointed out – much of what you are doing is dependant on the system in place per game… so… you would probably (I say guardedly because I am not familiar with archaoelogy at all) want to have an external system for recording OR to go back to my earlier comment, make your own game from scratch and analyse how you constructed your sequences in that… etc etc etc
Next point: No Mans Sky is certainly not the first of the *new procedurally generated wave* and there seems to be a misconception with what that actually means with regards to your ongoing commentary. Yes NMS is a friggin AMAZING implementation of it, and I would kill to get my hand on their generation algorithm, but really, its still just a bunch of guys and girls who coded this thing up to use mathematic principles to operate in this way, not some hocus pocus magic that pulls brand new things out of thin air or evolves them through equal amounts of nothingness… In all honesty the most interesting thing that you seem to completely brush over (rather than *how machines create things useful to games*) is understanding why and how us programmers craft procedural code and how that compiles to be played – black-magic enacted by computers, procedural generation is not, creation from plans laid out by programmers, it is. The tension between what is coded and what players interpret or play is a genuinely interesting question, but that relies, once again, on access to source.
Finally – nobody in the game dev industry likes self proclaimed “ideas guys” – the people that come up with ideas and make statements about who and how they will be made, but don’t have the skills or desire to enact them themselves, therby making it someone elses problem to make *hopefully we could work with the ill-defined github community who are probably just waiting for a great idea to make… … … …*. I would love to see archaeogaming be a thing, it genuinely sounds really interesting, but please, please, please take the time to get to know the subject from the ground up, or at the very least to really talk to people who are involved in the industry and work with them from the ground up so they can help you get the basics down.
Thank you “k” for taking the time to reply to this post. A big reason for blogging publicly about archaeogaming is to get constructive feedback, and I am glad to see that there are other people reading besides my parents! I use the blog as an open sketchpad, and it’s no secret that I have been hoping for not only feedback, but pushback on some of my ideas. So thank you for this, especially because you are a game developer — an audience I have been trying to reach, but with little success. To address your points:
The “code loupe” really is science fiction — I know that, but the concept of identifying the code underlying something that is viewable/clickable at any given moment does have its appeal. Perhaps a split-screen for all of the things going on behind the scene. But then again, games are largely proprietary, and getting that kind of source access really is not going to happen. Ideally I’d like to see why something works (or doesn’t) from the mechanical angle and at the code level, saving that snippet or whatever for future study.
Although I am not interested in making my own games from scratch, I am struggling as an archaeologist to find tools that can assist with data-recording that go beyond the note-taking and audio/video/screen capture. Part of archaeology is to record context in how an artifact relates to other artifacts in its surroundings. In a game, one needs to record the time and XYZ coordinates of where the player is in relation to what’s happening so that other archaeologists can replicate this (or try to) on their systems, etc. I don’t know if or how this can be done, but it’s important for recording purposes. I would have thought that underlying systems like this would be in place for game development and QA testing that goes way beyond just build numbers, and I assume each game developer has its own system in place. Each game will require its own version of the archaeogamer’s toolkit, whatever that turns out to be. The prospect is scary.
“Access to source” is an excellent phrase, and one that haunts real-world archaeologists. Our lives would be made a lot easier if we had access to those primary, Ur texts. So it is with archaeogaming. I would love access to source code for any procedural game. And I agree 100% with the questions that you think we should be asking. I’d love to find those answers. I am still keen to see how human-authored code generates cultural artifacts in a virtual world, and what rules are applied. I know it’s not magic, but at the same time, I am curious to see why certain artifacts or architecture appear in certain environments.
As for learning game development or talking to developers, I am right there with you. I will keep spitballing ideas here on the blog until somebody like yourself takes me to task to tell me why I am wrong, or am going about something in the wrong way. You are the first (and only) developer to get in touch since the blog launched in 2013. Hello Games replied to me once, so that’s a start. But nobody else is giving me the time of day. Goodness knows I’d like to do this right. There are others doing what I am, too, but have more developer street cred. They also have NDAs and so can’t write in much detail about what they’ve learned, which is sad, but I get it. My days of writing silly games in Basic and Pascal date me. If we are going to treat games as artifacts, then let’s start building that vocabulary and those relationships with the developer side of the equation. Otherwise it’s just speculation, and I’d rather not have developers pissed at me.
If you’d like to continue the conversation, or if you can put me in touch with other game developers, please email me directly at archaeogaming at gmail dot com. I need that kind of input to make sure that I keep myself on the right track.
-Andrew
Thanks for the reply! Ill keep this one a bit shorter, tho just as brutally honest coz it seems like it is kinda helpful? Plus, yay, first! 😛
first issue: You say that developers havent been in touch… my advice on this one is to talk to the person I assume is our mutual contact, who I will call Inga here, (being she introduced me to this blog I assume she probably knows you and im not sure archaeologists doing that kind of research that require a stack of game-company NDA’s are really that common) about how to traverse this space as it seems to be going k for Inga, she knows me after all 😀 Anyway… my two cents is that if you want developers to talk to u u need to do somthing that is relevant to them . I know you think what you do is important and relevant (I kind of agree, to a point) but its not immediately important or even really that interesting to game dev on the whole, like if i didnt know Inga I wouldnt take the time to read or reply to this despite working on somthing that it has more than a vauge relevance to.
We will still make our games the way we want to, elder-scrolls and nms and every other game will still exist and make money regardless of what you want to do or say about them. Unless YOU are indespensible or offer us somthing we cant do ourselves or whatever we probably wont give it the time of day. Got other stuff to do. It takes a ton of time, effort and legal to reply or give people access to stuff (even our opinions), not to mention we walk a fine line with our NDA’s all the time, and god knows I have little energy to deal with that stuff at the end of the day, unless it is in my interest. I really want to talk to you, but im not going to go out of my way unless you have everythin in place so its important and easy and relevant for me to do it.
So point is that the way I sees it you have 2 optns: option 1: find a way to make ur stuff integral to the actual dev stage from a game developer point of view which requires first of all knowing a game dev perspective – goodluck. Option 2 is to just throw yourself at the industry – go to game jams, offer to help at game jams, go to conventions, go to GDC, bash your head into walls, jump through hoops, do whatever you can – until you make the contacts at the grass-roots level that will introduce you to the people you want to know higher up the chain. Option 2 is how I met Inga – after 2 jams of her being around I finally saw the value in her stuff rather than being like wtf are you even doing here. There isnt really a shortcut if you want to talk to us devs, especially anyone at AAA levels. My time is tight and we recieve a lot of emails wanting stuff from us – press, comments, requests, all kinds – i straight up delete all these without reading them, which is what i assume happened to your emails to whoever you tried talk to at blizzard. basicly its about who you know and how relevant what you know is to them. If you dont hav the time to do this then by all means keep throwing your ideas out there, they are probs valuable for academic stuff, but dont expect anyone from dev search them out, or for stuff to get made or anythign we do to change. Ideas arent what our industry runs on.
In saying that, I will try to read and reply to your blog more when I can coz id like to see somthing come of this. it is interting. I will encourage teh guys I work with to do the same. But tbh its not our responsibility or in oiur job description to search you out and put our time into engaging with ur academic stuff when what you have been describing and actually wanting is a lot of time and effort from me (in my “free” time coz i cnat do it on company time) and my industry (which is notoriously hostile to external parties). This is on you if you want to make it happen, sorry to be a party killer.
As 4 email I would hav to set up a new email with an alias as, y’know, NDA’s make it difficult to use my work one and personal email linked to my name is traceable to the company I work for. I mean, thats all ok if its an in-person thing based on a mutual project, but being approached for information in a research context straight away is like a NDA breach heaven that im not really willing to deal with unless I really know you and have somthign to gain from it 😛 I wasnt fucking round when I said to talk to Inga about how she managed to deal with all this for her research as its a minefield.
Second point: im going to go out on a limb here and say that you arent a wizz in c#, javascript, c++, boo, unreal or any of the other flavour languages used in dev. and if thats the case… so… what good is looking at code going to do if you cant read / write it yourself? Like, not to be a dick about it, but how useful is a tool if what it pulls up is still jargon, or if you can only understand some of the most front-end of var and params? I say this because code works at a different level to what I think you think it does based on my assumptions from reading… im dont a bad job explainin this, but im going to try again anyway, its like, a object in a game, will have a ton of front-end scripts that act on it – some of these are directly whilst others are influencing things in the world around that influence the object and how it works in turn and the way these order and execute is often complex – and a bunch of hidden in-editor stuff that is applied that isnt in front-end creator code and then theres all the back-end engine stuff… so you cant “just see what is happeneing behind the scenes” coz there are layers that are hidden or innaceesible to everyone unless you are engine programmer who has the source for that too and understand it… I mean, I dont even know how half the stuff our engine programmers make interacts with my front end stuff and god knows i have no idea what is happening in 9/10th of our code that isnt stuff im directly responsible for… Anywya. best bet is to just excavate teh front-end accesible code on smallish projects or games. We have allready crossed off that you wont get a reply let alone source access from the big guys… So best bet is to talk really nicely to some indie devs or even Inga and ask to excavate their source with them (I actually worke don a procedural game with Inga which i would be willing to talk through with you both if it would help). Also check out the blueprint & visual scripting system for sample projects in Unreal as this might be a good route if you dont do code to start with and might give you some other ideas for how to go about approaching this whole code, game, archaeology thing.
I get your thing for needing tools, and yeah, we have debugigng tools and stuff – most of which is totally useless to what you are talking about and most of the basic date/time/location stuff can pretty easily be pulled from console and pushed to logs. its not really a seperate software undertaking as much as you learning the process to do that for whatever you are applying it to. which brings us full circle to the whole *to know what tools you want for doing game stuff you need to know how games work*. I guess its a matter of taking a step back and rephrasing teh questions… like, rather than *these are the tools do i need to do archaeology in games and then finding out the tools ownt be relevant or work or whatver* its more like *how do games work and how can tools be made to do archaeology there and then thinking about why that is the canse and what that might impact for yuour archaeology stuff*? I dunno. Im out of my depth at this point.
Hi, and thank you again for the reply. I’ll be in touch with Inga this week. I don’t expect that gamedevs will give two hoots about what I am interested in, but that’s fine. Ancient Greek potters would probably be mystified that dirt archaeologists continue to make such a fuss about stuff they were doing. I understand. I also understand that gamedevs want to focus at the job at hand and have less than zero time to give, so I’m thankful you’ve given me this much. As an archaeologist, I am pulled in two directions: 1) I don’t want to interfere, because that disrupts the natural flow of game production, and I am interested in seeing how that plays out in the end product and subsequent updates/releases; 2) I am concerned about the destruction of cultural property. Goodness knows I’ve looted my fair share of temples, etc., in-world, and it’s super-fun. At the same time, I wonder if a AAA publisher would consider adding achievements for protecting heritage in a game. Granted, it has to serve the game and make sense in that context, and you still want the game to be fun and with complexity to keep things interesting. So that’s a fine line to walk. But I take your point about coming ready. I think with each post I do and each person I talk to, I get a little closer to that point. I’ll work the network as you suggest. That’s how all good things happen, and it is something I care about enough to make the effort. You’re not being a party-killer; you’re being straight up with me, and I appreciate it.
As for coding, this is really something that I need to do, as you say. Compare this with an archaeologist who needs to teach him/herself Akkadian in order to read cuneiform tablets. There’s no shortcut; it’s a brute force attack on linguistics and syntax. This is no different than coming at the Unreal or Unity engines, or even starting at the baby level with mods for Steam games, just to get under the hood. I’ll look at the Unreal engine soon, and will blog about it. God knows I played enough of the Unreal games back when they came out. Might as well see things from the other side.
The toolset will come along, piece by piece, but it will take time. So yes: learn 2 code, and understand the underlying processes, and go from there. I figure I’ve got at least 30 years left to figure it all out. Don’t stop kicking my ass. And one day I hope to be able to give you something you can use.
-Andrew