Marek's Dev Diary: 2025-01-16

What is thisEvery Thursday, I will share a dev diary about what we've been working on over the past few weeks. I'll focus on the interesting challenges and solutions that I encountered. I won't be able to cover everything, but I'll share what piqued my interest.Why am I doing itI want to bring our community along on this journey, and I simply love writing about things I'm passionate about! This is my unfiltered dev journal, so please keep in mind that what I write here are my thoughts and will be outdated by the time you read this, as so many things change quickly. Any plans I mention aren't set in stone and everything is subject to change. Also, if you don't like spoilers, then don't read this.Thursday 16.1.2025Space Engineers 2These are the main things I worked on recently:Default Volume: We are reviewing the default volume settings (it’s a little strange the default value is 50 on a scale 0 to 100, so we need to rethink this)Playtesting VS 1.2 (will be released sometime in next few months):Block Rotation: We tested a new method for how controls map to block rotation directions. It's not clear yet if we will use it or stay with what's currently in SE2.Undo/Redo for Paint Tool: You can now undo when you painted a block, a group of blocks, or an entire grid.Accurate Interaction Dummies: When you aim at control elements (e.g., terminal, button), the game has to do raycast with the invisible dummy. If hit, it shows a highlight and allows interaction. The first implementation had problems leading to situations when you aim at the control element, but nothing happens. We improved it to consider only real geometry of the environment, and now it works flawlessly. Things like this are important for the predictability of experience.Jetpack: We are improving the booster mechanics:Added charge-up period with indicator and soundAccelerate up to 300 m/sWe still have to add camera shake and improve sound effectsPlanetary Terrain: Works on VS2 are starting, so we discussed how to improve material transitions. We have many ideas on how to make them more natural and also hide the resolution of the material map.What are we doing on SE2 right now?:Code freeze ended on 1.12.2024 - then we branched out. One branch is being repeatedly tested by our QA team and major bugs and crashes are fixed and cycle repeats. The other branch is for the next vertical slice, and the team is already adding features.This means that what you will get on January 27 is a version from December 1, but after multiple retests and improvements.Why we didn't want to release it immediately? We know that we need 1-2 months of testing, to ensure we are not releasing a buggy product.Character Movement: We're working on acceleration and deceleration of the character in third person mode, adding some weight to it, and also making the animations more natural (nobody accelerates instantly). But I am not sure yet, we need to work on this more.First-Person Animations: We have designed a proper solution for first person hand and tool animations (what’s currently in VS1 is temporary):Separate character's upper bodyRendering:Shadows from the first person torso are not cast onto the worldShadows from the third person torso are not cast on the first person torsoThird person Torso is not rendered in the main viewRemaining world shadows cast on both bodies as usualReflections need to use the third person meshesSeparate state machine for characters on the clientAiming Lag: Solves aiming lag because first person state machine (SM) is on the clientPros:Less work to set up the first person animationsArtists have complete freedom on how first person animations work now that the torso is on a separate SMPotentially removes the need for Hand and Tool IK entirelyCons:Render needs to add support for new featuresEngine programmers have to set up the new SM for the client side torsoArtists have to maintain two Animation ControllersPerformance impact for running two animators and rendering additional shadow mapQA have to test first and third personEach weapon will need separate animation set, instead of using IK to allow sharing the animationsLearning from Others: I will shamelessly admit that we were checking Enshrouded and how are they doing their: Voxel terrain, Teselation, Sculpting of the material (hills, vertical walls, overhangs), Material transitions, Resolution of their voxels and more. In principle they do things similarly, but some things look better than on our SE2 planets.New Character Model: I am sharing a character model I just received from artists. It’s for an NPC for an unannounced faction 

Jan 16, 2025 - 22:23
Marek's Dev Diary: 2025-01-16

What is this

Every Thursday, I will share a dev diary about what we've been working on over the past few weeks. I'll focus on the interesting challenges and solutions that I encountered. I won't be able to cover everything, but I'll share what piqued my interest.

Why am I doing it

I want to bring our community along on this journey, and I simply love writing about things I'm passionate about! This is my unfiltered dev journal, so please keep in mind that what I write here are my thoughts and will be outdated by the time you read this, as so many things change quickly. Any plans I mention aren't set in stone and everything is subject to change. Also, if you don't like spoilers, then don't read this.

Thursday 16.1.2025

Space Engineers 2

These are the main things I worked on recently:

  • Default Volume: We are reviewing the default volume settings (it’s a little strange the default value is 50 on a scale 0 to 100, so we need to rethink this)

  • Playtesting VS 1.2 (will be released sometime in next few months):

    • Block Rotation: We tested a new method for how controls map to block rotation directions. It's not clear yet if we will use it or stay with what's currently in SE2.

    • Undo/Redo for Paint Tool: You can now undo when you painted a block, a group of blocks, or an entire grid.

    • Accurate Interaction Dummies: When you aim at control elements (e.g., terminal, button), the game has to do raycast with the invisible dummy. If hit, it shows a highlight and allows interaction. The first implementation had problems leading to situations when you aim at the control element, but nothing happens. We improved it to consider only real geometry of the environment, and now it works flawlessly. Things like this are important for the predictability of experience.

    • Jetpack: We are improving the booster mechanics:

      • Added charge-up period with indicator and sound

      • Accelerate up to 300 m/s

      • We still have to add camera shake and improve sound effects

  • Planetary Terrain: Works on VS2 are starting, so we discussed how to improve material transitions. We have many ideas on how to make them more natural and also hide the resolution of the material map.

  • What are we doing on SE2 right now?:

    • Code freeze ended on 1.12.2024 - then we branched out. One branch is being repeatedly tested by our QA team and major bugs and crashes are fixed and cycle repeats. The other branch is for the next vertical slice, and the team is already adding features.

    • This means that what you will get on January 27 is a version from December 1, but after multiple retests and improvements.

    • Why we didn't want to release it immediately? We know that we need 1-2 months of testing, to ensure we are not releasing a buggy product.

  • Character Movement: We're working on acceleration and deceleration of the character in third person mode, adding some weight to it, and also making the animations more natural (nobody accelerates instantly). But I am not sure yet, we need to work on this more.

  • First-Person Animations: We have designed a proper solution for first person hand and tool animations (what’s currently in VS1 is temporary):

    • Separate character's upper body

    • Rendering:

      • Shadows from the first person torso are not cast onto the world

      • Shadows from the third person torso are not cast on the first person torso

      • Third person Torso is not rendered in the main view

      • Remaining world shadows cast on both bodies as usual

      • Reflections need to use the third person meshes

    • Separate state machine for characters on the client

    • Aiming Lag: Solves aiming lag because first person state machine (SM) is on the client

    • Pros:

      • Less work to set up the first person animations

      • Artists have complete freedom on how first person animations work now that the torso is on a separate SM

      • Potentially removes the need for Hand and Tool IK entirely

    • Cons:

      • Render needs to add support for new features

      • Engine programmers have to set up the new SM for the client side torso

      • Artists have to maintain two Animation Controllers

      • Performance impact for running two animators and rendering additional shadow map

      • QA have to test first and third person

      • Each weapon will need separate animation set, instead of using IK to allow sharing the animations

  • Learning from Others: I will shamelessly admit that we were checking Enshrouded and how are they doing their: Voxel terrain, Teselation, Sculpting of the material (hills, vertical walls, overhangs), Material transitions, Resolution of their voxels and more. In principle they do things similarly, but some things look better than on our SE2 planets.

  • New Character Model: I am sharing a character model I just received from artists. It’s for an NPC for an unannounced faction