Page 1 of 1

Determining vehicle direction on roads

Posted: 20 Jul 2018, 04:25
by CommanderABab
How to change the standard movement on roads:

Remember, arrays start with 0. :)
innerr.png
innerr.png (2.04 KiB) Viewed 19960 times

Subtile Order of Each Road Tile:

..........❌
.....❌ 2 ❌
.❌ 0 ❌ 3 ❌
.....❌ 1 ❌
..........❌


Moving direction is the sum of:
(This is from one of the subtiles above; a vehicle has reached this spot, the sum equals the possible directions it can go from here.)
↘️ 1
↗️ 2
↖️ 4
↙️ 8

So, "No direction" would be 0. Thus the vehicle would stop and most likely despawn. All directions would be 15 (for intersections).

An example of dirs for a two way road (24 number array):
(Dirs need to be provided for the frame in the comments, the others are determined from these)

Code: Select all

    "dirs":[
      12,9,3,6 , //0
      1, 1, 8,4,  //1
   
      1,1, 8, 2,  //3
  
      9,9,6,6, //5
    
      1, 3, 12, 6,  //7
  
      13,11,14,7 //15
    ]
An example of dirs for a one way road (64 number array):
(One for each of the first 15 road frames, the others are adapted from these.)

Code: Select all

      "dirs":[
       0,0,0,0,
       1,1,1,1,
       2,2,2,2,
       1,1,9,1,
       4,4,4,4,
       9,9,3,3,
       3,2,2,2,
       3,3,3,3,
       8,8,8,8,
       3,3,1,1,
       6,3,6,3,
       3,3,3,3,
       9,8,9,8,
       9,9,9,9,
       6,6,6,6,
       11,11,11,11
    ]
Note: the numbers in these examples are from my b3.plugin, which allows non-standard road movements so that cars can switch lanes across 3 or more lanes from the inner 2 way road straight sections across the straight sections of the one way roads placed adjacent. Thus, the cars may be seen driving off the side of ramps. :)

Re: Determining vehicle direction on roads

Posted: 20 Jul 2018, 04:31
by CommanderABab
Image


So, you may see the t intersection directions better. :)

7,11,13,14 above are the t intersections. The yellow line though the center has breaks instead of being solid.

Re: Determining vehicle direction on roads

Posted: 20 Jul 2018, 08:41
by Mg3094066
Aaaaaaa my head will exlode D:

Re: Determining vehicle direction on roads

Posted: 06 Jun 2019, 02:07
by CommanderABab
CommanderABab wrote:
20 Jul 2018, 04:25
How to change the standard movement on roads:

Remember, arrays start with 0. :)
Image


Subtile Order of Each Road Tile:

..........❌
.....❌ 2 ❌
.❌ 0 ❌ 3 ❌
.....❌ 1 ❌
..........❌


Moving direction is the sum of:
(This is from one of the subtiles above; a vehicle has reached this spot, the sum equals the possible directions it can go from here.)
↘️ 1
↗️ 2
↖️ 4
↙️ 8

So, "No direction" would be 0. Thus the vehicle would stop and most likely despawn. All directions would be 15 (for intersections).

An example of dirs for a two way road (24 number array):
(Dirs need to be provided for the frame in the comments, the others are determined from these)

Code: Select all

    "dirs":[
      12,9,3,6 , //0
      1, 1, 8,4,  //1
   
      1,1, 8, 2,  //3
  
      9,9,6,6, //5
    
      1, 3, 12, 6,  //7
  
      13,11,14,7 //15
    ]
An example of dirs for a one way road (64 number array):
(One for each of the first 15 road frames, the others are adapted from these.)

Code: Select all

      "dirs":[
       0,0,0,0,
       1,1,1,1,
       2,2,2,2,
       1,1,9,1,
       4,4,4,4,
       9,9,3,3,
       3,2,2,2,
       3,3,3,3,
       8,8,8,8,
       3,3,1,1,
       6,3,6,3,
       3,3,3,3,
       9,8,9,8,
       9,9,9,9,
       6,6,6,6,
       11,11,11,11
    ]
Note: the numbers in these examples are from my b3.plugin, which allows non-standard road movements so that cars can switch lanes across 3 or more lanes from the inner 2 way road straight sections across the straight sections of the one way roads placed adjacent. Thus, the cars may be seen driving off the side of ramps. :)

Re: Determining vehicle direction on roads

Posted: 06 Jun 2019, 02:40
by CommanderABab

Code: Select all

    "dirs":[
      12,9,3,6 , //0
      1, 1, 8,4,  //1
      1,1, 8, 2,  //3
      9,9,6,6, //5
      8, 1, 6, 6,  //7
      8,1,4,2 //15
    ]

Where will it go?

:)

Re: Determining vehicle direction on roads

Posted: 04 Jul 2019, 12:07
by CommanderABab
Currently used in green road special:

Code: Select all

    "dirs":[
      12,9,3,6 , //0
      1, 1, 8,4,  //1
      1,1, 8, 2,  //3
      9,9,6,6, //5
      9, 1, 6, 6,  //7
      8,1,4,2 //15
    ]
Screenshot_20190704-054947.jpg

Re: Determining vehicle direction on roads

Posted: 04 Jul 2019, 12:31
by Lakan Haraya
CommanderABab wrote:
06 Jun 2019, 02:40

Code: Select all

    "dirs":[
      12,9,3,6 , //0
      1, 1, 8,4,  //1
      1,1, 8, 2,  //3
      9,9,6,6, //5
      8, 1, 6, 6,  //7
      8,1,4,2 //15
    ]

Where will it go?

:)
Answer key ;)
Conversion to moving directions
↖&↙,↘&↙,↗&↖,↘&↗ //0 (frame 0)
↘,↘,↙,↖ //1 (frame 1)
↘,↘,↙,↗ //3 (frame 3)
↘&↙,↘&↙,↗&↖,↗&↖ //5 (frame 5)
↙,↘,↗&↖,↗&↖ //7 (frame 7)
↙,↘,↖,↗ //15 (frame 15)
:calc
I think frame 0 won't spawn in this moving directions, frame 1 looks like a U-turn slot, frame 3 is a 2-way road turning to the perpendicular row of tiles, frame 5 seems to be a 2-way road bounded intersection for directions 2 ↗ (for 4 ↖) and 8 ↙ (for 1 ↘), frame 7 is more like these sequence... ↙,↘,↖↗,↖↗ ... :)
Frame 15 is fully bounded intersection (I mean, the vehicles will only turn right in the corner)
:bt
To illustrate:
received_1384531225019585-1.jpg

Re: Determining vehicle direction on roads

Posted: 04 Jul 2019, 14:06
by CommanderABab
I'm glad that you are taking interest. :)

Frame 0 is just a single road tile unconnected. The idea here is if a car spawns here, it will move to an adjacent road if available.

Note my restored post above showing what I currently use in Green Road Special.

You are correct about frame 15.

Frame 1 is the end section of the road.

Frame 3 is the curve of the road.

Frame 5 is the straight of the road, connected on both ends. The idea here is that this two way section can be used as a median section between two one way spans. Cars can thus move to the one way spans also, in addition to going straight.

You are correct about frame 7 as you quoted it, but in the actual plugin, cars can also go straight instead of being forced to turn right. But I still do not allow the left turn. And, on the far side of the T, it still behaves as the straight section.

Re: Determining vehicle direction on roads

Posted: 04 Jul 2019, 15:04
by Lakan Haraya
I thought about it one night... I knew it!
It is interesting for traffic management and I think it could be a helpful tool to create real-life gas station in the game... I mean, passing cars beneath the station's roof... :/

Re: Determining vehicle direction on roads

Posted: 09 Jul 2020, 00:32
by choggoba
I have a question.
1. Why did you define only 0,1,3,5,7,15 frames?
2. May I have the frame number of 16 one way road?

Re: Determining vehicle direction on roads

Posted: 09 Jul 2020, 01:33
by ian`
choggoba wrote:
09 Jul 2020, 00:32
I have a question.
1. Why did you define only 0,1,3,5,7,15 frames?
I think there are the first number of road rotation frames.

Code: Select all

0              // haven't rotation frames
1 - 2 - 4 - 8
3 - 6 - 9 - 12
5 - 10
7 - 11 - 13 14
15
2. May I have the frame number of 16 one way road?
Yes, just count the frames from 1 not 0. lol
If you mean there are be more than 64 arrays, i think you can't and what for is it?

Re: Determining vehicle direction on roads

Posted: 13 Jul 2020, 06:24
by mbetixz
thanks for awesome tutorial, its will be helpful now 😊

Re: Determining vehicle direction on roads

Posted: 14 Mar 2021, 19:51
by imajoke
Can I have the dirs for the actual one way road? I still want to make a road where cars can pass (I dont care about if its safe for them or not)

Re: Determining vehicle direction on roads

Posted: 02 Feb 2022, 05:58
by CERRERA
Hello
I need help
Its possible to make my diagonal" as half way road
one way.png
one way.png (22.21 KiB) Viewed 15159 times


When I try to make 1 way diagonal this was happened
Bug.jpg

Re: Determining vehicle direction on roads

Posted: 17 Nov 2022, 17:34
by burgernamn
im losing braincells every minute i try to understand this

Re: Determining vehicle direction on roads

Posted: 17 Jan 2023, 18:02
by Guest
Wekabu city wrote:
14 Jan 2023, 18:33
Show
id : adjacency
0 = None
1 = South
2 = East
3 = South and east
4 = North
5 = North and south
6 = North and east
7 = North and south and east
8 = West
9 = West and south
10 = West and east
11 = West and south and east
12 = West and north
13 = West and north and south
14 = West and north and east
15 = West and north and south and east
Basically all four cardinal directions are a bit. 1 is south, 2 is east, 4 is north and 8 is west. By adding the bits you get the frame id.
arrowframes.png
arrowframes.png (2.33 KiB) Viewed 12839 times

Re: Determining vehicle direction on roads

Posted: 23 Jun 2025, 08:11
by Marvel
CommanderABab wrote:
20 Jul 2018, 04:25
How to change the standard movement on roads:

Remember, arrays start with 0. :)

innerr.png

Subtile Order of Each Road Tile:

..........❌
.....❌ 2 ❌
.❌ 0 ❌ 3 ❌
.....❌ 1 ❌
..........❌


Moving direction is the sum of:
(This is from one of the subtiles above; a vehicle has reached this spot, the sum equals the possible directions it can go from here.)
↘️ 1
↗️ 2
↖️ 4
↙️ 8

So, "No direction" would be 0. Thus the vehicle would stop and most likely despawn. All directions would be 15 (for intersections).

An example of dirs for a two way road (24 number array):
(Dirs need to be provided for the frame in the comments, the others are determined from these)

Code: Select all

    "dirs":[
      12,9,3,6 , //0
      1, 1, 8,4,  //1
   
      1,1, 8, 2,  //3
  
      9,9,6,6, //5
    
      1, 3, 12, 6,  //7
  
      13,11,14,7 //15
    ]
An example of dirs for a one way road (64 number array):
(One for each of the first 15 road frames, the others are adapted from these.)

Code: Select all

      "dirs":[
       0,0,0,0,
       1,1,1,1,
       2,2,2,2,
       1,1,9,1,
       4,4,4,4,
       9,9,3,3,
       3,2,2,2,
       3,3,3,3,
       8,8,8,8,
       3,3,1,1,
       6,3,6,3,
       3,3,3,3,
       9,8,9,8,
       9,9,9,9,
       6,6,6,6,
       11,11,11,11
    ]
Note: the numbers in these examples are from my b3.plugin, which allows non-standard road movements so that cars can switch lanes across 3 or more lanes from the inner 2 way road straight sections across the straight sections of the one way roads placed adjacent. Thus, the cars may be seen driving off the side of ramps. :)
Isnt the frame 0 supposed to be 12,9,6,3 instead of 12,9,3,6 ?

Re: Determining vehicle direction on roads

Posted: 24 Jun 2025, 04:19
by CommanderABab
Marvel wrote:
23 Jun 2025, 08:11
CommanderABab wrote:
20 Jul 2018, 04:25
How to change the standard movement on roads:

Remember, arrays start with 0. :)

innerr.png

Subtile Order of Each Road Tile:

..........❌
.....❌ 2 ❌
.❌ 0 ❌ 3 ❌
.....❌ 1 ❌
..........❌


Moving direction is the sum of:
(This is from one of the subtiles above; a vehicle has reached this spot, the sum equals the possible directions it can go from here.)
↘️ 1
↗️ 2
↖️ 4
↙️ 8

So, "No direction" would be 0. Thus the vehicle would stop and most likely despawn. All directions would be 15 (for intersections).

An example of dirs for a two way road (24 number array):
(Dirs need to be provided for the frame in the comments, the others are determined from these)

Code: Select all

    "dirs":[
      12,9,3,6 , //0
      1, 1, 8,4,  //1
   
      1,1, 8, 2,  //3
  
      9,9,6,6, //5
    
      1, 3, 12, 6,  //7
  
      13,11,14,7 //15
    ]
An example of dirs for a one way road (64 number array):
(One for each of the first 15 road frames, the others are adapted from these.)

Code: Select all

      "dirs":[
       0,0,0,0,
       1,1,1,1,
       2,2,2,2,
       1,1,9,1,
       4,4,4,4,
       9,9,3,3,
       3,2,2,2,
       3,3,3,3,
       8,8,8,8,
       3,3,1,1,
       6,3,6,3,
       3,3,3,3,
       9,8,9,8,
       9,9,9,9,
       6,6,6,6,
       11,11,11,11
    ]
Note: the numbers in these examples are from my b3.plugin, which allows non-standard road movements so that cars can switch lanes across 3 or more lanes from the inner 2 way road straight sections across the straight sections of the one way roads placed adjacent. Thus, the cars may be seen driving off the side of ramps. :)
Isnt the frame 0 supposed to be 12,9,6,3 instead of 12,9,3,6 ?
Thank you for bringing this to my attention.
For an immediate turn around, it appears that you are right.
Maybe also 9,12,3,6 so that cars circle the square before exiting (which was probably my intention) .:)

Re: Determining vehicle direction on roads

Posted: 25 Jun 2025, 21:30
by Matthew H
from what i am understanding:
each road has up to 4 connections to the surrounding tiles (therefore 16 different combinations of connections)
each tile has 4 subtiles that determine how cars move to and from each different road tile
these subtiles also have up to four connections each, again creating 16 combinations of the connections, in the same order
if we assume that each of these connections is visualized as a line from the center of the subtile to the edge of the subtile, then:
vehicles can travel (in either direction depending on if you have left or right hand traffic and which subtile it is on) between subtiles either if (a valid connection is one where the subtile has a line from the shared edge with the other subtile)(vehicles travel from the incoming subtile to the outgoing subtile):
1) both subtiles have a valid connection (i.e. BOTH have a line that starts on their shared edge and ends in their center)
2) if the outgoing subtile has a valid connection regardless if the incoming subtile has a valid connection
3) if the incoming subtile has a valid connection regardless if the outgoing subtile has a valid connection
4) if either the outgoing, incoming, or both have a valid connection

so is it 1,2,3, or 4?
also am i completely off?

Resized_20250625_121932.jpeg