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: Oct 4, 2026 (pulled Oct 4, 2026 UTC)

Latest data pull 229 rows
Oct 4, 2026 (pulled Oct 4, 2026 UTC)
Callsign
Latitude
Longitude
Heading (°)
Speed (m/s)
TVF72VT
46.307
10.987
126
237.9
PGT40XK
45.301
10.789
100.1
232
IGO56K
47.929
5.992
311
224.3
FGICJ
45.087
7.602
281.6
17.9
ELG9M
45.474
10.283
47.5
237.4
EJU96HC
45.714
5.083
270
2.3
EWG09NC
45.115
6.57
353.4
224.2
FCA2VO
45.191
9.816
230.9
190.9
DEEWY
47.895
7.601
53
34.2
LDX69C
46.244
6.118
46.5
97.2
AEA69HR
45.609
8.739
348.8
79.7
DEZMM
45.608
9.336
271.9
62.3
DMCFO
47.859
10.614
22
26.1
ANE56CP
46.387
6.717
49.9
254.1
WZZ6674
45.931
9.998
236.1
218.3
ANE1279
45.538
5.333
53.1
150.6
M02
47.598
7.53
292.5
6.7
LZB456
45.676
10.909
104.3
232.6
EJU38QA
45.802
7.082
317.8
208.3
ITY313
45.312
9.09
151.8
138.3
EJU43FB
47.56
10.805
336.3
216.3
EJU34ED
45.3
7.131
127.3
223.2
EJU68QN
46.025
6.993
312.7
188.2
VOE58UJ
45.606
10.726
92.5
174.6
BEL2CA
46.855
6.305
357.4
201.4
THY8SB
47.999
7.284
111.3
253.5
THY3UY
47.461
8.56
182.8
5.1
THY7PE
45.342
6.899
278.6
209.7
BEL6VF
47.377
6.567
350.6
228.9
GAV539
46.404
6.853
329.5
230.4
VOE5GQ
46.844
6.692
232
209.6
KLM38T
47.443
8.446
215.8
107.2
FHJPF
45.072
5.111
327.1
39.8
IE694
45.059
8.812
212
29.1
SAS4717
45.61
8.739
349
70.2
JFA09J
45.601
8.356
285.8
128.3
JFA05P
46.864
5.756
318.8
133.4
JFA04N
47.328
5.161
318.2
125
UEE1
46.232
6.1
45
50.4
JFA21Q
45.712
6.445
324.6
121.8
PHJRC
47.254
6.09
338
225.3
LOT4PK
45.813
9.117
246.3
210.8
DLH276
46.258
8.652
176.8
218
(none)
46.226
6.092
42.2
2.8
BEL6ZH
45.283
9.294
358.5
99.3
PGC81A
45.485
10.228
279.7
94.5
SAH53P
45.119
8.14
321.1
206.3
HBKNS
45.531
9.854
85.4
51.6
(none)
47.485
9.558
95.6
11.8
VOE2244
45.523
5.756
106.7
248.2
JFA67Z
46.234
6.099
315
6.2
LGL22RQ
47.88
6.552
352.2
166.7
LGL8244
46.905
9.147
1.1
216.1
HBKMX
47.238
8.645
118.4
44.4
IB472
45.729
9.222
190
56.4
SWR1PF
47.452
8.556
334.7
0
SWR303C
47.455
8.556
98.4
5.9
SWR2DK
47.456
8.57
90
2.3
SWR57C
47.456
8.565
95.6
3.9
DIZMM
45.7
8.859
15.4
174.5
SWR8QE
47.318
7.943
281.1
171.4
DCHGS
46.42
8.837
348.1
229.2
MCK312
47.825
7.757
269.8
128.1
KLC79J
47.597
7.527
154.7
10.3
SWR404
47.924
5.724
316.6
203.1
DRC098
45.328
6.641
351.1
235.4
AFR76MK
46.504
8.344
150.8
242.3
M04
47.597
7.529
312.2
2.3
N62199
47.681
9.14
118.1
5.1
RYR38LU
45.415
7.957
311.9
220.4
HBZZX
46.464
6.805
113.9
59.7
RYR42NF
47.087
10.594
346
224.8
VLG553K
45.727
5.093
340.3
22.6
EJU83CB
45.717
5.09
354.4
0
LOT6YQ
46.806
7.595
65.9
248.5
TVF3451
47.215
5.21
306.9
205.8
AUA143P
47.757
10.111
264.9
225.2
HBZUR
46.76
7.601
58.8
59.6
(none)
47.598
7.531
334.7
1.8
EXS51WK
47.436
10.118
106
247.2
RYR9FM
47.087
10.985
313.7
218.3
DENIG
47.651
9.487
297.7
35.4
EJU34BX
46.652
7.379
75.6
252.3
TSW7M
46.474
6.513
72.5
150.5
OEETH
45.435
5.656
64.3
79.4
PVD437H
46.14
6.17
225.4
141.5
PGT956
46.353
6.279
46.9
143
SEH8BR
47.3
10.986
320
220.9
AGV01
46.243
6.909
247.7
65.1
AEE852
47.748
8.483
301.8
118.1
AEE604
47.575
6.847
301
200.5
DMPRE
47.772
10.524
86.7
53.1
RYR58JX
47.722
9.29
96.4
250.5
RYR23RR
45.975
10.24
239
223.4
RYR3MU
45.681
10.588
67.9
218.8
AEZ69FS
45.18
9.577
154
185.4
SAMU38
45.198
5.743
53.1
5.1
DFIRE
45.424
9.369
146.8
81.8
SWR278L
45.836
5.271
241.9
190.1
SWR7EB
47.456
8.556
5.6
0
SWR8HD
45.425
8.748
291.2
210.3
SWR465K
46.254
5.569
73.6
223.7
TAP42LV
45.65
5.538
56.9
146.1
SWR3CX
46.156
5.993
26.4
82.1
SWR854
47.426
8.561
76.5
140.8
SWR2VC
47.456
8.568
95.6
2.3
MNE2298
45.661
9.418
293.7
216.3
LBT542
45.892
5.393
329.2
225.9
BAW899
46.702
9.289
296.8
215.6
TE23
47.451
8.559
326.3
0.2
RTT1
47.462
8.552
106.9
0.1
DLH01A
46.135
6.307
55
246.8
DLH48H
47.541
9.888
68.1
244
HUE222
45.045
8.477
14
248.2
DLH2FF
45.489
8.912
169.2
148.2
SVA237
46.039
5.823
29.6
103
EZY3484
46.545
9.855
296.5
205.2
DLH08F
46.388
7.527
28.1
242.6
TVF8029
45.238
6.976
292.2
197.3
HB1778
47.511
8.771
180
0.5
CFG7WX
47.611
7.516
244.7
0.1
ATL781
47.455
8.557
357.2
0.5
ATL783
47.454
8.558
357.2
0
PHDHG
47.825
6.227
358.3
201.8
(none)
45.439
9.28
174.4
7.2
SWR9CW
47.456
8.566
95.6
1.8
TAP824
45.315
8.763
8.6
123.8
SWR4TD
47.61
8.306
75.4
116.4
EJU16BQ
47.618
7.511
255.9
1
EZS37UG
46.321
6.023
212.7
129.6
SWR7T
47.604
7.019
284.9
215.6
SWR1794
47.46
8.528
276.3
79.2
AFR42VQ
46.324
6.688
306.9
229.7
FHENX
46.259
7.002
307.7
148.2
ATL779
47.452
8.556
168.8
0.1
BAW892
47.577
10.805
115.9
242.5
FHFBO
45.105
5.414
283.1
63.4
THY1FY
47.758
8.294
305.5
160.5
GUSTI1
47.454
8.562
149.1
5.9
DFVVV
47.772
6.318
356.4
140.2
SECUAV1
47.614
7.511
334.7
3.9
DLZNT
47.651
9.229
260.5
21.9
RYR3925
45.036
6.362
95.1
246.9
HBVCP
45.837
8.89
358.9
159
JAF50K
46.172
6.089
190.7
213.1
(none)
45.439
9.28
174.4
10.3
EJU63FY
47.019
8.002
153.3
239
SXS6EV
46.486
10.435
119.8
246.1
RYR96TN
45.119
7.764
149.7
172.2
RYR55MM
47.118
5.687
317.5
210.1
HBGPH
47.714
9.171
325.6
136.6
TAR850
45.715
5.079
331.9
3.6
CTN29F
47.338
8.927
125.6
247.4
FHYAD
46.979
6.34
201.7
57
AAN181
45.044
10.937
23.7
194.9
RYR42UP
45.513
9.89
105.8
123
IGNHR
45.799
9.156
275.4
38.2
HBKCV
47.363
8.357
56.3
70.5
L1
47.613
7.517
165.9
10.8
HBKCJ
47.183
7.743
231.3
6.6
HBQZI
47.443
9.104
191.3
2.6
HBQZJ
47.495
9.248
281.3
2.6
DLA5XM
46.057
8.554
25.8
216.5
MSC822
45.119
9.146
125
229.4
EZS32UK
46.282
10.552
299.4
211.9
SAZ78
47.038
7.579
57.6
139
EZS19WQ
45.542
6.928
102.6
230.4
EZS58YX
45.167
9.89
329.4
210.3
EZS62HY
45.982
6.916
150.8
202.7
EZS68ME
47.621
7.507
154.5
75.2
KMM420
45.75
7.5
328.2
213
FIN4VP
46.724
6.018
222.6
155.1
FPO2JU
47.74
8.619
105.5
254.6
ALE67
46.023
6.069
248
124.9
EFW6RQ
47.14
8.06
295.2
217.2
RYR8ST
46.83
8.353
286.1
205.6
ITY1672
45.459
9.281
2.8
3.3
RYR19KX
46.114
6.956
319.5
218.6
ILMBD
45.885
9.758
30.5
56.7
COBRA01
47.59
7.539
255.9
10.3
DFROH
45.09
8.459
356.7
36.1
HBQDW
47.166
8.284
149
3
RYR306H
46.76
6.85
316.8
220.2
EWG5SD
47.466
8.557
157.5
11.3
EWG8Z
46.742
8.963
5.9
227
EWG9RZ
46.948
7.046
207.5
214
ITY112
46.882
8.946
354.6
229.9
EWG41W
45.516
10.375
27.7
220.2
ITY3LO
46.824
8.025
301.9
209.1
RYR145Q
45.232
9.959
128.7
191.8
RYR8058
46.246
9.031
354.4
200.1
RYR687J
47.773
6.455
191.9
219.3
DFLAG
47.667
9.506
241.9
8.2
RYR7ZH
46.411
5.308
128.3
244.3
RYR84HY
47.219
10.645
138.7
245.3
IVLTN
45.603
9.258
267.2
0
EWG50D
47.554
6.222
358.5
233.1
RYR3417
45.433
7.224
139.1
218.5
CAI5LR
47.552
8.706
307.3
181.7
AFR55QX
45.724
5.084
174.4
9.8
RYR74HK
45.09
7.184
133.5
246
EZY56PX
47.525
6.893
289.5
179
TJD402
47.456
5.3
324.9
199.4
EWG7PQ
45.468
5.955
185.1
221.6
EWG07K
47.752
8.576
34.8
240.6
EWG7RB
45.192
6.109
202.2
210
NJE253F
45.776
6.761
166.1
223.1
NJE6WA
45.431
9.279
356.2
54.1
NJE197A
45.847
8.841
158.4
171.6
SWR4DM
47.457
8.57
275.6
0
SWR5GM
47.718
6.322
285.1
211
VJT426
47.912
8.704
211.4
148.9
AEE647
45.716
5.08
194.1
0.8
LA2
45.704
5.095
354.4
4.9
SCO803A
47.504
8.506
137.7
61.2
RYR80ZH
47.555
9.035
147
238
EWG70A
45.394
10.632
218.5
223.4
EWG92K
46.082
6.094
191.2
217.1
EDW632M
47.535
8.125
301.1
130.4
EDW398E
47.453
8.557
275.6
5.7
N285KY
47.682
9.137
28.1
0
SWR3EC
45.482
8.997
159.8
244
WMT936
45.191
7.647
199.7
4.1
LNX63LE
47.449
8.549
154.7
0
SWR8GY
46.348
6.476
225.7
152.4
SWR4VZ
47.63
8.19
57.6
130.4
SWR1ZD
45.365
5.115
61.2
163.2
FYL71CP
46.235
8.572
153.8
213.3
SWR98G
47.457
8.559
185.6
8.2

All 229 aircraft are listed below.