Planet Optimization Suggestions

    Joined
    Jun 14, 2013
    Messages
    60
    Reaction score
    30
    • Community Content - Bronze 1
    • Legacy Citizen 2
    • Legacy Citizen
    So correct me if i´m wrong but I believe starmade is made in the Unity engine, so while playing starmade I thought of a way to not only allow bigger planets but also not lose 10/30fps.

    1. Trigger Box

    How this would work: you would add a trigger box (an invisible box that when entered executes a script or variable) around every planet maybe you can even use the sphere around planets for this, when you enter
    the sphere everything outside the planet will stop rendering, (this won't look weird because the skybox blocks the vision anyway, this way we would need way less recources, ofcourse if you have a good pc you can disable this option in the options.

    NOTE (that the objects will still be able to be found in the navigation tab)

    2. Air Blocks

    what ''Air Blocks'' do or what I mean with that concept is that only the sides of blocks that you can see will be rendered, so every block under the ground won't have a mesh. minecraft uses a similar system to this.
     
    Joined
    Aug 21, 2013
    Messages
    237
    Reaction score
    76
    • Legacy Citizen 2
    • Purchased!
    • Community Content - Bronze 1
    Starmade does not use Unity. It uses a custom engine built by Schine using Java.

    The game has something similar to your suggestion 1. Planets have atmosphere. When on one and you look up - that's the inside of a sphere rendered around the planet. But Schine wants players to be able to see other planets, stars, and nearby space ships from the planet surface. Wouldn't it seem silly if a ship flew into your planets atmosphere and just *pop* appeared once it crossed that line? And what if it parked half-in and half-out?

    The game already uses feature 2. The problem that comes into play, though, is that each block still has to exist so that nearby blocks know that they are not supposed to be rendered. It saves on memory, but not by as much as you'd think. The next time you are on a planet, enter build mode and move the camera below the surface. You can see straight through all the interior blocks.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    The problem that comes into play, though, is that each block still has to exist so that nearby blocks know that they are not supposed to be rendered.
    But you can go a step further, by only rendering "triangles/faces that were rendered last frame".

    You can then fill "the gaps" in a seconds step, using less calculations.

    In fact, these "gaps" don't even need as much detail and can be calculated in background until the next frame, using a blurred version of the old information and vague fillers.
    Human vision doesn't notice new details as fast. However, human vision notices changes to what was perceived.