Spiritus Astrum [P0-B10]: p1491: Towards Early Access
I have finished the 8th mission out of the 10 missions in the third campaign.
This one was relatively easy, but there were still some new mechanics that I had to add involving gravity vectors, jetpack velocity, and walking on 3D objects.
Walking on 3D objects is an issue I have struggled with before. I want the player to be able to walk on the exterior hull of starships, etc, and have the gravity vector point down into the hull. This is difficult to do, because if I point the gravity vector toward the center of the ship, the players position will be “slanted” toward the center. If I point it toward the surface normal of the surface they are walking on then the gravity will suddenly shift every time they walk over an uneven surface.
I eventually a solution that works fairly well. I simply consider the object as a cube, and get the “face” of the cube that the player is on, then use the upvec of that face as the gravity direction. As the player moves around the object, change the upvec gradually (Using slerp). This is crude, and likely only works for generally square shaped objects, like starships, but it works ok. For more rounded objects, simply pointing the gravity vector towards the center might work better.
I have also started work on Mission 9. I thought that this wouldbe one of the most complex missions in terms of mechanics, since it involves generating a section of geometry procedurally using Wave Function Collapse.
However, in actual fact, preliminary research and testing has gone very well, and it may not actually be as difficult as I thought!
I am hopeful that I will get this mission and the last one done in the next few weeks.
