Announcement

Collapse
No announcement yet.

Optimizing an open-ended map...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Optimizing an open-ended map...

    Hey there, not going to go into detail about this map, about it's creation or anything else.. I'm working on a special project and realism is key.

    So essentially a few realistic city blocks is what we want per map, and here's just 2 blocks... the problem I'm obviously having is zoning, or optimization. If you stand on one end of the street, look down to the other end, it's fairly choppy and reasonably so with something like 4,000,000 viewable and instanced triangles. Sadly decoration hasn't even begun and I'd still consider all of the current lighting in this shot 'work lighting'.

    Any thoughts as I progress on how I might wish to make this highly detailed open-ended map a bit more... playable?

    Thanks,

    Ryan





    #2
    Only way is to stream level (break that big level into few pieces and conect it via kismet)

    Comment


      #3
      It happened that I was experimenting with city map for Carmageddon like fun.

      What I found so far is that distance fog helps but only if mesh is totally invisible, and this is quite useless for city.

      So only one way left is culling distance, you generally want to make it as short as possible, just enough for meshes to not pop from nothingness.

      Your buildings should be made of 3 layers:

      Construction mesh (usually just box) made from some box static mesh that is unlit and textured (low res texture to save mem, use on as many as possible) like your final/detailed house. Those should occlude from very far. Test every single of them and place occlusion at maximum distance you can see it popping somewhere.

      Second layer are detailed and better textured walls. (to cover those low res unlit background).

      Third layer are doors , windows etc.

      It looks that you need to make lots of custom meshes. There was excellent tutorial made by Hourences about how to create optimized static meshes, read it.

      I did not play with "Level Of Detail" yet, but I think iit is possible to make mesh that will have all 3 detail layers embedded and changed according to LOD and distance.

      Edit: this picture looks like GTA starting area!

      Comment


        #4
        heres a big tip that should help a lot for deco. it especially works if you have 2 computers to test, a crappy one and a really good one.
        section your deco's into 3 levels. and set there details accordingly. Low med and high, specify what system configs can actualy see them.

        for example crazy emmiters that do a lot should be set to high so that people on lower end systems dont see those decos. they wont get rendered unless the persons system meets those specs.
        this includes stuff like signs even tree's

        all statics can be set based on system configs to be displayed or not be displayed. This at the very least will keep people with really crappy systems to still be able to play the map and not base all optimization on lighting and cull.

        This can be used on anything that doesnt effect actual gameplay and is just for visuals.

        Comment


          #5
          Indeed Karmatized, I had exactly same idea. But there is one problem:

          When mesh is not displayed it leaves lighting hole, place where meshes are missing remain dark. Would be really nice if its possible to display mesh only at certain detail level. So on high you display nice high poly mesh, on low you display just boxy obelisk. But like it is now on high you display high poly one and low poly to.

          I believe it is possible to do with Level of Detail, but needs lots of custom crafted meshes.

          Comment


            #6
            this is also easy to fix, set those meshs to a diff light channel and set them not to cast shadows

            Comment


              #7
              Thanks for the awesome input everyone. One thing I've figured out recently is the level streaming and how to really use it well. Basically, any ENTERABLE building will be streamed in. That way, basically when on the city streets running around, you only see the 'skeleton' or 'shell' of each building.

              After streaming of indoor areas has been completed, that will instantly increase all indoor fps to astronomical levels, however, outdoors the fps will suffer...

              So possibly with the inclusion of some fog, zones, and perhaps some of the strategies you all have mentioned, I can get this running well on ANY system, which is the real goal I have.

              And thanks to the one fella that thought this looked neat... :P Other comments don't hurt

              Take care,

              Ryan

              Comment


                #8
                I would not export big buildings into mini-levels, but only its inner side, if it's got one. In this way, buildings could be visible event at a distance.

                Comment


                  #9
                  your screenshot looks very nice indeed,


                  can i ask what sort of PC you have? just trying to gauge your issues compared to your hardware.

                  working on something similar and have a state of the art rig here.

                  Comment

                  Working...
                  X