A model railway on a wooden table in a little room, built from voxel blocks: two loops of track, a station, a goods yard, a turntable and engine shed, a lakeside harbor with a crane, and a level crossing. Four small trains run by themselves, or you can take over with throttles, a destination knob and Dispatch, Hold and Stop buttons. There is no score or goal. Derya Unutmaz's own page, made with GPT-6 Astra and three.js; the sound is optional.
Lindenhafen Railway is a model railway on a wooden table, in a small room with a window, a shelf of books and a framed timetable map on the wall. Everything is built from chunky voxel blocks: houses, trees, wagons and even the little people are boxes, while the track has fine individual sleepers. The table holds two oval loops, a station, a goods yard with several sidings, an engine shed with a turntable, a lakeside harbor with a yellow crane and a small boat, a market square, and a road with a level crossing.
Four small trains live on it. A red diesel with a cream coach (the page calls it the Lakeside Express) circles the outer loop and stops at the station. A steam engine with a string of wagons (Alpine Goods) runs the inner loop. A yellow shunter (Yard Pilot) works the goods yard, and a depot steam engine serves the turntable. You do not need to do anything: leave the page alone and they run, the crossing gates come down with a warning, and the shunter and crane take turns doing jobs.
It is not a game. There is no score, timer or fail state, so it is filed here as a simulation and sandbox toy. It is the original creator's own page, not a recreation. The post that announced it is by Derya Unutmaz, MD (@DeryaTR_), who says he loved trains as a child, saw someone build a voxel train table with another model, and wanted to try the same with GPT-6 Astra and three.js.
How to play Lindenhafen Railway
- On a desktop the controls are drawn as physical objects on the front edge of the table and you operate them with the mouse. On the left are three toggle switches: Auto or Manual operation, Lights on or off, and the time of day (Cycle, Day or Night). Beside them are three throttle sliders for Passenger, Freight and Yard; drag one up or down to change that train's speed (they start at 70 percent, and at 0 the train brakes to a halt). Click a train's name to select it. In the middle a knob picks a destination for the selected train, and two round buttons, Dispatch and Hold, send it there or make it wait. The red STOP button halts everything. On the right, three buttons start jobs: Yard job, Terminal and Harbor.
- What the destinations do. For the passenger train, Main line keeps it circling and Station makes it stop at the platform and stay until you send it back. For the freight train, Goods yard turns it off the loop into the yard, and Main line brings it out again. The yard shunter can be sent to the Goods yard, the Harbor quay or the Sawmill. When we sent the freight train to the yard it took about a minute and a half to get there, and the passenger train was held at the station for part of that while the route was cleared.
- The job buttons: Yard job has the shunter collect wagons and take them to the harbor; Terminal sends the depot engine out to the turntable and back to its shed; Harbor starts the crane, but it needs wagons at the quay first (otherwise the page says "Awaiting wagons at the quay"). In Auto mode we watched all three start unprompted within three minutes. STOP latches: press it once and every train halts, press it again to reset, then flip the Auto switch to get moving again.
- Looking around. Drag on the picture to walk along the table and use the wheel to move closer. The buttons at top right are Home (standing front view), Orbit (circle the table; drag to swing round, wheel to zoom), Top view (a straight-down plan), Sound and Fullscreen. Keys: O, T and Home for the views, M for sound.
- On a phone the drawn controls are replaced by a plain panel under the picture: Trains and Works tabs, a slider and name button per train, a destination menu with Go and Hold, an Auto or Manual button and a big round Stop. The Works tab holds the jobs, Lights and Day cycle. We tried it in an emulated iPhone: taps on the buttons worked, dragging moved the view, and a two-finger pinch zoomed in Orbit view.
Controls: Desktop: click the switches, throttle sliders, knob and round buttons drawn on the front of the table (drag a slider to set speed). Drag to look around, wheel to zoom. Buttons top right: Home (front view), Orbit, Top view, Sound, Fullscreen. Keys: O orbit, T top, Home front view, M sound, arrow keys and + / - in Orbit view. Phone: tap the control panel under the picture; drag and pinch the view.
Click Fullscreen above the game for the largest play area. If the game does not load, use Open in new tab to play it directly from our copy.
Why it's worth your time
Sound is off until you ask for it. The first time you open the Sound panel it switches audio on, with sliders for Music (35 percent by default) and Train sounds (65 percent) and a Whistle button. The music is an 84-second waltz loop, and the trains have their own clacks, chuffs, diesel hum and horns. We could not listen to it here; the page's own audio state reported the waltz decoded and playing and the clack and chuff counters rising.
The day and night cycle is worth watching. In the default Cycle setting a full day takes six minutes of real time. In every run we made, the page opened in evening light and went dark within about a minute, with the window turning to night and lamps along the platform and harbor lighting up, so a first look can be dimmer than the cover image. The switch pins it to Day or Night if you prefer.
The trains behave carefully. They slow for the station and the crossing signal, and the passenger train yields while the freight train enters the yard. Nothing collided in about ten minutes of use in total. The cost is that commands can be slow to take effect. The page's status text (Crossing signal, Arrival route held) says what a train is waiting for.
How it runs. It is a real 3D scene with soft shadows and a slight glow, and it ran at about 60 frames per second on a desktop GPU in a normal window and about 58 in an emulated phone. That is one machine, not a benchmark. It has no server side, so our copy works offline; the mirror is about 3.7 MB, mostly the three.js library and the waltz.
Provenance. The post is a screen recording with no link in its text, so the post alone does not show that this address is the page in the video. Tripo's collection lists this page against the post, and the table, switches, shelf and wall map in the video's thumbnail match it. The thumbnail shows a switch labelled "Day" where the live page says "Cycle", so the page seems to have been tweaked after the recording. We found no licence or repository.
How we found it. Every entry in this catalogue was found through Tripo's GPT-6 Astra prompt collection, and this one is listed there as an interactive voxel railway table. The credit is the creator's; the page and its code are his own.
How it was made and where it lives
Hosted on Vercel. The author publishes as DeryaTR_. Original: https://lindenhafen-railway.vercel.app/. The Play button above runs our own unmodified copy, so the game keeps working here if that page goes down — which on free hosting usually has nothing to do with the author. Nothing about the game itself is changed, and the original stays linked from every page.
The post that led us here
Derya Unutmaz, MD@DeryaTR_I used to love playing with trains when I was younger. Recently, I saw someone create a voxel-based train table using Fable 5.1, so I had to try something similar with GPT-6 Astra using three.js. It turned out absolutely amazing! You can actually play and interact with it
If you like Lindenhafen Railway, try these
For another small model world you can look at from above, see Mini Moto, a diorama motocross simulator, or City Atlas, a procedural 3D city diorama with a similar quiet, look-closely feel.
Frequently asked questions
- Is this a game?
- No. There is no score, goal or fail state. It is a toy railway you can watch in Auto mode or drive yourself in Manual mode.
- How do I stop and restart the trains?
- Press the red STOP button to halt everything, press it again to reset, then flip the Auto switch to restart. Hold pauses only the selected train.
- Is there sound?
- Yes, but it is off by default. Open the Sound panel and it switches on the first time: a waltz loop plus train sounds, with separate volume sliders and a Whistle button.
- Does it work on a phone?
- Yes. The controls become an ordinary panel under the picture, and we tested taps, dragging and pinching in an emulated iPhone. An older phone may run slower than our desktop test.
- Who made it?
- Derya Unutmaz, MD, who posts as @DeryaTR_ on X. His post says he built it with GPT-6 Astra and three.js after seeing a similar voxel train table made with another model.
- Does it need the internet?
- The original loads the three.js library from a public CDN, so it needs a connection. Our copy includes the library and the music and works offline.
- Is Lindenhafen Railway free to play?
- Yes. Everything on Floating Arcade is free, with no account, ads or downloads.
- Can I embed this game on my own website?
- Yes — copy the snippet below. The embedded player links back here, which is how we ask to be credited.
Embed Lindenhafen Railway on your site
Paste this where you want the game to appear: