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
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