#14 Transport Update, also rigidbody character controller, patches and start menu


If you upload new game versions frequently on Itch use Butler! It's really good! I have shied away from it for too long, seeing the command line interface, but you really just have to put one line in and that's it. Then you can just upload small patches and users download them when they use the app. It's really a no-brainer. Especially useful when you have several platforms to upload every time. And you can even use it for version number checking. Very useful!

I implemented this as well as the start menu and the rigidbody character controller already on my other game so it should be easy to bring it to StarbaseSim - so I thought - but wrong! The first issue was that I had to implement articulation body handling for the character controller that I used. While this was basically done in one day, there was still an issue with riding said articulation bodies like the Ship QD Arm. Since articulation bodies don't have interpolation for their transforms, I had to deactivate it on the character controller when riding the arm, so that it doesn't jitter around when the graphics and physics frame rate don't match up. This took already a while to figure out and then there were suddenly issues with the character controller getting kicked and rotated when running into one of the arm's colliders when the arm is moving. I never really found a solution to this problem. Just a workaround by making it harder to get kicked and bringing the rotation back to horizontal constantly. Kinda ugly, but it does the job.

At least we have now character that can interact with physics properly, ride stuff and even swim! :)

That's important also to be able to ride the SPMT (Self Propelled Modular Transporter). This was another fun with Unity components - in this case using their implementation for a wheel collider including simple suspension. I had no idea how this stuff works, so I thought, better start with what is coming with Unity. Soon enough I figured out that it only supports 20 wheels connected to one rigidbody. Too bad, because an SPMT for Starship transport has 16 wheel units on both sides with two wheels each, so 64 in total! But I still wanted to see how far I can get with Unity's wheel collider. So I went on with it.

Now, I could have connected several SPMT modules, each with a maximum of 20 wheels, together with physics joints, but I had some fears that this might be problematic after my experience with joints and rigidbodies. So I decided to just go ahead with 18 wheels in total, so 9 on each side, after initial testing with 4 wheels. It works surprisingly well! OK, the collider is just a flat disc, so the wheels just collide with something on the side of the whole wheel unit (see attached video), and I also had to interpolate/copy the wheel movement for every second wheel unit that didn't have a collider. But other than that, it's usable. It just took a little to figure out how to setup the weights and suspension and friction parameters so that stuff is not sliding around all the time. But for now it is working and I am quite happy with it. It seems there are more advanced wheel solutions on the asset store which supposedly have better performance even. But I think I can do without it for the moment. 

The only issue is still that there are a lot of moving parts with the suspension especially, so lots of draw calls. I have optimized it quite a bit, but if you are close up, it'll take its toll. I think the physics were also noticeable already. So, I am not so sure about the feasibility of dual SPMTs. Let's see...

Then there's also a start menu now to load faster into the game on the first time or load in at all. It's a bit basic, but it's not that important anyway. I need to find a better background picture sometime and a proper theme song. For the moment there is just some placeholder stuff.

Main changes/additions:

  • start menu
  • rigidbody character controller
  • SPMT
  • transport stands
  • patching system and version check
  • some smaller bug fixes and changes here and there
  • also updated the berm a little and added the new vaporizer on the tank farm

Files

StarbaseSim-Windows 596 MB
Version 2023-01-03 Jan 03, 2023
StarbaseSim-Mac 560 MB
Version 2023-01-03 Jan 03, 2023
StarbaseSim-Linux 664 MB
Version 2023-01-03 Jan 03, 2023

Get Starbase Simulator

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

2023-01-13

- SPMT: added spring damping slider to control panel

- added new spawnable item in mod menu

- the spawnable item, the landing target and some of the existing props and lights can be picked up and moved around (not yet working in VR)

- added changelog and credits menu at the bottom of the main menu

- added possibility to set and recall up to 5 custom positions

- custom start pos saves also rotation now

- adjusted brightness and contrast a little - if you don't like it, you can now adjust those yourself in additional settings

- made the menu options that appeared when toggling ray tracing always visible, as GI and AO are also useful without ray tracing

- raptor material UV mode was in worldspace for some reason, so the UV's moved around, fixed it now

- fixed catcher oscillating around target height at higher speeds

- fixed cryo tank inlet not transmitting current world pos (a.k.a. not being able to refuel after landing)

- moved sea water level a bit lower so that waves are not protruding ground from below (I use Unity's "infinite" ocean currently)

- small changes on terrain (and more to come...)

2023-01-03

- reduced SPMT spring damping a bit to reduce sideways sliding

- tweaked SPMT steering a bit, it's faster now and changing mode isn't instant anymore

- fixed Starship payload door section collider (there was a missing section which got stuck on the arms often)

- moved main menu close button to upper right and version info down