Skip to content

Releases: iebb/railfever

Railfever 2.11

Choose a tag to compare

@iebb iebb released this 12 Oct 22:28

Railfever 2.11: route upgrades are built, not switched. Play it at https://iebb.github.io/railfever/.

  • Upgrade route… in a bus or coach line window plans a tram, light rail (viaduct or ground), metro, or a railway for a two-town coach line. It shows stations, new track, vehicles, works time and costs, with the alignment on the map.
  • Upgrades are works:
    • the new tracks, stops or stations and a depot beside the line are built over game days while the buses keep running;
    • then the line switches, keeping its name and colour;
    • then stops and depots no longer used are removed.
    • The line window shows the progress. Cancel works before the switch to get a refund of what was built.
  • AI companies upgrade busy bus lines the same way. They choose trams, light rail or a metro by what pays, and only when it beats keeping the buses.

Saves from 2.10 load in 2.11.

Railfever 2.10

Choose a tag to compare

@iebb iebb released this 11 Oct 11:10

Railfever 2.10: playability. Play it at https://iebb.github.io/railfever/.

Smoother

  • Many rival companies no longer stall the game. With 8 rail rivals on a 768 map, a game day takes 80 ms instead of 1.5 s, and frames at 8× stay under 33 ms (p95).
  • Steam and smoke are no longer cut off at the edge of the view.

Interface

  • Windows fit above the dock and open side by side.
  • The train composer keeps its Buy bar in view.
  • "Add train" sits on a new line's Stops tab.
  • Rival stops show as small symbols, so labels cover about 70% less of the map.
  • The vehicle and town windows show status and actions first.
  • New Game has a Bus – Rail slider. Each rival leans its own way, and their average matches the slider.
  • Bus and tram lines connect at shared stops; through service is a rail term.

Economy

  • First lines pay again: walkers make more trips, which balances the halved station reach. Payback averages about 20 years over 6 maps.
  • Track access costs a fair share: your usage share of the track's capital and upkeep, × the owner's price (1.25 by default), never more than 75% of owning it.
  • Two kinds of demand: City (within a town) and Inter-city (between towns). Windows show both, and the demand map has a City / Inter-city toggle.
  • Big cities generate more long-distance trips.

AI

  • Rivals build railways early and grow sensible networks. They don't copy coach lines: they join or extend an existing route instead.
  • Lines merge only when trains run straight through. Lines that meet end to end become one line with two services.
  • Connecting their lines: the AI connects its lines in a town by building new shared platforms, moving the lines over, and then removing the old platforms.
  • Buses: rivals run town buses and feeders to rail. Long-distance coaches call at towns on the way. Busy bus lines can become trams ("To trams…") or be replaced by rail.
  • Depots go beside the line, never at its start or end, so lines can keep growing.
  • AI projects always finish or give up cleanly. A company no longer freezes on one project for years.

Fixes

  • Several save/load replay fixes. Stations built on existing track keep their passing loops. Track branching off a bridge no longer buries its neighbour, and a second track ending at a tunnel mouth no longer cuts the hillside above it.
  • AI trains on another company's railway are no longer bought and sold again every month.
  • When a line is doubled, depots facing the wrong way are moved so trains can leave them.

Saves from 2.9 load in 2.10.

Railfever 2.9

Choose a tag to compare

@iebb iebb released this 05 Oct 16:42

Railfever 2.9 adds growing city railways, curved stations on existing track and coordinated shared services.

  • New Game supports up to fifteen AI rivals and an optional starting-balance override. Leave it blank to use each personality’s preset.
  • Rail uses one physical track type with optional overhead wires. Main-line, metro and light-rail station styles can share an interchange.
  • Build stations on accessible tracks owned by other companies, including curves. Platforms and entrances follow the existing rail; ownership, wires and signals are preserved. Removing the station leaves its running rails.
  • AI starts from already priced opportunities, surveys one city candidate per later selection, and waits less between investments. The city-search rotation is saved.
  • AI compares extendable city trunks and branches through multiple town centres, with ground, elevated or underground sections priced against their return. Lines can extend as towns grow and gain intermediate stops.
  • Metros and their depots can stay entirely underground. Metro and light-rail stations inside towns use half the rail walking reach.
  • Shared operators coordinate fleets, departure spacing and capacity works. AI weighs double track, junctions, station throats and usable depot access against construction costs, upkeep and financing.
  • Routes have automatic or manual platform preferences for each service and stop. Trains choose suitable legal alternatives when a preferred platform is busy, including platforms they can leave for their next stop. Split and curved platforms use their full physical length.
  • Stop insertion preserves existing short-turn termini and active train destinations. Station numbers follow route order after line edits, and deadlock recovery handles shared services.
  • Railway forecasts include competing reachable destinations, transfers and existing stopping patterns. Save/load retains urban construction, line growth and connection-search progress, saved platform preferences and pending catchment updates.
  • Station signs remain visible in city centres alongside town names. Underground station signs stay above the surface.
  • Road vehicles clear level crossings safely on curves and junctions. Existing-road bridges cover the full underpass, and save status and notifications appear at the top right.

Known limitations: busy single-track services can queue for long periods while native recovery and capacity works clear traffic; regular service for every train on the original crowded layout is not guaranteed. Loading during some legacy AI project-selection or construction phases can abandon or restart that work, so exact replay is not guaranteed for those phases.

Validation: typecheck and the standalone build pass. The published muted preview runs and saves at 60 FPS with visible city-centre station signs and no rendering errors. A short default 1950 game starts its first AI project on day 19, pays for infrastructure on day 56, and operates an earning railway by day 153 while planning a second railway. The save correction passes the existing survey/construction replay checks. At the user’s request, the extended latest battery was stopped after 45 passing checks to prioritize shipping for feedback; it is not claimed as a complete latest gate. Earlier expanded benchmarks and their failures remain recorded privately and were not rerun after the AI pacing change.

Download railfever-2.9.html and open it locally for the standalone offline game.

Railfever 2.8.1

Choose a tag to compare

@iebb iebb released this 04 Oct 05:28

Railfever 2.8.1: shorter text. Play it at https://iebb.github.io/railfever/.

  • Text is 21% shorter. Tooltips, tool hints, hover cards, help, errors and news now lead with labels and numbers. UI strings over 80 characters went from 129 to 31.
  • Help is short bullets.
  • Errors say what's wrong and the fix in a few words, for example "Below water line: raise or tunnel".
  • Fare, share and access rules keep their detail.

Saves from 2.8 load in 2.8.1.

Railfever 2.8

Choose a tag to compare

@iebb iebb released this 04 Oct 03:11

Railfever 2.8 adds mail, a second cargo. Play it at https://iebb.github.io/railfever/.

Mail

  • Towns post mail to other towns. Offices and shops post more than homes. Stations collect it from their own walking catchment and accept it when they reach enough buildings and a mail-carrying line serves them.
  • Mail vehicles across the eras:
    • mail vans to couple into trains (wooden, steel, then InterCity vans);
    • road mail vans and trucks;
    • post buses that carry passengers and mail together.
    • Metros, light rail and trams carry no mail.
  • Add vans in the train composer, or with the van stepper in a line's window, and run mail-only trains if it pays. Upgrades keep the vans and replace only the coaches.
  • Mail pays for the whole journey by how fast it arrives. The fare is split between the vehicles that carried it, by distance. Each change costs 10%, as it does for passengers.
  • Mail figures in every window: vehicles, stations, lines and towns. The demand map has a Passengers / Mail toggle showing mail flows between towns.
  • AI companies add vans to their main lines when the forecast pays, and run mail by road.
  • On a typical railway mail earns about 15–20% of the passenger income.
  • Mail heading for a station that stops accepting it (for example, after its streets are removed) is lost and not paid.

Fixes

  • Opening the mail map or a station's entrance view never changes the game.

Saves from 2.7 load in 2.8.

Railfever 2.7

Choose a tag to compare

@iebb iebb released this 04 Oct 00:20

Railfever 2.7. Play it at https://iebb.github.io/railfever/.

Lines map

  • Station numbers sit on the stations at every zoom. Close up you see up to three numbers and the name; further out, just the numbers; fully zoomed out, the first number with a "+n" pill.
  • A line's name appears only while you point at its route, a station number or its legend row (tap on touch). The line is highlighted and the others dimmed. Clicking a route opens the line.
  • The legend rows work from the keyboard.

Transfers and through services

  • Each transfer costs 10% of the income. The leg ending in a change and every later leg pay ×0.9 per change, so a journey with one change earns 10% less than the same journey made directly. Base fares are 20% higher, so direct journeys earn as before.
  • AI companies link their networks. Where another AI company's railway comes close (with mutual open access), an AI company can build a connecting curve, adding passing loops on busy single track, and run direct trains across both networks. The track owner earns access fees and may run a train of its own. The AI only does this when the riders pay for it, and it never touches the player's track.
  • New AI lines prefer sharing a station with another AI company over building a separate terminus beside it.

Smaller catchments

  • Walking catchments are 30% smaller: about 295 m for rail, 270 m for tram stops and 195 m for bus stops along real streets. Trip generation, urban demand and town growth are recalibrated to match.

Fixes

  • Opening any window never changes the game. Before, a town window opened while paused could trigger a catchment refresh, and opening a new line could assign its route code.
  • Saved and loaded games replay exactly in more cases: passenger queues from older saves, AI route caches, and AI caches that could leak from one game to the next in the same tab.
  • The AI adds a vehicle to a crowded, very profitable bus or tram line at its fleet limit when riders give up waiting.

Saves from 2.6 and 2.6.1 load in 2.7.

Railfever 2.6.1

Choose a tag to compare

@iebb iebb released this 03 Oct 19:55

Railfever 2.6.1 is a bug-fix release for 2.6. Play it at https://iebb.github.io/railfever/.

  • Fares are no longer lost. In 2.6, when passengers starting a journey and passengers changing trains waited for the same train (or rode in it together), the rail fare minimum could cancel out and their fare dropped to nothing. Groups now keep each journey's fare history separate, and fares are exact again. Loading a save keeps the histories too.
  • Saves replay exactly. An AI service job cancelled for lack of cash no longer restarts after loading.
  • Merged stations keep their passengers' waiting times and transfers.
  • The AI values new station entrances correctly. It overestimated the residents an entrance reaches by up to 31%.

Saves from 2.6 load in 2.6.1.

Railfever 2.6

Choose a tag to compare

@iebb iebb released this 03 Oct 17:43

Railfever 2.6, a transport tycoon in the browser, runs entirely offline. Play it at https://iebb.github.io/railfever/.

Railways and stations

  • One rail mode. Rail, metro and light rail lines are all rail lines: one numbering series, one palette and one filter, and any mix of main-line, subway, elevated and street-level stations can share a line. Metro and light rail remain construction styles (subway, elevated, street level, close station spacing).
  • Walking catchments along real streets, twice the reach. Stations draw passengers from the buildings people can walk to along streets: about 420 m for rail, 385 m for tram stops and 280 m for bus stops. Full coverage extends to about 210 m and tapers beyond.
  • More entrances for every station. Ground stations can get a side hall, a footbridge (stair towers and a covered deck across the tracks), an underpass or a platform-end gate on either side of the tracks. Subway and elevated stations can get more pavilions and stair towers. Each entrance adds walking catchment, and the station window shows the residents each one reaches. Rebuilds keep entrances connected to their streets.
  • Even spacing. Vehicles hold briefly at timing points and leave depots one headway apart, so lines no longer bunch. Three buses on one line went from delivering 316 / 30 / 29 passengers to 151 / 132 / 122.
  • Realistic economics. One rail fare model: distance-based with a minimum charged once per journey, plus the speed factor. Urban demand is denser in big town centres. Intercity rail pays again: a line between two 3,000-person towns reaches about 20% load and a profit by year 3. City light rail repays its capital in about 3–4 years and subways in about 8. Passengers who give up waiting lower a station's rating and its demand, as in OpenTTD.
  • Towns grow with good service. Growth follows the share of passengers actually transported, call frequency and station ratings. Passengers who give up waiting are counted and lower station ratings. Town car traffic scales with population.

AI companies

  • They keep their railways: a line closes only after five losing years, and they cut service in steps first (shorter trains, fewer trains, dropped patterns, a shuttle).
  • They connect lines mid-route and run through trains across them, join lines that meet end to end, pair parallel single tracks into double track, and build road shortcuts where buses make long detours.
  • They build city railways in big towns, cooperate on underground links between two companies' termini, and run metro or light rail under main-line stations.
  • Railway planning takes weeks instead of most of a game year.
  • Their network work is resumable, so saved games replay exactly.

Interface

  • Onboarding:
    • affordable defaults (single track, a modest first station);
    • a budget step in the checklist and a second stage;
    • Borrow and Open finances on money errors;
    • Finances on the I key and speed on , and .
  • Small screens and touch: layouts for 1024×768, 800×600 and phones; touch previews before building.
  • Accessibility:
    • colour-blind-safe map colours and line palettes;
    • an interface size setting (90–130%);
    • keyboard focus that works.
  • Fixes:
    • M no longer also collapses the minimap (H does);
    • pinch always zooms;
    • failed demolitions cost nothing;
    • stations or depots in use ask before demolition;
    • selling a new train refunds it in full.

Performance and reliability

  • No more blinking on low-end or busy PCs. Automatic resolution no longer presents black frames, and its changes are rate-limited.
  • Autosaves are cheap. On the largest maps the main thread now stalls for 17 ms per autosave (was 422 ms). Starting a new game or loading another keeps the current game as "Autosave (previous game)".
  • Station catchments recompute incrementally instead of all at once.
  • Fixed-step simulation with exact save/load replay.
  • Saves carry a version marker; a save from an incompatible version says so.

Saves from 2.4 and earlier load in 2.6. Saves made in 2.6 use a new format that older versions can't read.