Space Engineers

Space Engineers

DAS - Driver Assisting System
Rubezagel 19 nov, 2018 @ 11:48
Feature/Improvement Suggestions
Like I wrote in the comment section, here are a couple of suggestions I've been thinking about:

1) I often use "S" for braking/deaccelerating (many others do, I suspect) - when I press it too long the vehicle will go in reverse instantly after coming to a stop. Would be nice if I had to press the key again to go in reverse. Alternatively/additionally it'd be cool to have seperate speed and acceleration limits for reverse gear - in fact the reverse acceleration being too high is my main problem with the "S" key behaviour.

2) It's a bit hard to describe, but personally, I find the GSA alignment correcting a bit too agressive sometimes. Especially noticable when standing still on uneven surfaces, when it tries to lift the vehicle continuously every second or so, resulting in multiple wheels above the ground. Also, suspensions seem a bit underused, and suspensions just look cool :) Not sure how to solve this... maybe with an "acceptable alignment deviation" variable?

3) Thats a big one: Skid steering, like seen on tanks or short vehicles like fork lifts and so on. Haven't found a good script for it yet. Whiplash is working on one - it works, but far from perfect thats probably why he hasn't released it on the workshop yet. It just doesn't feel/look right to me, seems to rely on minimal friction and gyro mostly. It's on his github repository: https://github.com/Whiplash141/SpaceEngineersScripts/tree/master/Public
I suspect your script (TCS) already has a lot of the framework needed for proper skid steering - like fine control over friction, wheel torque and so on. Big feaure obviously and not an easy one, but would be really amazing to see that one day.
< >
Visar 16-30 av 84 kommentarer
Wanderer_308  [utvecklare] 11 mar, 2019 @ 14:23 
@Jakaya here a small script that trigger play and stop on sound block when S key pressed:
string SoundBlockNameSuffix = "Back-up beeper"; List<IMySoundBlock> SoundBlocks; List<IMyShipController> Controllers; StringBuilder Str; int Indx; bool IsPlaying; public Program() { SoundBlocks = new List<IMySoundBlock>(); Controllers = new List<IMyShipController>(); Str = new StringBuilder(); GridTerminalSystem.GetBlocksOfType(SoundBlocks, block => block.CustomName.Contains(SoundBlockNameSuffix)); GridTerminalSystem.GetBlocksOfType(Controllers, block => block.CubeGrid == Me.CubeGrid); Runtime.UpdateFrequency = UpdateFrequency.Update10; } public void Main(string args, UpdateType updateSource) { Vector3 input = Vector3.Zero; for(int i = 0; i < Controllers.Count; i++) { if(Controllers[Indx].IsUnderControl) { input = Controllers[Indx].MoveIndicator; break; } Indx = (Indx + 1) % Controllers.Count; } if(input.Z > 0) // play sound { if(!IsPlaying) { foreach(var b in SoundBlocks) b.Play(); IsPlaying = true; } } else // stop sound { if(IsPlaying) { foreach(var b in SoundBlocks) b.Stop(); IsPlaying = false; } } Str.Clear(); Str.AppendFormat("Instructions used: {0:G}/{1:G}\nLast run time: {2:F3} ms", Runtime.CurrentInstructionCount, Runtime.MaxInstructionCount, Runtime.LastRunTimeMs); Echo(Str.ToString()); }
Put it in separate PB.
Senast ändrad av Wanderer_308; 11 mar, 2019 @ 14:25
Jakaya 11 mar, 2019 @ 16:26 
<3 you :sexy: Thankyou so much im literally gonna go add this now to my trucks gonna drive my misses insane XD :steamhappy:
Steelkilt 13 mar, 2019 @ 21:37 
Is it completely out of the question to add commands like lock and unlock? For example to have a rover locked and docked in a garage, then have it detach itself and go to a way-point under some condition? Or even better to have the Rover dock with a connector, go to a new way-point and dock with another connector then back again using your loop/patrol behavior?
Wanderer_308  [utvecklare] 14 mar, 2019 @ 12:28 
@Steelkilt i'd suggest using timer blocks and sensors for that. You can put commands to start and stop autopilot and reverse route into timer's actions, as well as connect/disconnect.
Steelkilt 14 mar, 2019 @ 13:54 
Holy cow I didnt even think about timers, thanks so much, that will do nicely!
Carbonschmied 15 mar, 2019 @ 2:08 
@wanderer308 this reverse beeper script is so cool. I immediately implemented it to the tractor! :D
Spite 23 apr, 2019 @ 12:31 
Hello Again Wanderer_308!

I'm not sure if my request is already a feature or not, but I couldn't find anything. Is there a way to keep DAS running and doing its thing with the wheel settings, but stop it from changing suspension height?

Specifically for a mining vehicle that controls the incline of its drills by altering wheel suspension height, as in this one here: https://steamcommunity.com/sharedfiles/filedetails/?id=1718346748

If not, no problem! (Not sure how difficult it would be to implement)
Wanderer_308  [utvecklare] 23 apr, 2019 @ 14:03 
@Spite Curently the only way is to do that is to get rid of suspension height handling subroutine. For that is enough to delete the line:
if(!HStMachine.MoveNext()) HStMachine = UpdateHeight();
Also if you have gyroscopes they may try to re-align vehicle when it's in incline mode, so i would suggest to turn off gyros or disable GSA subroutine.
Spite 23 apr, 2019 @ 22:31 
Oh, that's not too hard :) Thank you for your help!
Senast ändrad av Spite; 23 apr, 2019 @ 22:31
Spite 24 apr, 2019 @ 2:06 
Hi Wanderer_308, yet another question for you, I have been trying out the autopilot feature (with the timer block trigger) is there a way to make the timer block trigger on certain waypoints and not others? Or even trigger only at the first and last waypoints?

For example, I would like to set up a vehicle that goes from one connector to another, docking at each. This is done easily if I have two waypoints; one at each connector.

However if the route has to go around a hill or something like that, and I have to set up additional waypoints to navigate around the obstacle, the vehicle ends up waiting at each waypoint as if it were at a connector.

Its really no problem, after all autopiloted ground vehicles are already effort-free transport once set up, but it would be nice to have a smoother ride.

Thank you!
Wanderer_308  [utvecklare] 24 apr, 2019 @ 12:26 
@Spite Technically yes, sure, it's possible. But how about more engineer approach? How about a sensor block that reacts to the large grid, when detected it turns timer block ON, so when autopilot triggers it will work, and when large grid leaves sensor ranger it turn timer OFF, so when autopilot triggers it will not work. Also, autopilot wait time set to 0, but timer block, one that triggered by autopilot, switch autopilot off an also starts another timer block, which in turn count wait time and once the time is up it resumes autopilot with RESUME_AUTOPILOT command.
Spite 24 apr, 2019 @ 12:33 
Something like this would be my second option, just making sure I didn't miss something in the script that I could use.

Thanks anyway

Edit: here is the engineer approach vehicle: https://steamcommunity.com/sharedfiles/filedetails/?edit=true&id=1731652700
Senast ändrad av Spite; 4 maj, 2019 @ 3:11
Vorg 10 sep, 2019 @ 23:08 
Another player on a server I play loaded up an old school large grid mining truck which had 2 large containers and used rotors for the rear wheels. Ran into a problem with it unable tp climb a much because of the load when full of ice. While looking at adding more wheels and going to 5x5 wheels, I found that rotors are WAY more powerful and needed in this case. Can DAS be made aware of rotor wheels?

Also for rotor wheel suspension I found this script: https://steamcommunity.com/sharedfiles/filedetails/?id=1471585938
Haven't tried it so don't know if it still works.
Wanderer_308  [utvecklare] 11 sep, 2019 @ 9:49 
Short answer: no, will never happen, sorry.
Full answer: rotors are very different from the suspension wheels. It has no control over friction, it can't steer, calculation the size of the 'wheels' is not guaranteed to give correct numbers. It also needs different math to calculate speed and torque, and there is already almost no free space in PB's symbol limit. I suggest you to find or make a dedicated script for this purpose.
7h3PuNiSh3R 18 sep, 2019 @ 21:55 
auto level vehicle over ruff terrain using suspesion only please vehicle stays level at all times using suspension instead of gyro
< >
Visar 16-30 av 84 kommentarer
Per sida: 1530 50