Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Play it now: https://abarber206.github.io/graveyard-shift/ (or download share/GraveyardShift.html and double-click it)
A co-op salvage horror game. You and your crew work the night shift for Mercy Salvage Co.: land at abandoned sites, go down into dark procedurally generated facilities, haul scrap back to the ship before midnight, and sell it to meet the profit quota. Miss the quota and you're fired.
Single player, or online co-op with up to 6 players (room codes, no port forwarding). Paint your robot any colour you like on the colour wheel before you start.
Easiest: double-click share/GraveyardShift.html. That one file is the whole game. It opens in your browser (Chrome, Edge or Firefox) with no install and no server.
Also works: double-click Play.bat, which runs the development copy (index.html + js/) through a tiny local server.
You need an internet connection: the 3D engine, the fonts and the multiplayer matchmaking load from public CDNs.
Use headphones and play in a dark room. All the audio is positional, and a lot of the danger is something you hear before you see it. There are no recordings and no synthesizer tones: every sound is worked out from how it's really made. Struck things ring the way their shape and material do, hinges and trees creak by sticking and slipping, creatures have throats and mouths, drips are bubbles, horns and klaxons are diaphragms being hammered, and the music is a section of bowed strings.
Open the play link on your phone and turn it sideways. Touch controls come up by themselves:
To install it like an app: on Android, use INSTALL APP in the main menu (or Add to Home screen in Chrome's menu). On iPhone or iPad, tap Share, then Add to Home Screen. It then opens full screen and in landscape, and once it has loaded it also works offline in single player.
Phones start with a lighter picture (lower resolution, no flashlight shadows, no volumetric fog), which you can turn up in Settings. Volumetric fog (OFF / LOW / HIGH: high by default on a computer; phones start with it off, and LOW is a lighter version made for them) draws the air as a real volume: ground mist lying in drifting patches, thinning as it rises, cloud banks among the far hills, and the sun coming through the trees in shafts; turned off, the outdoors uses a lighter flat mist and drifting cloud cards instead. Settings → Touch controls can also force the touch controls on or off (on a touchscreen laptop, say).
Crew bots (below) count toward the 6; a friend joining a full crew takes the place of the newest bot. No port forwarding or accounts are needed. Connections are peer-to-peer (WebRTC) through the free public PeerJS matchmaking server, with a relay server as a fallback for strict networks once one is set up (see below). The host's browser runs the world, so whoever has the best connection should host. Up to 6 crew.
The host can alt-tab (to Discord, say) without freezing the game for everyone: the world keeps running while the host's tab is in the background.
On phones and mobile data. Connections go straight between players when the networks allow it, which covers most home Wi-Fi. Two phones on mobile data (or behind strict Wi-Fi) usually can't reach each other directly and need a relay (TURN) server in between. The free public relays the game used have shut down and every relay now needs an account, so none is set up yet: add one in js/net.js (RELAYS, or RELAY_URL for a link that hands out credentials, such as Metered's). A phone pauses the game when it's in the background: the host should keep it on screen while friends join (if it was paused, the lobby comes back under the same code as soon as it's on screen again). If someone can't get in, both players tap TEST CONNECTION on the host or join screen: it checks the matchmaking server, a direct route and the relay from that phone's network, and says whether it can play online. If the game says you have different versions, both of you close it and open it again.
Everyone needs a copy of the game, and everyone should have the same version. Pick one:
Send friends share/GraveyardShift.html (about 750 KB) over Discord, Google Drive, a USB stick, anything. They double-click it, choose JOIN ONLINE GAME and enter your code. Some email services block .html attachments; send share/GraveyardShift-web.zip instead (unzip, then open index.html).
Once the game has a web address, friends don't need any files: they open the link. From a hosted copy, Esc → COPY INVITE LINK gives a link like https://your-site/?join=ABCDE. Opening it lands straight on the join screen with the code filled in.
This is the beginning of the README. Read the rest at the original. Read the full README ↗