Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
A tycoon game about building a radio and TV company from 1970 onward. Mac, Windows and Linux.
翻訳待ち
Loading the full README.
Read the full README ↗A tycoon game about building a radio and TV company from 1970 onward. It runs in a browser and as a desktop app for Mac, Windows and Linux. This is Alpha 0.10.0, a build for playtesting.
| File | What it is |
|---|---|
| CHANGELOG.md | What is in each version |
| REQUESTS.md | What is still wanted, by priority, and where playtest notes go |
| Decisions.md | How the game is put together, and why, where that goes beyond the brief |
| prompt.md | The design brief, and the roadmap of Phases 0 to 14 the game was built by |
The installers are in release/ after npm run dist:mac, dist:win or dist:linux. None of them is signed, so each system asks before it runs the game.
| System | File | To open it |
|---|---|---|
| Mac (Apple silicon and Intel) | Broadcast Empire-0.10.0-universal.dmg | Open the .dmg and drag the game to Applications. If macOS says the app is damaged or from an unidentified developer, run xattr -cr "/Applications/Broadcast Empire.app" in Terminal once, then open it. |
| Windows (64-bit) | Broadcast Empire Setup 0.10.0.exe | Run it. When SmartScreen warns, choose "More info" and then "Run anyway". |
| Linux, Debian and Ubuntu (64-bit) | broadcast-empire_0.10.0_amd64.deb | Open it with the software installer, or run sudo apt install ./broadcast-empire_0.10.0_amd64.deb. The game is then in the applications menu. Build it on Linux: on a Mac, electron-builder may fail to make a .deb, and the release workflow builds it anyway. |
| Linux (64-bit) | Broadcast Empire-0.10.0.AppImage | Make it executable (chmod +x) and run it. Some systems need libfuse2 for an AppImage, or the flag --no-sandbox. |
The build is named on the home screen and at the bottom of Settings. Quote it with a playtest note.
| Command | What it does |
|---|---|
npm run dev | Start the game at http://localhost:5173 |
npm test | Run the simulation unit tests |
npm run coverage | Run the tests with a coverage report (open coverage/index.html for line-by-line detail) |
npm run typecheck | Type-check everything |
npm run simulate -- --bot growth --years 10 --yearly | A bot plays N years headless and prints results, including market position (balance check). Bots: sensible (one channel in the Capital), capital (the same channel run well: sponsors, a production manager, a researcher), neglectful, growth (expands, sponsors, second channel), nosupport (like growth, but never hires cleaners, technicians or maintenance staff), tv (grows radio, then launches a TV channel and bids on TV licenses), research (like growth, but researches every tech as early as it can). Add --seed N to vary the game and `--difficulty easy |
npm run build | Production build into dist/ |
npm run desktop | Build the game and open it as a desktop app (Electron) |
npm run desktop:dev | Open the desktop app on the running npm run dev server, for working on it |
npm run dist:mac · dist:win · dist:linux | Build the game and make an installer in release/: a .dmg, a setup .exe, or on Linux a .deb and an AppImage. Unsigned; see "Installing the alpha" above |
npm run website | Build the game's website into website/dist; see "The website" below |
Controls: Space pauses and resumes; 1, 2 and 3 pick normal, fast and fastest speed. In the office, dragging or W, A, S and D move the view (two fingers move and zoom it on a touch screen; while a room is being drawn, drag with the right or middle button), Q and E turn it, + and − (or the mouse wheel) zoom, 0 puts it back, Page Up and Page Down go one floor up or down, and R turns a piece of furniture. Escape closes the window in front. Ctrl+Alt+C opens the cheat console for testing (money 50000, year 2000, help for the rest). Ctrl+S (Cmd+S on a Mac) saves.
Saves. The game opens on a home screen: continue the newest save, load or delete any save, start a new game (first your character and your name, then the headquarters: a region picked from a live preview of each, the company's name and the difficulty), or change the settings. Saves have names; the autosave is kept apart and is written at the start of every month, and in the desktop app also when you quit. In a browser, saves live in that browser (IndexedDB). In the desktop app each save is a JSON file in the system's folder for the game:
| System | Save files |
|---|---|
| Mac | ~/Library/Application Support/Broadcast Empire/saves |
| Windows | %APPDATA%\Broadcast Empire\saves |
| Linux | ~/.config/Broadcast Empire/saves |
Settings on the home screen shows the folder and opens it.
The pipeline does this for a bundle of issues (see PIPELINE.md); by hand it goes:
package.json (and the two lines at the top of package-lock.json). The game reads it from there.npm test, then npm run dist:mac, npm run dist:win and npm run dist:linux.main.main and put the installers on GitHub as the release of the version (see "The website" below); the release makes the tag.The site people download the game from, at https://broadcastempire.online: a home page, Download, Media, Changelog and feature requests, and Thank you. npm run website writes it to website/dist as plain HTML, with a sitemap.xml and a robots.txt. To look at it first: npx vite preview --outDir website/dist.
This is the beginning of the README. Read the rest at the original. Read the full README ↗