Chapter 5 of The Nature of Code, Autonomous Agents, implements Reynolds steering and the three boids rules: separation, alignment, and cohesion. The environment here contains real independent agents.

I drop the flock into live OpenSky traffic over the Alps, so separation has to work against real aircraft, not only other boids.

The page fetches live aircraft states over the Alps from the OpenSky Network (position, true track, ground speed) and draws each as an oriented marker. A boids flock runs the three rules plus a repulsion from every real aircraft, so the emergent flocking must resolve against measured air traffic.

The three steering vectors are separation \(\mathbf{s} = -\sum_{j} \mathbf{r}_{ij}/\lVert \mathbf{r}_{ij} \rVert^2\), alignment \(\mathbf{a} = \langle \mathbf{v}_j \rangle - \mathbf{v}_i\), and cohesion \(\mathbf{c} = \langle \mathbf{x}_j \rangle - \mathbf{x}_i\), summed into a force limited by \(\lVert \mathbf{F} \rVert \le F_{\max}\) with speed capped at \(\lVert \mathbf{v} \rVert \le v_{\max}\). The naive neighbor evaluation over \(n\) agents is \(O(n^2)\). Aircraft headings are ADS-B true-track angles.

Data source: The OpenSky Network states API
Endpoint: https://opensky-network.org/api/states/all?lamin=45&lomin=5&lamax=48&lomax=11
Access: Public, no key. Loaded from an hourly server-side refresh when possible, with a bundled snapshot fallback, and a live browser fetch only when the API allows CORS. Data window: Sep 16, 2026 (pulled Sep 16, 2026 UTC)

Latest data pull 217 rows
Sep 16, 2026 (pulled Sep 16, 2026 UTC)
Callsign
Latitude
Longitude
Heading (°)
Speed (m/s)
PGT389G
47.546
7.559
335.1
69.7
WZZ337
47.555
6.666
290.7
205.1
MBU6GN
46.51
6.751
208.3
200.5
AOJ78Z
46.799
9.938
304.9
222.1
AUA141J
47.454
8.557
185.6
0
NSZ5052
45.52
5.242
52.7
264.6
EJU7278
47.055
6.636
196.9
193.5
VOE8QZ
45.036
5.855
332.9
229.4
EJU95RY
45.685
7.735
310.9
195.9
NSZ2WP
45.908
6.464
352.4
249.1
EJU89JK
47.191
7.932
283.9
197.6
MEA229
47.083
8.589
284
211
EZY23RD
47.904
6.252
107.4
215.6
WZZ908
45.625
8.717
258.8
0
EJU78LQ
45.372
7.733
105
241.2
EJU7571
47.668
7.475
334.1
85.8
AMQ343
45.767
10.925
50.5
270.1
TAY6BS
47.599
7.523
334.8
75
ITY227
45.209
9.24
65.6
105.7
ITY1793
45.026
9.794
162.5
195.2
THY9YH
45.614
10.708
273.3
180.9
FGMQL
45.422
5.085
119
76.5
LAV2341
45.577
9.732
40.1
262.9
EXS409M
47.576
10.939
134.8
243.7
VLG30CZ
47.443
8.761
276.3
84.4
THY33C
45.628
9.424
277.3
205.9
DRAG153
45.685
9.047
185.2
11.4
BEL2CA
47.144
6.025
1.5
217.7
BEL6ZH
47.662
7.602
154.6
227.8
VOE7WZ
45.326
10.787
45.5
91.7
UAE4PV
46.803
6.096
318.6
238
ENT438
47.007
10.881
314.2
219
FHJPF
45.09
5.112
248.2
44.3
VOE58UJ
45.385
8.823
73.3
257.3
JFA33P
47.572
5.049
41.9
156.3
JFA34E
46.424
6.384
224.8
87.7
BAW586M
45.417
8.843
291.8
116.4
JFA33N
46.972
8.402
326.3
0
JFA17S
45.99
5.135
331.9
139.9
AIZ742
47.933
8.918
96
261.2
IBE07WR
46.232
6.448
49.7
257.7
DLH276
45.558
8.444
117.5
181.6
LOT6391
45.444
10.493
215.8
204.2
NJE200D
46.311
6.216
227.7
85.6
KLM1936
46.224
6.088
226
83
DWW291
47.361
7.463
197.9
168.7
ICNTX
45.671
9.276
77.9
56.3
LGL6494
47.622
6.398
359.8
189.3
SXS6RU
47.158
8.26
281.8
169.2
SWR5TQ
47.486
8.532
324.6
71.9
TRA6M
47.078
6.403
339.9
233.9
SWR51D
47.358
8.858
79.8
139.1
DRC098
45.25
6.72
359.2
253.1
SWR4DM
47.536
8.48
321.7
87.9
EZY2146
47.907
6.342
297.3
203.9
WUK8SJ
47.38
10.986
113.9
257.7
THY7
45.371
6.096
278.6
230.5
RGA01
47.492
8.713
188.5
62.9
RGA10
46.897
7.479
141.2
71.3
RGAIK
47.35
9.217
35.5
13.3
RGA02
47.647
7.526
191
54
THY1PA
47.403
10.808
272.9
212.2
RJA103
45.559
10.904
294.8
224.9
BEL6VF
47.584
6.279
357.5
238.9
MIKE3
45.616
8.734
106.9
4.9
EIN4WL
47.03
5.841
332.7
234.5
RYR61NG
47.642
8.615
16.2
256.6
RYR95HJ
45.374
6.479
354.4
248.1
CFE939
45.435
9.28
264.4
2.1
HBZVX
46.036
8.93
259.9
32.4
DEGUT
45.717
9.563
226.2
70.6
RYR9Z
45.536
9.821
143.4
135.3
GTA1
47.606
7.524
101.3
3.3
AFR253
46.823
5.855
322.1
246.4
DILIA
46.241
6.726
46.1
207
TOM5HT
45.975
10.65
294.9
208.1
RYR2DD
46.411
5.827
229.8
198.6
RYR33PK
45.285
8.636
238.7
208.2
HBSGT
47.528
9.014
248.2
24.9
EJU54KW
45.715
5.084
16.9
0
TVS36A
47.062
10.44
37.8
253.4
HBZPO
46.188
7.001
331.9
0
EJU67NG
45.644
8.724
334.7
4.6
NAK727T
46.811
5.062
231.7
90.5
EJU4696
45.959
7.224
310.1
223.8
PGT956
46.128
5.98
163.2
117.7
EJU94VR
45.457
9.278
0
6.9
AFR97DR
46.234
6.107
149.1
4.4
SWR9AM
47.516
7.777
267.6
181.8
SWR4KW
47.454
8.558
185.6
0
SWR1TX
47.462
8.564
317.8
0.1
SWR7EB
47.454
8.557
5.6
0
SWR3CX
47.456
8.562
98.4
8.2
SWR8QE
47.445
8.566
334.7
0
DLH71X
47.683
8.439
177.1
215.8
DLH64M
46.513
6.953
49.7
267.9
DLH2PP
47.452
8.63
275.6
63.6
DLH24T
46.191
10.496
25.2
259.4
DLH08F
45.031
6.753
15.8
260.4
DFITI
47.29
8.24
73.9
140.8
FHAFG
46.179
6.226
134.3
58.2
DLH9MF
47.368
8.874
137.6
232
LBT246
47.003
9.006
358.3
242.4
TE26
47.454
8.556
168.8
3.3
TE22
47.454
8.557
177.2
0.9
ATL780
47.447
8.566
258.8
7.5
CFG6HW
47.043
10.853
2
218.8
EXS83RQ
46.96
10.776
132.4
245.8
RTT1
47.461
8.553
188.4
0
AFR37UG
46.723
5.494
333.8
204.8
NJE082L
45.058
5.59
92.6
235.4
BAW667
47.448
10.421
312.9
213.3
DLH07A
46.349
10.938
223.1
216.9
CFG7DH
47.454
8.557
5.6
0
ALT777
47.442
8.558
123.8
8.8
ATL781
47.45
8.558
281.3
7.7
EWG12L
47.519
6.643
176.1
213
SWR5AX
47.453
8.557
95.6
12.4
SWR5BP
47.749
10.557
72.7
232.8
SWR493Z
47.447
8.565
334.7
0.3
SWR9WE
47.454
8.56
185.6
0
EJU97LZ
45.478
5.631
319.1
222.5
EZS42JW
46.234
6.107
135
5.1
EZS18GT
46.309
6.422
26.6
149.5
SWR9TC
47.456
8.559
95.6
3.6
SWR9YP
47.631
8.879
152.9
118.5
SWR841C
45.732
5.914
215.7
203.5
SWR166M
47.947
9.669
222.4
176.2
SWR478V
47.457
8.554
75.9
5.9
AFR1226
46.469
5.112
107.6
258
MAU15
45.229
7.231
129.1
261.1
OEECO
47.845
7.639
105.2
153.5
AFR93SM
45.639
8.728
303.8
8.8
OEEMH
45.198
5.154
38.9
143.4
TAP472C
45.716
5.079
331.9
0
ZEBRA3
47.454
8.574
165.9
0
THY7PE
45
6.184
273.6
182
HBVRW
45.49
10.282
294.3
160.3
NJE942K
47.668
5.923
346.9
245.6
RYR29GX
46.358
7.624
329.4
230.6
HBNPH
46.024
8.935
309.7
39.5
DCIFM
47.455
8.57
98.4
0.1
SXS9KZ
45.186
8.275
118.9
248
NJE671A
45.59
8.745
349.6
71.1
CFG2MF
45.916
5.981
47.2
272.7
RYR27XV
46.107
7.029
324.4
224.6
BNI5U
47.514
8.369
265.4
95.5
ICV9263
45.737
8.922
100.4
162.2
ICV4093
45.603
10.371
97.1
245.7
EZY45LQ
46.021
10.671
276.2
201.3
HBKLR
47.507
8.984
128.7
52.7
COBRA02
47.589
7.538
255.9
2.3
(none)
45.405
9.843
308.1
51.7
NAK67N
45.346
5.078
254.5
73.1
BAW198
46.265
10.578
300.4
232.7
RYR605M
45.097
10.622
39.9
256.8
DIDAH
47.751
9.006
281.8
98.3
ICNTN
45.702
9.517
253.1
49.5
EZS72LT
47.137
7.617
18.7
195.6
EZS73NK
45.23
10.517
299.9
211.3
EZS85YX
47.596
7.53
337.5
0.8
EZS1544
46.262
6.144
225.9
72.4
EJU47HM
47.469
7.613
335.1
81.7
RYR52GM
47.162
7.17
311.8
224.4
EZY13WN
46.42
9.526
269.9
193.4
EZS16QR
46.234
6.107
160.3
4.1
JFA08L
47.415
8.24
43.9
162.6
FDX5233
46.559
6.146
311.8
236.1
SAZ54
47.43
8.887
285
101.7
RYR451P
45.059
9.447
39.5
199.2
AEA69HR
45.624
8.718
323.4
0.1
DAH1172
46.152
8.452
359.5
249
FJO53F
46.869
6.234
203.5
198.6
IBGBG
45.669
9.722
298.8
35.2
RYR556J
47.656
9.105
246.3
201.1
ILMBD
45.691
9.621
112.7
44
RYR39RX
47.259
8.429
287.2
210.1
EWG8SJ
46.282
6.339
349
245.3
RYR39WL
45.126
8.315
13.2
256.3
RYR8611
47.009
8.965
125.1
245.2
RYR3LF
46.136
6.381
48.2
271.1
DLA3EN
46.249
8.584
161.3
213.4
RYR12XM
45.04
10.079
146.6
197.2
RYR66JU
45.63
8.721
168.8
11.8
DLH3RT
47.158
10.683
169.7
210.2
RYR80GB
45.974
8.959
120
196.6
EXS73SJ
47.825
8.662
96.3
253.1
EXS74PQ
45.67
10.451
129.9
245.4
RYR83CW
47.185
8.243
291.5
211.8
VJH738
45.234
8.034
112.9
248.5
RYR1UQ
46.037
6.832
316
222.3
RYR2WR
45.033
5.806
197.7
204.7
AAB82V
45.423
7.778
321.2
247.7
SWR2TV
46.462
10.896
156.3
226.4
SWR3WZ
47.441
8.563
334.7
0
SWR7T
47.459
8.563
5.6
3.1
SWR3EC
46.184
8.567
201.2
187.6
ITY3LO
45.952
8.412
295.3
185.5
LA2
45.735
5.089
194.1
2.3
EDW195
47.695
10.144
276.2
184.8
CFG1PJ
47.098
8.902
2
256.3
TJT6616
45.353
5.722
300
142
CSW630
47.445
8.561
244.7
0
CSW2KP
47.46
8.554
95.6
3.6
SWR374P
47.119
7.723
246.2
187.3
SWR57C
47.229
8.467
153
190.5
TRK8
46.479
5.666
334
195.1
KMM490
47.454
8.558
185.6
0
CFG5CU
45.74
6.001
191.4
207.8
EWG9F
46.836
6.468
357.2
254.4
SWR1PF
47.454
8.559
5.6
0
SWR3GH
47.452
8.559
185.6
0
SWR5YW
46.846
8.77
357.2
192.6
SWR
47.444
8.563
326.3
0.2
SWR3AG
47.456
8.557
5.6
0
SWR2VC
47.452
8.559
185.6
0
KLM1433
45.756
5.318
199
140.9

All 217 aircraft are listed below.