Translate
EnglishFrenchGermanItalianPortugueseRussianSpanish

The XL Engine is and will remain free, donations are purely optional but greatly appreciated.

Motivation

In the past I talked about the terrain system as seen in the current release of DaggerXL. For the Beta, the terrain on older hardware will be done in a similar way, though with the enhancements as shown in the last video – improved coastlines, animated water, proper ground texture usage, etc.. In this post I will be talking about the system I hinted at in the Continuing and OpenGL Support post – “This renderer will feature view distances of greater then 100km as well as the highest quality rendering.”

So you might be wondering, why bother extending the rendering distance so far when emulating an old game like this? To answer that we’ll have to think about more modern Elder Scrolls games – Morrowind, Oblivion, Skyrim. The view distances in those games aren’t much bigger then the current version of DaggerXL, smaller in some cases. Yet the terrain has more variety and interesting features. Why is that? To put it simply, these games – like many games – are like themeparks, packing all the interesting locations together and removing or drastically reducing the space in-between. In just a few hundred meters you can see entire biomes, an arduous climb up the tallest mountain takes minutes rather then hours or days. This allows these games to pack a lot of interest and variety into a relatively small view distance. Unfortunately this can also result in obvious absurdity if the designers aren’t careful – like tripping over ancient hidden ruins constantly in Oblivion.

Daggerfall uses a realistic scale for terrain which has many benefits such as making the world feel much larger and more authentic. Unfortunately it trades the “themepark” feel for an environment that feels homogeneous and boring. One of the reasons is that the interesting features are spread over a much larger scale – so the proper thing to do is extend the view to realistic distances as well, this way one can appreciate the large scale vistas currently hidden in the fog. It is obvious why this couldn’t be done when Daggerfall came out on DOS and of course the amount of the view distance can be extended on older hardware is limited – though still a significant improvement. But with modern hardware there is no good reason that we can’t extend the view distance to realistic levels now.

 

Beyond the Map

But wait! What happens when you look over the edge of the Daggerfall map? With the previous DaggerXL view distances, stretching the height map and adding in procedural details was enough to be convincing – which I actually implemented, see the Terrain Beyond the Map Borders post. However when using realistic view distances this obviously doesn’t work and looks downright silly. I considered other options, such as shrouding the edges in thick fog – which is something that is oftentimes done to artistically hide the edges of a limited map

(example Zelda map from http://www.zeldacapital.com - note this has no relation to this project, just a nice picture to illustrate the idea, though I am a big Zelda fan too)

 

However this would still result in really odd visuals and give the impression that the Daggerfall area is shrouded and cutoff from the rest of Tamriel – which was not Bethesda’s original intent. So I decided on a new approach, with the help of suggestions from some others.

 

Tamriel

So what is beyond the edges of the Daggerfall map? The rest of Tamriel of course. :D  So what I’ve decided to do is to put together a heightmap of Tamriel – at the same scale as Daggerfall – and fit it to the Daggerfall data. Below is a screenshot of that map, though still unfinished -

[img removed]

The actual height map is over 5000 pixels in width, where each pixel is the same size as the pixels in Daggerfall’s 1000×500 heightmap. Daggerfall is inserted into the correct place, with the rest of the world rotated and scaled to fit. I consider the Daggerfall data to be ‘correct’ since this is for DaggerXL after all, so the Daggerfall data will still be pulled from the original data files, I inserted it into this map so I can fit the map to it rather then the other way around. There are several issues with this map still, I have to fix up coastlines and the Black Marsh area and fit the map to a 500×500 pixel grid, so that Daggerfall takes up exactly 2 grid cells. If you can see off the edge, it’ll wrap to the other side – same for swimming, flying or sailing across an edge. This way only 9 heightmap cells need to be in memory at once in order to render the world. Of course, for now, only the area from Daggerfall will have locations. However part of the intent of this is that you guys will have the rest of Tamriel already available when the modding tools come online. Don’t like parts of the heightmap – you can edit the file and distribute it. If you guys, as a community, come up with the definitive heightmap and it works with the existing Daggerfall data – then I’ll replace this map with that one in the future DaggerXL releases.

That said wait until you get the final heightmap before doing anything with it. It will have to conform to the grid, which this one does not yet. Also there is a seperate map, not shown here, that contains data such as the proper terrain textures to use.

 

In Part 2, which should come out next week, I’ll show the terrain system in action and talk about how it actually works under the hood.

38 Responses to “DaggerXL Terrain in the Beta, Part 1”

  • RAB1ZNAZ:

    Uuuugh…!!! I can’t wait to get play Daggerfall with XLEngine…when Akatosh when…. :P

  • chiefnewo:

    I love these tech blog posts, keep em coming! :)

  • Marco:

    That’s probably the coolest solution to an “edge of the world” problem I’ve ever seen. Fantastic!

  • Anon:

    I am so damn excited! I’m with Marco – you’re really going the extra mile (ahem, kilometre) with this.

    Thanks for keeping it detailed but still understandable for the less technically inclined folks such as myself.

  • Lentus:

    Damn! Everytime there is a new post here on the blog, I need to change pants!
    Been following this project since late 2009 and it’s just as awesome as ever! Keep up the good work Lucius!

  • Simsoy:

    If you can only see 100m out, then on the very edge of the world wouldn’t it make sense to only have Tamerial extending 100m from the boarders of the game?

    • luciusDXL:

      First its 100km, I wouldn’t even worry about it for a 100m view distance. Second since I am adding area around Daggerfall anyway, I decided to add the rest of Tamriel to make modding easier – which I think I mentioned in the article. In other words, why go part way when providing the whole of Tamriel doesn’t “cost” me much more (in terms of time) and has no impact on runtime performance.

  • Damanslaya:

    This is awesome!

  • thanks for the updates. I second Lentus.

  • Dan:

    Mind blown.
    I second Marco’s comment.
    IIRC Daggerfall was said to contain approximately as much land as the UK, so how big is Tamriel at this scale? Maybe the size of Europe?

  • elwing:

    pics or it didn’t happened :P

    just kidding of course… I can’t wait to see screenshot with that huge rendering distance…

  • AnKor:

    I’ve just got thought after looking at original Daggerfall screenshots.
    What happens with original painted backgrounds with 100km drawing distance? Don’t they look out of place now?
    I never liked them anyway, so not a big problem for me if they are completely hidden :)

  • jaminme1:

    Yeah, those backdrops will probably look weird with a 100km view distance.

  • Klasodeth:

    I’m pretty sure it will be possible to disable those backgrounds when rendering at larger distances. With the current view distance in DaggerXL, the trees in the backgrounds look like they’re hundreds of feet tall, and once it’s pushed out to 100km, those same trees will appear to be as big as mountains. I’d say it’s almost mandatory to turn off the background with larger view distances.

    Lucius has done day/night cycles in other projects before, so it’s definitely possible for him to procedurally generate a sky with a sun that moves across the sky and stars that come out at night.

  • Marco:

    Heck, a procedurally generated sky would make it possible to implement both of the moons, Masser and Secunda, and give them the appropriate phases. I don’t remember ever seeing a moon in Daggerfall.

    Given, how would you work lycanthropy around Masser and Secunda? In vanilla Daggerfall it happened once a month on an assumed “full moon”. I don’t know much about the lunar phases in this universe, though, so it may not be a problem.

  • BlackRaven117:

    Holy hell, this is awesome. One thing though, since you are using Dark Creation’s Tamriel heightmap, you are conversely making Daggerfall take place ~200+ years in the future, given how Vvardenfell looks. I can’t wait to see how it turns out!

    • luciusDXL:

      I’ll put post the same response as I did on the forums:

      I built that map from the best height data I could find knowing that the result would likely be incorrect in some way. The idea is to put in terrain beyond the borders so the larger view distance makes sense and to give the modders a framework to build from in order to mod other parts of Tamriel if so desired. I expected that the community would edit the final map and that I would incorporate the end result in the builds – assuming it continues to fit the Daggerfall data.

  • Michel Renier:

    So, basically after the beta release we can walk around the entire Tamriel? (Though the most of it will for now remain bare and empty)
    Well, Bethesda did it in Skyrim, and it’d be great to see such a development possibility in Daggerfall.

    • luciusDXL:

      Yes you will be able to walk around the world. Since there won’t be any locations outside the Daggerfall area to fast travel to you’ll probably need to cheat to get far though – since this isn’t at Skyrim’s scale but Daggerfall’s. In other words getting across this land mass will take a long time…

      However there are several possibilities for the future. Mods of course, which is the reason to include all of Tamriel instead of just 100-200km around the Daggerfall area. I’m also considering procedurally generating locations (though the known ones would be hand placed on the map), which would fill out the world until mods can be made to take it the final distance. These things are for the future though, the upcoming build will just have an empty landmass outside of the Daggerfall game area as previously discussed.

      • Tynan:

        Umm…as if the 100-200km of the Iliac Bay area in the Daggerfall game are not enough?! Dude, do you realize how long it took to manually travel (even on horseback which was faster) just to the next town over? Like a full 20 minutes. That’s like 6 or 7 miles. Which is about the same size as all of Skyrim portrayed in TES 5. Good luck filling in the rest of Tamriel…if you can get enough Modders to contribute that is…

        • Klasodeth:

          Fun Fact: Daggerfall (and DaggerXL by extension) has fast travel. A Tamriel-sized map isn’t a problem for travel purposes. As for filling that content, procedural generation has come a long way since the days of DOS, and having seen Lucius’ past work with procedurally generated content, I’m 100% confident that he will be able to pull off something substantially better for filling in Tamriel than what Daggerfall originally used. So the continent could be fleshed out even before the first modder bothers to do anything. Modding could focus on region-specific structures and items, so that the changes automatically propagate across entire provinces. With sufficient high-level editing support, placing an entire city could be as simple as clicking a point on a map and setting some relevant parameters to set city size, prevailing architecture, etc. If someone wants to layout an entire city by hand, that city will be surrounded by lots of procedurally generated cities and settlements which prevents mods from being customized locations in a sea of emptiness.

  • LordHaHa:

    Well if we are talking about 100km/~60mi or so as a real possibility, would it be possible to emulate planetary curvature as a perspective “trick”, at least at high points in the game world?

    Also, say if you are at sea level/2m height and thus can only see out (say on a nice day) 5 miles, non-visible terrain is culled from rendering?

    • luciusDXL:

      It would indeed be possible to approximate planetary curvature, it’s actually something I’m planning on doing. :D And the view distance will definitely be larger then 100km, if the Large View Distance option is enabled.

      For this release, culling will be basic (just frustum culling) plus LOD. I will add more complex methods of culling in the future when they are needed.

  • softdrinkviking:

    Hi Lucius, First of all, AWESOME WORK! This looks so cool. :)
    I just was wondering about one thing. If we can walk around the whole world of Tamriel, I am worried about getting lost. Will there be some way to know when we are going out-of-bounds, so to speak?
    I have a tendency to wonder aimlessly in open-world games and test the edges of the world, and since I haven’t played Daggerfall since when it first came out, I will not be remembering where things are supposed to be.

    -Softdrinkviking

    • luciusDXL:

      Not in the next Beta build – though you will be able to keep the invisible walls that Daggerfall had, wandering out of bounds is an optional feature (since it wasn’t in the original game). In the future I will consider other options.

      Keep in mind, though, that you’ll always be able to fast travel to a Daggerfall location is you’re lost – you will never really be stuck in the middle of nowhere with no way of getting back. Also keep in mind that this uses the Daggerfall scale – which means just getting outside of the Daggerfall game area will take a long time and actually crossing Tamriel on foot or horse with no fast travel will take a very very long time. There will be a method of “cheating” and teleporting to arbitrary points on the map if you just want to look around though.

  • Matermind:

    Holy Sh*it! This looks f**king good. Luciius mate you are doing us proud!

  • That Guy:

    That’s interesting. Didn’t know Morcroft from Beyond Skyrim released his heightmap for general use.

  • I’m sorry to inform you all that luciusDXL has stolen this heightmap. It is a direct copy of my Tamriel heightmap made for the Beyond Skyrim project at Dark Creations. His assertion that he “decided to put together a heightmap of Tamriel” very much misses the fact that it took me well over six months to make the original.

    The Skyrim portion is a direct extract from the game, so is Bethesda’s copyright: they expressly forbid porting their resources to other games, so if you implement this map then you are breaking their EULA – and they are known to be keen on legal action to protect their intellectual property.

    My guess is that luciusDXL has taken a copy of the low height resolution version of this that I prepared as a topographic map and posted on our Facebook page. He’s not the only person to mistakenly think that images found on the internet are free to use.

    If you wish to confirm that this is my work, please check out the development thread:

    http://www.darkcreations.org/forums/topic/806-common-worldspace-heightmap/

    You will notice certain distinctive features like the impact crater at Vivec and the lava flow that has spread across Sheogorad – elements designed for the fourth era setting after Red Year. The islands scattered around Summerset are also quite distinctive as they don’t come from any lore reference; and the mountains of Summerset, Valenwood and Elsweyr are all clearly visible in my original design.

    In particular, luciusDXL does not have the right to offer you the opportunity to edit and redistribute the map as you see fit: you may not use this map for any purpose whatsoever.

    If someone had approached me for the use of the rest of the map – or even if luciusDXL had me credit for it then I might have considered whether we could come to an arrangement. As it is, I’m afraid I’m not interested in allowing it. Please take it down.

    Morcroft Darkes

  • I’m sorry to have to keep hassling you on this, but will you please take down the high-rez heightmap you constructed from my topographic map. It is being taken by other modders – I’m sure without your knowledge – and used by them to create minecraft maps.

    Morcroft Darkes

Leave a Reply

The XL Engine is and will remain free, donations are purely optional but greatly appreciated.