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: Aug 6, 2026 (pulled Aug 6, 2026 UTC)

Latest data pull 247 rows
Aug 6, 2026 (pulled Aug 6, 2026 UTC)
Callsign
Latitude
Longitude
Heading (°)
Speed (m/s)
TVF94PD
46.098
7.114
307.3
222.5
ENT6PM
46.014
9.575
230.5
217.4
PGT881T
45.091
10.208
91.9
248.6
AEE2EG
45.927
9.393
322.6
229.8
AEE617
47.338
8.26
124.5
244.6
AEE1SC
45.44
8.815
117.4
245
DEFGR
47.678
9.813
48
63
FGIBV
45.658
5.913
93.9
52.6
WMT6CY
46.416
9.385
333.5
235.1
WMT684
47.687
10.548
124
159.4
VOE2715
47.452
6.237
9.3
237.7
HB3143
47.511
8.77
0
0
TVF54ZU
46.412
6.358
313.1
222.7
PGT52GR
46.804
5.855
308.9
221.4
GPX701
45.905
6.347
142.4
210.5
BOM1
45.724
10.367
116.7
215.3
P17N
47.095
8.404
50.4
138.9
EJU36YR
47.463
7.617
334.8
88.1
EJU53NU
45.646
8.721
168.8
0
EJU58VL
45.683
8.599
204.7
150.1
DFABJ
45.452
9.265
295.3
9.3
(none)
47.792
10.366
189.6
135.7
M02
47.597
7.529
64.7
1.8
GPX4112
46.945
9.25
130.2
237.7
WZZ306
47.679
7.468
334.9
101.7
ITY312
47.056
5.692
323.1
232.2
THY1896
45.628
8.715
168.8
0
HBLZL
46.026
8.935
314.3
55.3
FJKRN
46.941
5.328
203
40.8
M01
47.6
7.531
351.6
4.1
THY2SA
46.337
6.254
47
132.9
HBLZH
46.946
7.628
128.3
84.6
RAM945B
45.193
7.647
185.6
0
VOE3ZU
45.203
7.647
182.8
11.3
ENT6GN
46.483
9.716
324.5
230.5
TOM3TK
47.057
8.057
298.5
220.1
HBLTO
47.198
7.665
313.8
70.6
HBLVB
47.742
8.038
253.7
71.3
HBEPH
47.365
9.06
166
36.1
HBLWW
47.068
7.617
331.2
75.8
JFA33N
45.425
9.374
148.7
113.8
JFA13U
45.492
6.817
127.3
141.7
CPA382
47.334
9.679
104.7
194.7
HBLMA
47.188
7.449
279.4
50.6
DAH1037
45.66
5.199
183.6
171.7
FDX5030
45.634
9.282
273.6
242.8
DLA4ET
45.613
8.733
348.8
12.4
DLH1TX
47.932
7.991
24.4
197.1
HBKPJ
47.572
7.884
155.1
39.1
EXS47EZ
46.968
9.116
278.6
220.1
FYL31MA
47.495
7.192
287.9
187.1
FIN4ER
46.56
6.243
229.3
206.9
CFE37Y
47.58
8.404
138.8
105.4
HBSAJ
46.764
6.573
213.3
59.1
VLG93SQ
46.655
8.182
309.5
230.6
LGL6493
45.164
9.258
30.8
119.7
N90CG
46.159
5.055
324.5
246.4
HBKMP
47.21
7.051
54.4
84.8
RYR67KN
47.237
8.978
135.7
236.5
AAN121
45.179
10.293
287.6
214.8
RYR33XW
45.222
7.801
130.7
149.9
PH1650
45.108
6.841
253.8
33.2
PHSCH
47.223
6.34
356.9
144.3
P4BFH
46.23
6.1
225
6.9
PTN47M
45.724
10.942
47.2
168.2
TOM467
45.971
5.229
326.3
233.7
AFR1584
45.686
6.411
137.5
228.3
RGA01
47.377
8.547
237.2
27.5
RGA10
46.748
7.959
306.9
2.6
RGAIL
47.458
8.572
98.4
0
RGAIE
47.458
8.573
0
0
RGA04
47.211
7.991
234.4
51.3
EJU16DU
47.598
7.532
64.7
0.3
BCU2
45.64
8.718
165.9
12.9
HBZZX
46.632
7.259
48.1
27
DKFPA
45.006
6.639
212.1
47.4
EWG72N
47.46
8.56
185.6
8.2
HBTCT
47.741
7.194
198
63.3
RYR28DQ
45.491
9.696
161.5
171.5
EIN4GV
47.301
7.382
293.6
217.3
EJU61ND
46.946
5.446
310.4
219
RYR51TU
46.488
6.564
315.8
230.3
DIEMG
45.738
5.782
49.8
188.7
DFOOD
47.292
9.43
27.1
159.4
HBZUA
46.878
8.317
132.4
24.4
DMVVL
47.861
9.415
209.1
78.3
HBZWE
46.838
7.318
57.5
35.4
HBZVQ
46.633
7.893
58.7
58.4
HBZYK
47.17
7.358
75.8
39.8
HBZYQ
47.091
9.358
315.5
41.8
RUK162X
46.978
7.689
307.4
229.8
EZY92EP
45.56
10.529
299.4
225.5
LAS1
47.572
8.559
181.3
67.4
EZY8302
45.931
7.497
306.4
213.4
EZY53ZG
46.416
9.274
303.3
230.7
RYR81XN
47.167
7.275
230
204.9
HBSHF
45.923
8.974
351.6
49.4
RTO074
45.746
5.871
175.3
62.5
HBZPA
47.063
9.096
258.1
72
DENIG
47.635
10.003
121.9
54.5
VOE7CB
45.378
5.698
329.7
225.3
EJU86EN
46.243
6.471
349.1
223.7
OEEIP
47.969
8.522
354.4
0.3
VLG48MQ
45.954
6.327
203.2
223.3
RYR2UP
45.605
10.27
279.4
221.6
HBYPL
47.376
8.759
304
30.4
PEV541
47.352
10.171
293.7
161.3
EJU81MN
45.257
7.108
145.4
230.8
GAC583K
47.454
8.573
2.8
0
T7YES
47.586
7.526
163.1
0.1
SAMU38
45.742
6.141
18.9
65.2
ASJ04SJ
47.602
8.258
251.6
144.8
SWR
47.445
8.567
326.3
0.2
TAP1241
47.003
6.969
229.2
207.2
TAP553R
47.451
8.382
245
207.8
SWR2KT
45.98
6.127
51.6
242.4
DLH62F
46.731
6.988
202.6
218.4
(none)
47.595
7.542
312.2
16.5
DLH51V
46.637
7.027
51.1
258.6
HB2025
46.231
5.864
202.8
31.8
TVF52VN
45.716
5.083
194.1
0
TE25
47.462
8.555
250.3
0
TE23
47.454
8.559
306.6
0.1
TE24
47.454
8.557
42.2
0.5
LBT598
45.249
6.811
298.6
197.5
NJE509U
47.486
9.556
275.6
11.3
BAW667
45.694
10.597
295.6
224.8
HB1629
47.177
7.431
63.9
30.4
HB1630
47.567
9.012
106.3
38.6
HB1690
47.511
8.77
45
0.7
CFG6UV
47.422
7.444
207
210.8
BAW573
46.766
6.369
300.5
227.4
ATL781
47.454
8.559
174.4
0
HBPPB
47.344
7.777
346.9
59.2
CFG9NL
46.674
10.285
129.8
225
SWR3PT
46.226
6.093
258.8
2.3
SWR98F
47.454
8.555
154.7
6.2
MCK202
45.371
10.552
127.6
164.3
EJU16RK
45.778
5.675
28.7
160.7
AFR75EB
45.81
7.892
280.2
223.2
LHX08P
45.113
9.62
41.7
235
GALA51
47.466
8.554
213.8
6.7
TAP920
47.454
8.558
185.6
0
EZY29RX
46.42
5.45
106
255.3
AFR22DZ
45.136
10.822
291.1
215.6
BAW381
45.616
10.078
318.9
230.1
HBVWZ
45.273
7.265
137.2
152.2
ZEBRA7
47.454
8.574
19.7
3.1
GUSTI1
47.469
8.554
135
20.1
DIANA1
47.459
8.552
95.6
0.1
URSULA6
47.446
8.551
168.8
1.3
ZEBRA2
47.462
8.555
275.6
11.8
URSULA9
47.457
8.537
284.1
8.8
ORION1
47.46
8.559
185.6
8.8
ZEBRA5
47.449
8.558
326.3
1.5
FCTMS
45.202
6.946
216.7
45.6
THY1VT
47.461
8.559
275.6
0
VJH373
47.487
9.553
188.4
0
T337
46.119
9.061
329.8
44
HBVUO
46.974
8.396
244.7
12.4
P641
47.007
8.37
63.4
97.8
RYR34UG
47.909
7.435
155.9
222.7
RYR6MJ
45.647
9.821
284.3
91.8
RYR9MT
47.963
10.321
254.9
147.6
HBNPT
46.265
9.201
10.9
70.7
HVN18
47.593
9.581
98.4
273.6
RYR4916
45.206
7.647
182.8
6.9
RYR28WW
45.188
5.835
190.7
221
SXS9DA
46.962
9.099
126.4
238.4
DIGRK
47.096
8.228
288.4
130.2
RYR7DL
46.441
9.613
308.3
230.8
DKAWN
45.054
6.641
35.5
48.7
DLZBW
47.614
9.529
171.6
17.7
V616
47.405
8.644
303.8
0
CTN756R
47.692
8.855
271.7
153.9
AWH25D
45.293
8.616
192.7
226.8
VOE3968
45.309
10.763
45.6
103.7
THY6045
45.022
7.03
114
260.2
HBKLA
47.592
8.925
79.5
56.5
HBKKC
47.511
8.77
2.8
0
ACA897
47.749
6.118
299.1
241.3
ITEAF
45.003
9.012
174.1
45
FPO535
47.731
7.935
90
188.8
HBKGP
46.916
7.366
227.8
44.4
EZS48DR
47.39
8.194
165.7
200.1
EZS9074
47.562
7.548
334.8
60.3
WMT8UN
45.643
9.668
289.8
168.4
HBKBR
46.589
6.374
272.4
37.6
BAW329
45.501
5.435
332.3
238.2
ALE44
47.37
5.316
314.5
125.5
AEZ88LL
45.19
9.583
151.6
197.7
AEZ29JD
45.333
9.289
355.7
88.2
BAW585
46.344
6.784
324.3
228.2
SAZ53
47.637
8.302
111.8
105.3
GCKTT
45.123
9.329
270
32.9
RYR6WE
47.295
8.308
133.4
241.3
HBYAF
47.446
8.122
229.9
67.9
INFRA51
47.607
7.522
67.5
1.3
AEA62FH
45.629
8.721
168.8
9.8
ITY204
45.616
7.516
320.7
232.1
AAL299
45.675
7.654
299.3
214.7
WMT4646
45.613
8.728
348.9
77.6
RYR44GP
45.435
8.781
316.1
111.3
EWG7DL
46.96
9.812
21.2
249.4
AFR42DT
46.192
5.141
334.9
214.7
TCTCB
46.247
6.055
204.8
150.8
ICFAN
45.701
8.28
98.9
50
RYR44CN
45.606
9.098
316.3
234.3
CAN31
45.872
9.324
114.6
61.7
ENF02
45.619
8.722
168.8
5.9
ABR426
45.644
8.725
258.8
3.3
ITY1641
45.105
10.028
130.3
190.2
ITY1764
45.439
9.278
355.1
72.8
RYR265
45.559
9.96
358.4
112.7
DAL185
45.628
8.716
258.8
0
AAL759
45.488
5.515
281.8
239.6
KLM95L
45.892
6.005
190.5
220.3
DLV494
45.1
10.806
314.1
141.2
RYR5JJ
45.68
8.766
65.4
96.2
NJE157K
47.457
8.57
278.4
1
CPV106
45.467
10.516
258.7
226.6
RYR59TN
45.442
10.098
301.4
123.5
WMT2ER
47.597
7.528
154.7
9.3
FXJ69N
46.226
6.091
46
65.1
AFR182
47.925
7.531
114.3
263.6
FXT12F
47.454
8.574
180
0.5
EZY52RV
45.356
9.408
342.4
240.1
LA2
45.74
5.082
5.6
13.9
EWG11S
46.215
6.481
348.9
243.3
EDW31M
47.65
7.439
111.8
187.2
CAN12
45.64
8.725
165.9
6.4
CAN21
45.842
9.336
45.6
73.5
WMT1FU
45.439
8.863
111.7
188.2
HB2495
45.517
7.052
204.3
41.2
HB2546
45.728
7.217
218.7
60
DEDAM
47.553
9.703
171.4
48.4
SWR41G
47.595
7.661
109.3
172.8
AFR9352
45.824
5.077
354.9
127.1
EXS93HQ
46.921
8.214
301.2
216.5
SWR20D
45.844
5.848
52.1
234.2
OCN9PG
45.439
6.112
198.4
215.7
IASAR
45.917
8.463
37.7
74.8
SWR8PV
46.895
7.495
51.6
233.6
SWR330P
46.232
6.104
146.3
4.9
SWR
47.452
8.558
185.6
0
VOE1CV
47.431
7.458
194.5
211.5
SWR39
47.569
7.95
75.7
162.5

All 247 aircraft are listed below.