Build a Malaysian city and the public transport it runs on: bus contracts, BRT, rush hours, town councils, state elections and a federal government.
Wira Bandar PC is a fork of OpenTTD, the free transport game: OpenTTD's code with changes, not a game made from scratch. Everything OpenTTD has is still there, and a city-building and public transport game set in Malaysia and Singapore comes on top. Like OpenTTD, it is free software under the GNU General Public License version 2, and this repository is its source code.
Download for Windows · Read the guides · Your first bus network · What's new · About the game
Free · 64-bit Windows · plays your OpenTTD saves and add-ons
The name. Wira Bandar means "town hero": wira is Malay for hero, bandar for town. The hero is whoever makes a town work for the people who live there, and in this game that's you.
The goal. Build a city that moves people, not just cars: where the buses come on time, the air stays clean, and every kampung can grow into a city worth living in.
Transit apps answer the rider's question: when is my bus coming? Behind that question sit harder ones. Who pays for the route? Why does the bus crawl through town at five o'clock? Why does one city get a BRT and another a new highway?
Wira Bandar PC lets you answer them yourself. It takes OpenTTD, a transport game with more than twenty years of work by its community, and adds the cities and the politics of Malaysia and Singapore: town councils and their budgets, commuters who drive or ride, contracts from the towns' transit authorities, voters who judge the service they get, and a federal government with plans of its own.
![]() Traffic lights. Smart lights: town traffic and buses take turns, with amber and all red in between. Full video |
![]() A BRT line at work. Buses leave the BRT station and pass the queues on the busway, getting green first at the bus signals. Full video |
![]() Rush hour. Busy roads, crowds at the stops, and the city clock ticking in orange. Full video |
![]() A depot yard. Buses charge, park and get repaired at the end of their line. Full video |
![]() Street life. Cars on the road, people on the pavements. Full video |
![]() Election night (new in 0.4.0). The count, town by town, the big cities last, then the winner and the states' assemblies. |
- Traffic. Traffic lights with smart or fixed timings, vehicles that give way at junctions, town traffic that slows your buses, street life, and a traffic map that shows where it's held up.
- Towns. Zoning; police, fire, clinics, schools, hospitals, universities, stadiums and hawker centres; Malaysian and Singaporean buildings, shops and town names, from Kampar to Kuala Lumpur; budgets, ordinances, and commuting in and between towns.
- Government. Councils from Majlis Daerah to Majlis Bandaraya; states that elect their governments every five years, with the run-up to each election in the news and an election night that counts the seats; a federal government with national programmes, a five-year plan of projects for companies, and a transit agency in each federal territory; regions run like Sabah and Sarawak, with work passes and permits.
- Transit. Lines and departure boards, fares and passes, contracts and tenders, modern and electric buses, depot yards and chargers, bus lanes, busways and BRT, expressways and tolls, interchanges and hubs, passenger satisfaction, rush hours and on-demand lines, metro and rail.
- Environment. Air pollution measured on Malaysia's API and Singapore's PSI, and land value that decides where towns build tall.
- Your way. Most new features have an Off setting that plays as in OpenTTD, and your OpenTTD saves, NewGRFs and AIs still work.
Real Malaysian and Singaporean transit ideas, turned into play:
- Bus contracts and free lines. Towns invite tenders for your bus lines, like Singapore's Bus Contracting Model and BAS.MY: bid, run the line for five years and get paid by the departure. Some lines are free to ride, like Penang's CAT, and towns give their residents free passes, like Pas Mutiara, and pay you for them.
- Priority for buses. Paint bus lanes for all day or the peak hours, give buses their own signals at traffic lights, and build a kerbed busway or an elevated one with stations on the viaduct, Sunway style. Every line gets a BRT score.
- Towns that grow up. Kampung houses and shophouses give way to terrace houses, HDB-style blocks, condominiums and glass towers. Councils move up from Majlis Daerah to Majlis Perbandaran and Majlis Bandaraya, and run their estates like Singapore's town councils.
- Voters who ride the bus. States elect their governments every five years on the service voters get: traffic, transit, the air, city services, housing and taxes. Carry enough commuters and Transit First wins, and its grants fund more contracts.
- Five-year plans. The federal government offers companies projects in its five-year plan, as the Rancangan Malaysia does: a metro line for the capital, BRT lines, expressways, hospitals. Deliver one and it pays you, and voters remember it at the next general election. In the federal territories a transit agency, like Prasarana, tenders railway and BRT lines.
- Download
wirabandar-<version>-windows-x64.zipfrom the latest release. - Unzip it anywhere and run
wirabandar.exe. The game isn't code-signed, so Windows SmartScreen may ask once: click More info, then Run anyway. - The first time it starts, the in-game tutorial offers to show you, step by step, how to start a game and build your first bus line, and it makes the button to click flash. It's always under Tutorial in the main menu.
- Read on in the guides, which explain every feature, with tutorials for a first bus network, a council's services, a Transit First state and a BRT corridor.
Is it free? Yes. Like OpenTTD, Wira Bandar PC is free software under the GNU GPL v2, and its source code is this repository.
Is it OpenTTD? It's a fork of OpenTTD: OpenTTD's code with changes, not a game made from scratch. Everything OpenTTD has is still there, and the city and transit features are added on top. It isn't made or supported by the OpenTTD team, so please don't report its problems to them.
Do I need OpenTTD installed? No. If you have it, Wira Bandar PC uses your OpenTTD settings, saves, graphics, NewGRFs and AIs, and never changes OpenTTD's folder. If you don't, it downloads the free OpenGFX graphics the first time.
Which computers does it run on? There is a ready-made download for 64-bit Windows. It also builds on Linux from the source code, as OpenTTD does (see COMPILING.md).
- It keeps its settings and saves in
Documents\Wira Bandar. The first time it starts, it copies the settings and saves fromDocuments\OpenTTD(copies; nothing there is moved or deleted), and it still finds the graphics, NewGRFs and AIs installed for OpenTTD, inDocuments\OpenTTDand in OpenTTD's own folder (C:\Program Files\OpenTTD). - It loads OpenTTD's
.savfiles and saves its own games as.csav, which OpenTTD can't open. - Every version has its own release on the releases page,
with its zip named after it (for example
wirabandar-0.4.0-windows-x64.zip); what changed in each one is in docs/wirabandar-changelog.md. The game shows its version in the window title, at the bottom of the main menu and in the About window. The old link https://github.com/hithereiamaliff/wirabandar/releases/download/latest/wirabandar-windows-x64.zip still gets the newest build. - What each step of the game added, and how it was tested, is in docs/city-builder-plan.md.
Wira Bandar PC is a fork of OpenTTD, the work of the OpenTTD team and its community over more than twenty years; their names are in CREDITS.md and in the game's About window. Wira Bandar PC is not made or supported by the OpenTTD team: please don't report its problems to them.
Like OpenTTD, Wira Bandar PC is licensed under the GNU General Public License version 2.0; the complete licence text is in COPYING.md. It applies to all files here except these parts, which come with OpenTTD under their own licences:
| Part | Licence | Licence text |
|---|---|---|
squirrel, src/3rdparty/squirrel |
Zlib | src/3rdparty/squirrel/COPYRIGHT |
md5, src/3rdparty/md5 |
Zlib | the comments in its source files |
fmt, src/3rdparty/fmt |
MIT | src/3rdparty/fmt/LICENSE.rst |
nlohmann json, src/3rdparty/nlohmann |
MIT | src/3rdparty/nlohmann/LICENSE.MIT |
OpenGL API, src/3rdparty/opengl |
MIT | src/3rdparty/opengl/khrplatform.h |
catch2, src/3rdparty/catch2 |
Boost Software License 1.0 | src/3rdparty/catch2/LICENSE.txt |
icu scriptrun, src/3rdparty/icu |
Unicode | src/3rdparty/icu/LICENSE |
monocypher, src/3rdparty/monocypher |
2-clause BSD and CC-0 | src/3rdparty/monocypher/LICENSE.md |
OpenTTD Social Integration API, src/3rdparty/openttd_social_integration_api |
MIT | src/3rdparty/openttd_social_integration_api/LICENSE |
atomic support detection, cmake/3rdparty/llvm/CheckAtomic.cmake |
Apache 2.0 | cmake/3rdparty/llvm/LICENSE.txt |
To build it yourself, follow OpenTTD's build instructions in COMPILING.md: they work for
Wira Bandar PC too. On Windows the program is wirabandar.exe; elsewhere it keeps the name openttd.

















