Roads/streets as steering guide. Cars will try to stay on it

Post your ideas and suggestions how to improve the game.
tobsimon
Fast Inserter
Posts: 101
Joined: Wed Apr 29, 2015 10:58 am
Contact:

Roads/streets as steering guide. Cars will try to stay on it

In my base, I refrain from using the car. Because I embarrassingly always crash into stuff.

Think of streets as soft rails. You can leave them, but normally you stay on them.
If you are on a street and don't heavily steer to either side, you will stay on it. It should feel like the car has a steering guide, which keeps you on the street. Even in curves, but with limitations. In sharp curves at high speeds you have to steer, the steering guide won't manage alone.

How would it work?

Street tiles are 2x2, just like rail. Tileable, merging to an arbitrary large street surface. Curves and diagonals should be smoothed, I'm not sure how yet.

Steering implementations tend to define a virtual steering axle. There is a point in front of the car towards which the car drives (basically the angle of the front wheels). At high speeds the point is further away from the car than at low speeds. When you steer this point is moved some fixed distance out of the center line to one side. So at high speeds, your turns will have a bigger radius. This point is very much a physics object. It has inertia and your steering input executes force on it, counterd by a spring force pulling it back towards the center line. The steering guide also executes a force on this point, pushing it away from the edges of the road. Simple, isn't it?

How hard should it push? Not to hard, so you can break free, but hard enough to actually guide you. It should push harder the closer you are. This needs some careful balancing, so as not to bounce you away from the edge, but redirect you parallel to it.
Area of effect? Not really large. Discovery two tiles radius around this point should suffice.

This will make you want to use your car much more.

And it is the first step towards railless ground vehicle traffic in the base.

Details:
- A cobble road would only need stone and has low/no speed advantage.
- An asphalt street would also need some oil product and has a significant speed advantage.
- Maybe there should be some way to add street markings to define lanes and parking spots.
- The planes https://forums.factorio.com/forum/vie ... f=6&t=8955 need a runway. Runway lights extend this steering guide mechanism a certein length past the runway, to guide incoming planes.

Reference:
- Amit's game programming website with many ressources for steering behaviour, motion planning and obstacle avoidance
http://www-cs-students.stanford.edu/~am ... eprog.html

Related:
- This recent suggestion wanted street tiles to mark a designated driving area https://forums.factorio.com/forum/vie ... f=6&t=9860
- Wish to use the mouse to better steer the car: https://forums.factorio.com/forum/vie ... f=6&t=6015
- Roads as a mid-tech logistics alternative https://forums.factorio.com/forum/vie ... f=6&t=1157
- Mod: RoadWorks https://forums.factorio.com/forum/vie ... =14&t=4405, and corresponding request https://forums.factorio.com/forum/vie ... f=6&t=1094,
focusing on the aesthetics, and effects on speed.
- Something realated will probably be implemented for 0.12: https://www.factorio.com/blog/post/fff-67
Last edited by tobsimon on Sat May 16, 2015 8:52 am, edited 1 time in total.

lindenk
Burner Inserter
Posts: 6
Joined: Wed May 06, 2015 10:32 pm
Contact:

Re: Roads/streets as steering guid. Cars will try to stay on it.

Sounds like a great addition. It would make getting around much easier (and less destructive) imo

ssilk
Global Moderator
Posts: 10462
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Roads/streets as steering guid. Cars will try to stay on it.

Well, this is off-topic, but I want to point to a subject, cause they are a bit coupled: Transporting automated stuff. A new type of transport besides belts, bots and trains.

There are these threads, which do it by street: (that is because I mention it here)
https://forums.factorio.com/forum/vie ... f=6&t=7475
https://forums.factorio.com/forum/vie ... f=6&t=3072

And that streets will be in direct concurrence to the ropeway. https://forums.factorio.com/forum/vie ... f=6&t=7977

Again: Off-topic, just want you to throw a short eye on it, because it makes no sense to have automated transport by road AND a ropeway. But, ok, that thought is eventually too far.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

tobsimon
Fast Inserter
Posts: 101
Joined: Wed Apr 29, 2015 10:58 am
Contact:

Re: Roads/streets as steering guid. Cars will try to stay on it.

So here is a simple way to "smooth out" street tile edges for diagonals:
street edge smoothing mockup
path5040.png (6.89 KiB) Viewed 1972 times
Every tile is only either street or not, and decides by neighbour lookup, what kind of sprite to display. The sprites for diagonal edges overlap their borders a bit.

Maybe there even is no real need for a more complex setup to allow rounder curves. The cars smallest u-turn diameter appears to be 5 tiles (slow speed), the largest 14 to 15 (over 100 km/h). The mockup has a diameter of 8 tiles (radius: 4).

But if we want another edge angle in between, say 22.5°, the half angle to the diagonal, then the gradients 1:2 (26.6°) and 1:2.5 (21.8°) are both good approximations. While 1:2.5 is the better one 1:2 is tileable, so probably preferable. Below is a mockup with the 1:2.5 gradient.
street corner smoothing mockup
path5050.png (1.91 KiB) Viewed 1972 times
These gradients cause much more tile overlap and need a larger lookup area for formation detection

Smart Inserter
Posts: 6661
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Roads/streets as steering guid. Cars will try to stay on it.

Interesting.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.

voddan
Fast Inserter
Posts: 119
Joined: Sat Jun 03, 2017 9:22 pm
Contact:

Re: Roads/streets as steering guide. Cars will try to stay on it

That would be a nice addition! IRL this feature is know as lane-keep assist, which keeps a car on a lane unless a bigger steering force is applied by the driver

Smart Inserter
Posts: 3057
Joined: Tue Jul 12, 2016 9:03 am
Contact:

Re: Roads/streets as steering guide. Cars will try to stay on it

Long Handed Inserter
Posts: 86
Joined: Sat Sep 23, 2017 10:58 pm
Contact:

Re: Roads/streets as steering guide. Cars will try to stay on it

Maybe have it as a toggle as opposed to being always on but allowing you to break free because with your suggestion it would still be possible to accidentally drive off the road.

Aeternus
Filter Inserter
Posts: 831
Joined: Wed Mar 29, 2017 2:10 am
Contact:

Re: Roads/streets as steering guide. Cars will try to stay on it

Bit of a gravedig this thread. There's a mod that handles this by now, AAV.

 I do like the idea of an Asphalt surface. Stone (grind) + heavy oil (Tar) -> Fast surface. Will split that off into a separate suggestion.

Joe78man
Burner Inserter
Posts: 13
Joined: Thu May 05, 2016 8:36 pm
Contact:

Re: Roads/streets as steering guide. Cars will try to stay on it

I would be happy if there was a key that when pressed the vehicle would adjust to the closest 45° angle. I often found myself turning left and right constantly attempting to straighten the car at top speed, sometimes crashing with a post or lamp or something just because it is not possible to make a minor adjustment at that speed.

How about asphalt, where vehicles have a speed (and break) bonus AND after 1 second it would align to the closest cardinal point, set every 45°? The break bonus is also necessary IMO

xfir01
Long Handed Inserter
Posts: 68
Joined: Fri Feb 10, 2017 5:08 pm
Contact:

Re: Roads/streets as steering guide. Cars will try to stay on it

There's a mod that will do something similar to that. I pretty much need it to not crash into everything.

https://mods.factorio.com/mod/VehicleSnap

Who is online

Users browsing this forum: No registered users