performance and camera update... And what's next.

plexum · published · build 26291189

Hi all.

Today brings a bunch of prettifying and performance updates, as well as a few bugfixes. These changes are also applied to the demo.

prettifying

  • The block prefab for terrain and trees has been changed from one with sharp edges, to one with more rounded edges. Not only does this make the planets nicer to look at, the character traverses the planets with much more ease, taking advantages of the rounded edges to get from block to block. In the images below, the change is pretty obvious.

    before:

    after:

performance

  • Reduced the amount of UGUI work triggered by frequently refreshed interface elements. Unchanged text and UI state no longer needlessly force as many canvas updates, decreasing overall CPU usage by up to 4ms

trees

  • Reduced the number of spawned leaf objects on newly generated trees by combining four leaf pieces into one clump

  • Kept existing tree chunks intact while reducing the number of leaf objects, renderers, scripts and colliders needed for a tree.

  • Adjusted the clump's resource yield to account for the four leaves it represents.

  • Preserved save compatibility: older saved trees with individual leaves continue to load in their existing format; newly generated trees use the leaf clumps.

During playtesting in a dense forest, the reported frame rate improved from roughly 20-25 FPS to around 35 FPS. Forests can still be demanding, but the performance drop was noticeably smaller. The average FPS elsewhere on the planet is 45 to 60 FPS depending on... several factors.

note: these FPS values come from a laptop that has NO dedicated graphics card. Your own FPS values will be different.

before

after

farmable trees

  • Leaves and branches now combine into a single mesh when a farmable tree (such as an apple tree) has been fully grown), further optimizing performance.

camera

  • removed the automatic return of the camera's orbit angle to zero after the player had been moving without recent mouse input. The camera now keeps the angle the player chose.

  • Reduced camera movement during jumps by holding its follow and look-at point at the player's takeoff height along the planet's local up direction. The camera can still follow horizontal movement.

Player movement and jumping

  • Reduced the jump's peak height to about one third of its previous height under the same gravity. The adjustment accounts for jump height increasing with the square of launch speed.

  • Made forward jumps more consistent by removing a nearby-object check that could cancel the forward impulse.

  • Forward impulse now applies only when the forward input is held as the jump begins. Without forward input, the jump impulse is vertical.

What's next?

There are a few things in the pipeline, such as an update to the network: be able to get the gathered resources out of the tools and machines of other planets. The groundwork for this has already been laid a few months ago, before work on machines and vehicles started:

Network

The gif above shows the network already in action: each entry in the network is a separate gathering or storage tool/machine, and shows how much of an item is stored, how much resources there are still inside the resource node, and the fuel. The last column shows the estimated yield the fuel can get out of the resource node, allowing players to provide the tool with as much fuel as a tool/machine will hold and get the maximum into the network.

The part that currently does not work, however, is the withdrawal from the network on another planet, but rest assured that the gathered resources aren't lost.

Further expansions

Since most of the relevant systems are in the game now, there are more interactions to be made: such as adding a connection from gathering tools to the rest of your logistics and manufacturing system, adding more advanced machines, and more.

The base of the game is mostly finished, everything that happens from here onward is the addition of the more advanced layers, adding more details where they're required, such as experience wise, level lists, story wise, and performance updates, such as the one today.

For more information on everything plexum, head over to https://jephinca.studio/plexum/plexum

Stay plexum!