Level Of Detail - prevention of ninja titans and invisible planets

    Winterhome

    Way gayer than originally thought.
    Joined
    Jun 29, 2013
    Messages
    1,929
    Reaction score
    636

    Nevermind that the LOD on that example seems to struggle with water and determining what the predominant block type that's visible is.

    For lower end users, there are two problems with rendering entire large objects at once. Specifically, you have the memory issues, and you have the rendering issues. Rendering issues usually come around in the form of lowered framerates and such, and experienced gamers can tell the difference between the two. My proposal is to try, at the very least, to smooth such issues out, via a Level of Detail system. We know that a lot of people try to load more chunks than their machines are capable of handling already, since they want to see all of whatever build they're looking at at the same time. We can make it easier for them to handle by reducing their reasons for having such a ridiculously high render distance.

    Your client doesn't need to render the entire object accurately, just what's closest to you and what you're actively editing. We already have this, and we already unload chunks that move outside of our render range based on camera position and chunks visible settings.

    The idea behind LOD in this case is to prevent it from totally unloading those chunks by, rather, presenting them as larger blocks of whatever block type is predominantly visible (perhaps run a raycast on exiting build mode to determine what blocks have a direct LOS to space, or something...?). I'm thinking... 4x4, upwards to 16x16 based on distance and a "LOD Distance" setting in the Graphics settings tab. Combine with just a very generalized packet of information on basic things like power/shield regen/cap, thrust, turn rate, etc. that gets sent to the person viewing the object, rather than trying to calculate everything on the fly.

    If we get this sort of feature, there's one big hurdle I can see needing to find a workaround for, though - block damage in singleplayer. Lower LOD chunks may have "difficulty" with taking block damage because in singleplayer, the client *is* the server. A hacky, potentially slightly laggy method would be to prioritize rendering chunks that are being hit by projectiles.



    This can go a long way towards fixing some of the issues with combat between users on low end computers and users on high end computers. A lot of fights, these days, are not determined by piloting skill or engineering skill, but by whoever is able to actually render their enemy.
     

    Reilly Reese

    #1 Top Forum Poster & Raiben Jackpot Winner
    Joined
    Oct 13, 2013
    Messages
    5,140
    Reaction score
    1,365
    • Legacy Citizen 8
    • Thinking Positive
    • Purchased!
    I remember a very controversial suggestion like this on the old site a year back.
     

    Winterhome

    Way gayer than originally thought.
    Joined
    Jun 29, 2013
    Messages
    1,929
    Reaction score
    636
    I remember a very controversial suggestion like this on the old site a year back.
    Not really sure what would be controversial about trying to make sure that invisible chunks aren't a thing, but I imagine it would have been related to the method proposed.