Wednesday, April 26, 2023

A Lesson in Cartography in Potato Land (2012)

Filed in Developers' diary by Dan @ 12:55 pm UTC Jun 21, 2012

Cryengine? Unreal? Reality, and it is going to stay out of reach for some time in this level of detail.

You are Krutor, a wild barbarian from the land of Morkroch. You have travelled a very long journey, across high mountains to the famous imperial city of Lhota, the capitol of the world and largest agglomeration in the known universe, whose fame touches the stars.

The city consists of precisely fifteen buildings (one of which is the imperial palace); the town is inhabited by 30 NPCs, including Emperor Lojza, Archmage Lotrando and all of the members of the guilds of thieves, mages and warriors.

You visit the emperor, who sits alone in the throne hall, and he assigns you with an quest. The land is terrorised by an evil dragon from hell and Lojza is powerless. He has sent an entire imperial army against it, but the monster has killed all five soldiers. Now, he needs a hero like you! You have to find and climb the mystical mountain, Lohen, on which no human has ever set foot, and behead the dragon.

You accept the quest and set out from the town gate. The mystic mountain Lohen is precisely 150 metres from the gate and is about 50 metres high. All of the inhabitants of the city are either retarded, blind or crippled if they have not managed to notice it for centuries. After an approximately 30-metre walk to the mountain, you come to ‘no man’s land’ and are attacked by bandits. During another 120m walk to the peak, you also notice an ancient fortress Rumloch, a secret dungeon of doom and a bandit hideout. At the peak of the mountain, you kill a one-hundred-metre dragon by beating its foot with a rusty sword and drinking potions. Then, you rob the corpses of the imperial army (all five) and on the way back to the castle are killed by a wild boar.

Welcome to an average RPG.

Potato-Landscape Compression

You might have already figured out where I am headed with this. The design map of today’s RPGs is useless, because everything is compressed so that every ten metres you could find something fantastic or at least could be attacked by a monster every ten seconds, because otherwise it would just be ‘boring’...

This environment compression however negatively affects the graphics. In order to place a castle, cave or bandit camp every ten metres, you have to create a lunar landscape and hide the locations in nonsensical craters or beyond a hills that you must make as high as possible so that it would not be possible to see very far behind them. The result is an environment which is miles away from a real landscape, it is absolutely impossible to orientate within it without a map and in most cases looks bad. I call it a potato landscape, because the terrain surface is reminiscent of a potato’s surface.

It is probably obvious to you that what I have just described is a path that we definitely do not want to set out on. We try to make a realistic game and we want to have a beautiful realistic landscape. If you however find it suspicious that all developers would be so ‘stupid’ and do it badly the whole time instead of simply taking a real map and copying it into the game, you are right – they are not, because that is not at all so simple, and using the example of landscape for our game I will try to explain to you why.

Our game is historical and takes place in entirely specific real places. While nobody can say how exactly these places looked a few hundred years ago, rivers still flow in the same streambeds, the paths still run more or less the same ways and the towns and villages are still in the same places. And because I am a bit of a perverse pedant, I want to have it right in our game. I would not be able to claim that our game takes place in Prague and then create some nonsensical village in a potato landscape.

The Chicken or the Egg?

In the design of the plot line for the game, I therefore proceeded backwards from what is normal. I knew what I wanted to tell, but before I began to invent the details, I sought the real places where it could take place. That means the places which in the course of the time when our game takes place were the sites of something that was connected with historical events and I could graft my story onto it. Moreover, the given place had to have as many interesting points on the smallest possible area so that we would not have to create absurd landscapes of a size of tens of square kilometres and the player would not have to trudge through empty forests for hours.

A look at the first test version of our landscape, with satellite height map and a very simple texture and trees for easier comprehension of scale. The are on the screenshot is ca 1x2 km.

Since the critical events of the story take place in several locations, separated from one another by tens or hundreds of kilometres, it was necessary to decide whether we take the route of fiction and slap next to one another completely unconnected places like Berlin and London on one map of 3x3 km or whether there will be some loading in the game and the player will move along the map between too distant places. I have decided for the second version. The game will therefore take place on several smaller maps, which will be realistic, instead of one nonsensical map. The reason was not the technical limitation of the engine but simply only an attempt at realism.

Subsequently, I began to select suitable places for each of these individual maps. I read several books dealing with the events of our story and wrote down the interesting places. Then, I opened the website hrady.cz, mapping almost all of the cultural monuments in the Czech Republic, and on the map there I started from the place where the crucial event of the first location of our game took place and I started to travel systematically the surroundings to find the places that are connected with the given event and could be interesting for the game.

I went through many dozens of castles, strongholds and small towns, and with each I studied its history. I ended up with about twenty places which looked promising and I began to investigate them in more depth. In the end, I selected two locations where events had taken place that almost surpassed my expectations, and to my great joy I discovered that they are mentioned in immediately two novels which take place in the same period as our story and in whose immediate vicinity there are many interesting places and beautiful wild nature. Besides that, the fates of the people who lived there directly offered themselves for inclusion in our story.

Unfortunately, those places were about twelve kilometres away as the crow flies from one another, which is really a lot. Such a large landscape is beyond our realisation possibilities and moreover it would be completely unentertaining to play. If we were to keep to reality, we would have to create tens of kilometres of empty forests. If we planted them with something that was not in them, we would negate the reason we are sticking to reality. The time had thus come to make compromises.

The Cutting Room

I had two possibilities – to locate both places on separate maps, which in this case however would make the playing of several quests somewhat unpleasant, or do something I do not like at all – compress the landscape and change it to serve the game. I decided for a compression within reasonable limits. I took the map, cut out one location, found the most suitable new place to paste it and stuck it there. The whole time, I heard in my mind the rebukes and the ideas of how all three inhabitants of the given place who would play our game would be angry that I had butchered their birthplace, but in the end I came to the opinion that our comrades would have to cope with it somehow :)

Section of the heigth map we used to generate the terrain for our first location.

We subsequently bought satellite elevation 3D maps of the given place, which have a precision of about 5m per pixel, got them working in Cryengine and reworked them based on my 2D map. As texture, we daubed on that a historical map from the 18th century (unfortunately nothing older exists) and began to run around it with a figure.

It is rather difficult to guess from running around an empty map where one does not have the opportunity to seize on anything that would offer one an estimation of scale, whether it will in the end be too small or big and if it will be entertaining. In any case, our map of a size of ca 4x4 kilometres seemed really enormously empty. Just for your information, all of Oblivion has a size of around 4x3km and WoW (after deleting the sea) approximately 13x10km.

Learning from the Mistakes of Others

It needs to be mentioned what I actually plan to do with the landscape and what do I intend to fill it with if the space overstuffed with events and locations bothers me. What is actually ideal? Some of the few game series that have decided for realism is Flashpoint and its successor Arma. Some of my colleagues at Warhorse have experience with the development of Arma, the original Flashpoint as well as its successor from Codemasters, and so we know very well that what seems at first sight to be a realistic landscape in the first Flashpoint in fact has a greatly reduced scale.

Island from Operation Flashpoint and its real-life precursor.

Friends from BIS took a map of the island of Tenerife and reduced it 20x. They thus obtained a nice 3D map of the surface, but they did everything else differently. Large cities have become villages, high mountains small hills. Even so, the player in the game has the feeling that he/she is overcoming enormous distances. There, however, arise the reasons that realism does not have to be exactly the best solution – because it is often quite boring, so a button for accelerating time comes in handy for the trip to pass more quickly.

In the sequel of Flashpoint, the guys from Codemasters unfortunately were apparently not even aware of the problem and decided to make a copy of the real island with a size of 277km2, which in the end proved to be absolutely unnecessary overkill, because the resultant game does not use 90% of the area of the island at all and the distances that are sometimes necessary to overcome are insane. On the other hand, however, it has sometimes been demonstrated that even a relatively long walk through the forest does not have to be boring if it raises the anticipation of what will come next.

The real island of Kiska that was used in Flashpoint Dragon Rising as is.

In my opinion, the world and the density of locations have been resolved in Red Dead Redemption. The distances between individual places are so great that it is almost unimaginable that you would go on foot, but at the same time just right for riding a horse. The individual locations are so far from one another that you do not stumble upon them at every step and from one place you cannot see the others, but at the same time the map does not seem empty even though the landscape is not glaringly large in any way and has roughly 3x2km. It is just very cleverly divided by natural barriers (cliffs, a river), so that you have to travel the same way as on a large map when you try to bypass them, but the graphic artists had less work while the result still seems very natural.

It is also terrific that you are not constantly bothered by monsters and enemies like in practically every other open world game. When you want to go from point A to point B, you simply go and you do not have to deal with bandits every one hundred metres. Surprisingly, nothing bad happens because of that, the game is not worse, more boring or even shorter like apparently all of the other developers are convinced. But if you only want to wander around, many things take place around you in which you can but do not have to get involved. That is the way it should be in my opinion and I would like to do that too.

The aim is for the distance between towns to be truly too great to walk on foot and, so great that when you are to look for something, you really have to look. It simultaneously solves a visual problem – when the landscape is naturally large, it can even look natural; you can show majestic panoramas, in the distance you can observe the silhouettes of the places where you may once arrive but you can feel their inaccessibility.

Reality vs. Practice

Comparing maps of several large open-world games. Our planned map is the green square next to the map of Oblivion.

It all sounds very nice. The problem is that in the end you still have to test how it works in your specific case and when we put a few boxes representing buildings in our map and in the places of forests in a flash planted trees, which goes very quickly in Cryengine, I discovered that two places which appear to be only a short distance from one another on the map are actually not even visible and a trip on foot between them takes ten minutes, despite the fact that our figure walks substantially more briskly than the average tourist.

Moreover, our realistic map suffers from one more lack – the interesting places are located on the margins and the centre is essentially empty, which is not entirely ideal, because if the most important locations are on the edges of the map, the player must entirely unnecessarily and too often undertake the same boring route across the entire map every time he/she sets out for anywhere. With a centrally placed location, there is no such problem, because you can go another direction every time. Unfortunately, if we want to maintain a real layout of the map, we will have to leave it like that, be aware of it when designing the quests and not rush the player from one corner to the other like a bloated goat.

In any case, it was obvious after a look at our landscape that we would have to compress even more than before. I did not want to set out on the path of a change of scale, so I took the map again, marked the areas that must remain untouched and began to cut off the strips in which there was nothing interesting. From a map of 4x4, I made a map of 3x3 where everything remained almost the same.

Then, I decided to visit once again the places where the game would take place and scour really all of the corners of the game area. In so doing, I discovered that the landscape is truly beautiful, but some of the distances that look bearable in our blackbox map take quite a long time to overcome even by car and furthermore an elevation that does not look drastic at all in the engine is in fact a gigantic hill!

What to Do?

It forced me to think again. Originally, we did not want to put any fast travel in the game within a single map, but this somewhat undermined me. Fast travel moreover is not a resolution but only a crutch which does not remove the error but only circumvents it. Had we however actually committed an error?

Will the player like it when he/she wants to go from town A to town B to travel a long time on a horseback? The travel speed of a horse is ca 25km/h, so it makes a kilometre in ca 2.5 minutes. If the towns are two kilometres distant as the crow flies and the horse travels a bit faster than in reality, such a journey will take the player more than five minutes. Five minutes is a long time in a game, especially if you travel through a landscape which is not lunar and you constantly see your destination in the distance on the horizon and approach it very slowly. And what if the player goes on foot across a meadow that is not a classically compressed place but a real one-hundred-metre meadow? Overcoming it takes ca 1 minute of walking, a sprint some 13 seconds. Is it a too much or little?

Travelling in Arma and Flashpoint had its charm, and if we always concentrate the quests around the locations and you do not have to travel to the other places too often, it could work. Yet, it is not only about the speed of travel. The larger the landscape, the more infrequent the placement of locations, the points of interest and the events. It is better in a game to have an enormous forest, which will be massive, because it is beautiful, a person can admire it and enjoy its atmosphere, but in the majority of its area nothing special happens, or a small forest where one immediately finds what one is looking for at the expense of atmosphere? We can easily end up in a situation where everyone says we have a beautiful landscape, but what is it good for when there is nothing to do in it… It will in its way be true. But does it not apply even here a bit that the journey is more important than the destination?

We will not know until we have the first larger piece of the landscape ready, which will be relatively soon. Then, either our theory on realism in games will be confirmed or we will compress like crazy as long as there is time.

Naturally, we are interested in what you say about it. What would you prefer:

  1. a compressed potato landscape where everything is close by?
  2. a realistic landscape in which you can wander for hours even if it is relatively empty?
  3. a smaller map that looks realistic but is reasonably compressed?

Write to us which route seems the best to you and if you like what we are doing and want to help us, share, tweet and like us! We are making the game for us and for you and we need your feedback and support. If you do not want to miss the next blog, which will come out again in roughly a month, keep an eye on us on Twitter @warhorsestudios, Facebook, or add us as an RSS feed.

Dan Vavra, Creative Director



from Hacker News https://ift.tt/t4w8pTJ

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.