“Abstract processes that people have a poor understanding of, but of which datasets are available – that offers opportunities for serious games.”
So who are these people who build bridges between science, technology and social issues? That’s what we will be feeling team members and collaboration partners about in the near future. In this article: Sietse Hoekstra – Lead Software Engineer at 8D Games – on the use of geodata in games. On the basis of our educational game The Lost Collection he talks more about the possibilities of publicly available datasets, ‘euclidean space’ and meshes.
First of all: geographic data is “information with a spatial component”. A well-known example: the maps of the Land Registry, showing exactly where a certain plot begins and ends. But many more geo-datasets have now been digitised and are publicly available, for example via the Nationaal Georegister. Think of information about our inland waters, different soil types or altitude differences in the landscape.
Datasets en gaming
Information with a spatial component can be very useful when developing games. What should we imagine? Sietse: ‘A recent example I worked on is The Lost Collection,, a game we developed for Geopark de Hondsrug and Terra.Vita. The basis of the game is a mapping system; players search for different locations in the geoparks using a 3D map on their smartphone. What you see on the map corresponds to reality; you see the roads, any buildings and land type. You also see how far you are from your target destination and the map moves with your activity.’
Building the mapping system involved a lot of choices. Starting with finding a suitable dataset to integrate into the project. ‘There were a number of requirements from the commissioning party that I took into account in selecting a dataset. For example, the game also had to work offline – there is no good coverage in some places in the area – and the map only had to guide the user past safe locations, without hiking in places where that would not be good for nature.’
‘In the end, I chose a dataset from OpenStreetMap called Planet.osm. The dataset can contain – depending on the representation – more than a terabyte of information. Using BBBike, I created a crop of the required area and represented it as GeoJSON. This was to make it easier to work with the data. An advantage of such a raw dataset is that once downloaded, you are not dependent on a third party, such as Google. Suppose Google suddenly decides to make a change, it could upset the way the whole game works.’
Smart filtering
After selecting a suitable dataset, it is up to the programmer to make smart choices: which type of information is relevant and which is not? Sietse: ‘It was a rich dataset in which not all data was relevant for the functions we wanted to develop. To keep the app compact and fast, I applied filtering. The map in the game only uses information about ground type, road type and information about heights and positions. Next, I could ensure that POIs (points of interests) be generated only on dirt roads and not on larger roads. That way, you can already regulate a lot in terms of game safety and the movements people make through the area.’
Targeted use of such a dataset is also beneficial for speed and usability. Sietse: ‘Because the game has to work offline, I wanted all the necessary data to be loaded onto the smartphone immediately when the game is started. At the same time, you naturally want the game to open and navigate quickly, even on older smartphones. For this reason alone, it was crucial to be selective: what data do we really need to provide a recognisable visual representation of the area on the map? In this way, we managed to make the whole application not too heavy anyway.’
From dataset to visualisation
Once the right dataset and filtering has been chosen, it’s time to get to work on visualising that data. Sietse: ‘I did that by converting the raw data into euclidean space; a mathematical principle for representing space. Think of it this way: you start with a dataset that contains only latitude and longitude coordinates. Next, you want to use software to make sure that the computer knows how to connect the coordination points from the dataset to create a 3D representation. What is then created is called a mesh. Those wishing to know more about this should consult my blog about triangulation reading. Once you have a mesh, Then you can start determining which colours, shadows and so on to apply. This – combined with the player’s GPS location – creates a visual representation that matches reality.’
King Kong in own city
As far as Sietse is concerned, successful examples of geo-data-based games are Pokemon Go by Niantic and udStream by Euclideon. He himself has some ideas for new applications: ‘I think it would be interesting to build a game in which you discover a gas bubble in your own city, for example. And that as a player you then see how drilling affects the landscape and the soil. Abstract processes that people have a poor understanding of, but of which data sets are available – that offers all kinds of possibilities for serious games.’ With a serious look: ‘But a game in which you stomp through your own environment like some kind of King Kong or Godzilla and climb on buildings also seems like fun.’