Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

A game as big as Skyrim in Unity?

Discussion in 'General Discussion' started by SHIMMY, Apr 5, 2013.

  1. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,196
    The game is, the editor they use to compile the game... who knows.

    edit: oops. should have read the entire topic, sorry.
     
    Last edited: Mar 21, 2014
  2. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    A float is short hand for a floating point number with 32 bit accuracy and it is limited to a certain precision due to it's number of bits and how they store the the information.

    64-bits generally refers to the memory space of the operating system, so you can have more stuff but not at a higher level of precision.

    The problem is that for realistic physics, collision detection, and ordered drawing you need high precision, but when you increase the value in a float there is a point numerically where you start to lose precision, simply because there is not enough room in th 32bits to store the information.

    Think of it as an old calculator that only has 10 digits, you can be super precise with calculations in the thousands as you still have 6 digits(*). But take your calculations into the millions and you're down to 3 digits precision. And once you hit the billions well you have no precision left or if you were calculating in meters you would be working things out to the nearest meter.

    Anyway can you imagine trying to work out if a bullet/arrow or cannon ball hit something at that range?


    * Assuming the decimal point doesn't take up a digit.
     
  3. TheDMan

    TheDMan

    Joined:
    Feb 23, 2014
    Posts:
    205
    I was referring to the fact Unity is currently 32-bit and therefore only can use 3-4Gigs of memory. Running the "build" process in Unity for large projects may result in a "out of memory" error that makes it completely impossible to build the project. Many have run into that bottleneck and were left without a means of building unless they stripped their project down. Its why Unity should have worked on releasing a 64-bit version years ago, when it was becoming the norm. Now its almost too late, and people will have to wait until UT5 to get it, which is 5-6 years too late.
     
  4. orbobservation

    orbobservation

    Joined:
    Feb 28, 2013
    Posts:
    87
    I don't seem to get the issue here, the Skyrim environment is relatively small and not that detailed- it also tricks your perception alot. I don't get this problem at all and everything runs smoothly. Perhaps it's not possible with Unity Free?
     
  5. coding_crow

    coding_crow

    Joined:
    Sep 26, 2014
    Posts:
    4
    I'm not a pro by any means, but I've been working on a very, very large-scale space game for about 2 years now, and while that is not premade but instead mostly procedurally generated my experience is that it really does not matter much how big your world is going to be or how much content you want to put in - I think the only real limitation is how much of it will be visible and interactive for the player at any given time. So if you think Skyrim, I'd say a world that size would be no problem, just being able to look all the way over the valley to the next hilltop. If you watch some dev interviews you will find that they actively designed skyrim in such a way that you can actually never see the whole map - there will always be some mountains blocking the view. It's all about how, when and how much stuff your game will have to load. Taking my game as an example, It actually got to a point where I can make my game world infinite, with generated galaxies consisting of of thousands of stars, in turn being orbited by planets. It's not that hard to do because it all is so far apart that when you visit a solar system, all the other stars just have to be a dot in the sky. HUGE world - small amount of loaded content at any given time. [edit] I'm using unity free too.
     
  6. makoto_snkw

    makoto_snkw

    Joined:
    Aug 14, 2013
    Posts:
    340
    Nope, not fixed!
    I try to run a 4x4 (1000x100 each) on Unity Editor and always crashed almost instantly.

    My current limitation because of Unity editor is just to have 2x2 terrain tiles.
     
  7. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,445
    It really depends on what your game's content is, what your level of detail will be and how the player is going to experience it. I assume that Bethesda integrate all sorts of tricks into their open-world games to load/unload sections of their environments and with it being mostly first/third-person, your view distance and how far you can 'see' is significantly more limited than something like a Flight Simulator.

    One game that has always impressed me in its environment size is Kerbal Space Program, for the fact that it is a galaxy of planets and you transition 'smoothly' from space to surface. However, the planets and moons aren't anywhere near the level of detail of Skyrim's environment in the terms of stuff such as buildings, objects, trees etc.
     
  8. RJ-MacReady

    RJ-MacReady

    Joined:
    Jun 14, 2013
    Posts:
    1,718
    On Windows 95 there was a screensaver that looked like you were flying through space. Did you wonder if an entire universe of stars existed on your PC?

    It's the same thing with Skyrim, Grand Theft Auto or any game where the world size exceeds
    what could possibly be loaded into memory all at once.

    There is no comparison between a Scene in Unity and what they have going on in the background in those games. A Scene is like a level in Angry Birds, or a map in Halo.

    Skyrim is more like the old Legend of Zelda games, where each part of the world map is actually its own individual level, and they are only connected by a clever visual illusion.

    So, can you just click on things in Unity, download free assets and make Skyrim? No.
     
    Last edited: Oct 5, 2014
  9. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,124
    Skyrim is running on a heavily modified GameBryo which itself was already good at making open world games. I would imagine it is much more optimized for it than Unity which is more general purpose.
     
  10. Deleted User

    Deleted User

    Guest

    It doesn't matter as much about the game build as much once it's all been optimised / culled / LOD'd etc. etc. When it comes to editor overhead / running third party middleware integrations within that editor things aren't so simple. The situation becomes far more problematic, plus Skyrim is pretty old now as impressive as it was for its time.

    With some PhysX tweaks, if we have direct access to it in 5.X I'm not sure. There is nothing to really stop you making any game of any size, obviously dependant on hardware.
     
    Last edited by a moderator: Oct 6, 2014
  11. l0cke

    l0cke

    Joined:
    Apr 15, 2012
    Posts:
    438
    No. Unity is not mature enough. You will huge stability /performance problems and then you will have to switch to other engine as we did.
     
    Last edited: Oct 6, 2014
  12. Deon-Cadme

    Deon-Cadme

    Joined:
    Sep 10, 2013
    Posts:
    288
    All of it present at the same time in memory? Not a chance... even a snowball would have a better chance to survive on the sun. All of Skyrim in a single scene but not in memory at the same time? Of course, that is how many games are built.

    Open-world games are built in chunks (zones/areas naming convention depends on studio and project). The chunk that you play in + the closest neighbors are typically loaded in memory (this is a topic on its own, many games have different systems for chunk-handling due to different needs). The chunks are retrieved from the hard-drive when needed, games that allow the world to change also store this changes on the hard-drive.

    You can in theory, make a huge game like Skyrim and keep it loaded in memory but that would place heavy restrictions on the games quality unless you are a genius-procedural-guru. Still, that level of "procedural" would even if impressive, still feel artificial in many ways if you hope to keep all of the world updated at the same time.

    Normal studios just tear the world apart, it also got development benefits. Programmers, Artists, Level Designers, QA and more can spread out and work on a chunk each without having to worry that they will make some change that will collide with work that someone else commits to the project server.
     
  13. ForceVFX

    ForceVFX

    Joined:
    Jan 21, 2011
    Posts:
    612
    well, how big is the total area? I am working on on update now, for android mobile..that, I thought was big..
    but I want it bigger!! It does cost money..do not be fooled..
    but as a single developer..I need tools to fulfill my vision, in a timely manner :-(
    Unity and Android Pro, World and Terrain Composer, Sector Pro..

    I have super low poly buildings houses, trees and bushes..all being placed automatically,,on a range of pixel colors.all of my 36 terrains are now 3 LOD meshes, my ambient light sphere(TOD) in conjunction with Sector Stream and Viz, is making this possible, this is a flying, there is only so far a tank of gas will go on my planes..the key was Time of day..as you can see below, the sky sphere, matches with the sectors that stream in and out.

    . I am doing this myself, if your interested I can post some screenies, the next couple of days..as I build this world!!

    I can build out..by blocks, left/right up or down...with grass, trees, bushes, buildings, etc...

    it is work..but light mapping? I wish I could send to a render farm for light maps!!

    (my two cents) - Patrick

    Three days in: Ready to Build up.


    World Composer Terrain


    Terrain as Mesh..mobile ready!!


    test 1
     
    Last edited: Oct 6, 2014
    Deon-Cadme likes this.
  14. makoto_snkw

    makoto_snkw

    Joined:
    Aug 14, 2013
    Posts:
    340
    How you not crash using 36 terrains? :O
     
  15. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,784
    That is looking awesome...! :)
     
  16. ForceVFX

    ForceVFX

    Joined:
    Jan 21, 2011
    Posts:
    612
    I do not know...but in game my terrain are LOD fbx..2,500 tris per at LOD0 (X36)..Max texture size is 1024 per as well
    I actually have both in one scene, in editor, and am using the original unity terrain to paint my varied prefabs by color pixel in Terrain composer...I did crash yesterday..after 10, 500 trees were placed (my filter set was...wrong!!)..so at 2.45 GBs of RAM..unity said..POOF!!

    Sector Pro..breaks these up into chunks..I can work on them individually as well, for fine tuning more important models.
     
    Last edited: Oct 6, 2014
  17. Deleted User

    Deleted User

    Guest

    Well our game is 32KM2, which I suppose with some RPG's coming out isn't all that impressive, but with the thousands of trees and shed loads of detail it becomes quite intricate. Peformance is always a struggle in these sorts of games, it's not really the size of the maps that cause issues, it's what goes on them.
     
  18. Lupinus

    Lupinus

    Joined:
    Feb 5, 2016
    Posts:
    16
    Not trying to beat a dead horse as I know this is an older thread. However, I just wanted to point out to any newcomers that YES, this is possible (obviously) and you can go even bigger... though you do need to pay attention to what's being loaded both WHERE and WHEN. I'm currently working on a system that will dynamically load the proper pieces for specific sections and specific moments... which will keep the CPU and Memory usage balanced (No, I'm not plugging a product here, just trying to explain how it could be done). I've also already developed an editor plugin that will automatically set up a sectioned world map for testing resizing to fine tune or try out a larger/smaller map size.

    So, like Skyrim does, you will have to split up the loading into some type of zones, areas, sections, segments, or whatever vernacular you want to use. That's the key... control the loading of assets and resources and you can make a game the size of the universe (which is infinite for those who don't know). You can split up the loading of resources, maps, characters, enemies, the sky, etc... just depends on what you want and when you want to see it. One trick among the many: Texture-less, 3D boxes.

    With the way Unity works, you'll have to figure out the World Maps and such.. Dungeons are SUPER easy... and Towns can be, unless you're trying to do something like OpenSkyrim where the towns are also part of the main world map... otherwise the Main World Map is the hardest, if you can conquer that task, you can create anything you want. Oh, and as I'm typing this, I even had an epiphany regarding reducing resources on the world map (which I'm not gonna tell)... so, just keep thinking about it and realize, you may not have the best idea at the time, but keep working on it... it'll come to you eventually.
     
  19. FMark92

    FMark92

    Joined:
    May 18, 2017
    Posts:
    1,244
    You can't prove or disprove that.
     
  20. Chrisasan

    Chrisasan

    Joined:
    Mar 27, 2015
    Posts:
    270
    Skyrim is small. So is oblivion. Arena was big, dates back to 286 computers.
     
  21. Deleted User

    Deleted User

    Guest

    Oh yeah, I see indie's popping out Skyrim's all over the place..
     
    TeagansDad likes this.
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,124
    Arena was almost entirely randomly generated though. Literally the entire wilderness and the dungeons that were not tied to the story were all random every time you entered them. It wasn't until Daggerfall that the series came with a fixed layout so that's generally the game people point to when describing giant worlds.

    http://en.uesp.net/wiki/Arena:Random_Quests
    http://en.uesp.net/wiki/Arena:Unoff...visit_a_different_location_for_the_same_quest.

    Arena shipped in 1994. That's way after the launch of the 286, the 386, and the 486. The Pentium is even older than it is.
     
    Last edited: May 29, 2018
  23. Chrisasan

    Chrisasan

    Joined:
    Mar 27, 2015
    Posts:
    270
    The 486 was still knew to me, and I owned a 286. I didn't look at the precise history. I remember that arena was labeled, "before it's time".
     
  24. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    The size isnt the problem, you can just random generate it with Gaia, populate it with gaia spawners and Vegetation studio, use World streamer to stream it.

    The problem is making it beautiful and interesting :D
     
    Deleted User, Ryiah and frosted like this.
  25. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,124
    Alternatively the problem is targeting an audience that needs it to be that way. No Man's Sky is very dull compared to a hand designed world but spend some time with the community for the game and you'll quickly learn that they don't care.
     
    AndersMalmgren likes this.
  26. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,984
    Maybe not the visuals, but I saw plenty of complaints about not having anything interesting or varied to do, which is another symptom of procedural generation that's gotten out of hand. Without having played the game, I'd say it's about as wide and long as the Milky Way and maybe a foot deep (at least when it came out).

    Anyway, I think in procedural generation, it's useful to think of handiwork as a finite resource. The focal point of your handiwork is correlated to the scale. So you can make a universe with somewhat varied planets. Or a country with somewhat varied towns. But not a universe with somewhat varied towns. That's why I think No Mans Sky should have stayed away from small scale stuff (such as shops and personal interactions with aliens) and focused on the kind of experience where you stay on a planet for five minutes before moving onto the next one. Either that, or reduced everything to a solar system.

    It's tempting to want to give the player an experience that goes from a grain of sand all the way to the universe. But unless you are in possession of some uber-algorithm that can iterate over a few billion years of evolution in the same amount of time that Unity takes to compile your scripts, you just can't diffuse information very far throughout the game world, you can't build relationships all the way from the micro and the macro. And at some point, your players will see where the information has stopped flowing and mixing, the point where it becomes grainy and blobby like a low res texture, and the spell will be broken.
     
    Joe-Censored, Deleted User and Ryiah like this.
  27. Deleted User

    Deleted User

    Guest

    Very true, there isn't even that much in the way of single player linear games on par with the likes of TLOU.. So of course the bright thing to do is expand exponentially whilst the amount of content remains the same. It's like dragging a movie out for three and half hours while half the people are asleep, some have left and the others are busting for the loo..

    Don't get me wrong there's always one who will think this three and half hour "film" stretched out from a thirty minute episode was the best thing ever, although when you're selling games it's generally prudent to think about the masses (even in a niche)..

    There's reasons why the likes of GTA, W3 etc. cost so many millions and it's nothing to do with whipping up a 6000KM2 terrain in a couple of hours.. Bigger the game, the more it costs to keep it from being as dull as dishwater..
     
  28. Lupinus

    Lupinus

    Joined:
    Feb 5, 2016
    Posts:
    16
    Everything said and done, I don't think the problem is "can Unity be used for a massive open-world game?", I think what needs to be focused on is more of a "can I create an interesting and interactive world with depth and substance?"

    Unity is a wonderful tool that can be used to create a variety of game types and, with the right tools and mindset, knitting together large landscapes and such is fairly easy to do. I think the biggest problems many Independent Developers run into with making these "Skyrim" type games are more of an issue with a lack of substance when it comes to adding in non-player characters (voiced or not), and a decent well thought out story line. With most of the newest games of this type, I've personally noticed that many great worlds are created that seem to be missing depth of character. I'm assuming this is due to it being relatively easier (and less costly) to pump out a huge open-world game loaded with enemies & crafting and then promoting it as a "Survival" game, versus going the extra step and adding in a well thought-out and detailed story incorporating interactive and interesting non-player characters. Much to my sadness as there are a TON of Survival games out there that could very easily be AAA titles with a few extra steps.

    As far as I can see, this is one of the key factors when creating games that hold back many independent developers. Spending the extra time to come up with a story line, dialog, character types, etc... makes (no pun intended) a world of difference when it comes to the market... though, this can also kill a game as well, if not done right, so there's always a risk involved. Aside from the risks involved, I personally feel this is the fundamental difference between a game that gets played for a while and then is essentially forgotten, versus a AAA title that grabs hold of a large group of Gamers and then expands to a massive amount of Gamers after word gets out about how awesome it is. The Elderscrolls and Fallout Franchises (just as an example), in addition to being moddable for more dynamic game play and a greater replay-ability factor, have a large variety of stories and quests to follow along with a large group of fully voiced NPCs, all with their own personality traits and such, which provide greater substance to the games. I think even non-RPG type games (i.e. Racing games, FPS Shooters, etc...) and such could benefit from more of this, though probably not as much, and I believe it is these factors which make the AAA open-world games stand out from the rest of the open-world games being created.

    Don't take this as a hit on Independent Developer titles or Survival games, I just used these as an example and I enjoy plenty of these titles as well. I've just noticed a trend with the new Independent Productions lately... there are many, many, many talented developers making, what could be, AAA titles but are lacking these extra pieces which, I feel, is holding them back. Fully understandable, knowing the cost and labor involved, but it's just disheartening to see these really amazing games fall just shy of the mark.
     
  29. BitCrushed

    BitCrushed

    Joined:
    Dec 2, 2015
    Posts:
    75
    Yes large scale open world games can be made with unity , the world can be made on the scale of extremely large to insane .

    However it is when you add gameplay and activity and populate said world such that it becomes something someones wants to actually play , where the work and issues comes in .

    What i mean by this is ,that i took it on myself as a simple challenge to just see if i could create an extremely large terrain with some grass and trees , on my 1gb ram crappy laptop ,with an old unity version with no terrain lateupdate suport and crappy integrated graphics.

    I used procedural generation and unity's build in terrain system to try and create an endless open world terrain experience , i went past the floating point problem by staying around the origin , however , that was simple enough , my next hurdle or soft barrier i ran in to was , that noise has its limitations too due to precision past certain values and int32 in the calculations .

    If i figure out how to transition and wrap from said noise coordinate limitation back to zero with modulated noise settings, my terrain would become virtually endless , if i also wrap int32(max value) for worldsectors position.
     
    Last edited: Jun 8, 2018