Jump to content

One question before I purchase...


dalkorn
 Share

Recommended Posts

I have been reading up a fair bit on Leadwerks and it seems to cover everything I want in an engine (minus networking but thats on the roadmap and doable using raknet or Poco so not an issue). The only thing I can't find is how detailed a world can be.

 

The idea I have is a large map (4096x4096 using 1 metre per tile)...I've watched the zone video so know that Leadwerks can do large worlds well. My idea though would be based in a ruined city so ideally would like the majority of the map to be made up of buildings. The city would be made up of some models that will only be used once (city hall, university and other special buildings which will help with navigation and to add a touch of realism to the city) and some which will be repeated (generic shops, destroyed buildings, lampposts etc which will fill the city out). I would like a fair few (if not most) of the buildings to be enterable so simple block models wouldn't work.

 

My final question before I go ahead and purchase is can the leadwerks engine handle something like this, is there draw routines in place which will only draw what is visible at that time or does the whole map get loaded in?

 

Thanks in advance.

Link to comment
Share on other sites

There are a few optimizations like being able to set the Camera's range and Lights' ranges. LODs are not implemented so you'd have to do that yourself. I'm pretty sure the map loads all scene items when you load it, which may take a while. You may be able to load multiple maps but I'm not sure (this would allow you to break your map up into sections, if possible).

Link to comment
Share on other sites

Thank you for the links, I've bookmarked them for future reference. The building models I would use ingame, whilest I want them detailed I would obviously try and limit the poly count on them as much as I can and use bump mapping for things like brick detail etc. Things like rubble piles would be a few models repeated over the map, rotated, stacks etc to try and hide the fact that the same objects are being repeated.

I know coming from using gml, this isn't going to be a quick and easy thing to learn...but gml isn't capable of doing the things I now want to learn how to do.

Link to comment
Share on other sites

Note that models by default (when placed with the editor (code gives options)) are instanced. So you will want a modular approach that uses models over and over again to reduce loading time. If you place 2 or more of the same model in your scene the first one will get loaded from disk, but all others will share the geometry and materials from the first making it basically instant to load those. Taking this to the extreme would be building your buildings with walls and other segments in the LE editor and saving them as prefabs. That way maybe you only really load 50 unique models but from those 50 models you've made 200 prefabs of different buildings. When that level loads it'll be pretty quick compared to having 200 unique models of buildings.

Link to comment
Share on other sites

That makes sense....I was looking at either using walls/segments like you said, or having premade 'floors' so I can mix and match those in different buildings which would allow me to make lots of building types with a few objects. I will take a look at doing both ways to see which gives the best results. The city I want to create is based on a real city, hence I would want certain buildings to look like the ones in real life but for most of the city (general shops/offices) I could get away with modular stuff in an attempt to optimise loading and performance.

 

The would probably be 8 or 9 unique buildings which would be used both for making the city feel real and to aid navigation around the world. I know I won't be able to get the city 100% accurate (not in a playable state anyway), but the core parts like road layout and important buildings I should be able to.

 

One other question, not a deciding factor though....is it possible to load an image into the terrain editor like you can in 3dmax....like for example a road map of the city making it easier to get the roads more accurate. If not thats ok, just would have been handy.

Link to comment
Share on other sites

My final question before I go ahead and purchase is can the leadwerks engine handle something like this, is there draw routines in place which will only draw what is visible at that time or does the whole map get loaded in?

The whole map is loaded when you start, and then occlusion culling is used to discard chunks of it. A scene like you describe with large blocks of building would work quite well.

 

I think you will have trouble populating a 4096x4096 map entirely with buildings, and if you do you will likely exceed the memory limitations, especially with a navmesh that big. You will also have created the most complex game level in history, since no one has ever done anything that dense and large. The zone uses a 2048x2048 terrain, and the actual town is only a small area in the center of that.

 

To get an idea of just how big 4096x4096 is, the entire first map in the game Crysis, from the cove to the beach into the mountains, down to the bay, and up the hill...that entire area was about 1/16 the size of a 4096x4096 map.

  • Upvote 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Ah, I may have my calculations wrong then...I was assuming 4096 with a metre per tile would translate to 2.54miles x 2.54miles (so 6.45 square miles)...the oblivion map was supposedly 16 square miles so thought a 4096x4096 map would be smaller than this.

 

Sorry if these are stupid questions...only just getting into 3D stuff, prior to this all of my work has been 2D.

Link to comment
Share on other sites

Yeah. My map is only 1024 by 1024 and has three villages and three castles and yet there is still a lot of empty land to fill. It takes my character ages to walk across it.So 4096? that will take some doing.

amd quad core 4 ghz / geforce 660 ti 2gb / win 10

Blender,gimp,silo2,ac3d,,audacity,Hexagon / using c++

Link to comment
Share on other sites

From a technical standpoint, Oblivion is quite different than what you are planning to do. I might be wrong with the technical details, but Oblivion streams in what it needs (thus it can have a lot more unique models over a wider distance). The drawback to this is that you can occasionally get lag or glitches if not implemented well, and loading screens are generally needed for indoor environments. Also, Oblivion does not feature huge cities (except for those that require a loading screen). Most of Oblivion's landscape is covered with vegetation or water.

 

One thing I've found is that more so than limiting the number of unique models, try to limit the number of unique textures. The reason being is that texture memory can skyrocket if each building has a unique texture. Although, limiting both is good.

 

I'm working with a similar level design as you, so if you have any questions feel free to ask. My game features a 1k x 1k city with mostly buildings that can be entered and many unique models and textures. I've filled up about half of the map with roads/buildings, but it took me dozens of hours, so unless you procedurally create the city or have many level designers, it's probably a good idea to choose a smaller map size.

 

Edit: Also, the huge open-world games typically have heavily customized engines that support this style of game, something you are unlikely to be able to accomplish with any standard engine (at least to the scale of games like Skyrim).

Edited by nick.ace
Link to comment
Share on other sites

Thanks for the info. I don't want a map the size of Oblivions, I was just using that as a size comparison really. When I worked out the math for the 4096 (which I seem to have miscalculated so will have another look at map size) I was surprised how large it was as it more than covered the city centre that I wanted to make, so I had in mind to make lower poly buildings for the outer 1/4 or 1/3 of the map where the player couldn't go, but to add depth to the world. I was going to block roads off leading to these areas with things such as collapsed buildings, rubble, broken bridge etc.

 

How large is your 1K map (roughly how long would it take the player to cross from one side to the other in a straight line as once you start adding roads, buildings etc the time would increase)? I'm not looking for the worlds largest map for my potential project but would like to cover a decent amount of the main city centre (it's not a massive city like London, just one of the smaller UK cities). Just asking as I obviously worked out the map sizes wrong from reading previous posts.

Link to comment
Share on other sites

Oh ok, I guess I misinterpreted it haha. So, a 1k map would probably take a few (2-3) minutes to run across (not sprinting) provided nothing is blocking your path. Of course, you can put some of the background buildings outside of the map if you need to (you can change the world size in the editor without starting over I think). I think the bigger issue is having a 2k or more terrain, as that takes up computational power for rendering, lod (the terrain has a dynamic lod thing going on), and physics. So, you could theoretically create a 2k world with a 1k terrain. I think that's what I do, just so I can go slightly off the map for stuff like that.

  • Upvote 1
Link to comment
Share on other sites

2-3 minutes isn't too bad, with different roads, buildings etc would more than likely double that easily.

 

If you can alter the world size without starting over that would be useful.

 

Thanks for the advice, once payday arrives I shall be purchasing a copy.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...