Timeframe: 02/2016 – 11/2017
Position: Gameplay Engineer (contract)
Technologies: JavaScript, Phaser, HTML, CSS, Photon Engine, Electron, NodeJS, AWS S3
Status: Released on LRNG site for a while. Press release.
The Story:
This was the first game project with Glasslab Games/LRNG/SNHU (so. many. acquisitions). We’d investigated Unity Web Player, but had decided to go with Phaser for smaller web game sizes. Deep Sea Crisis is a 2-player game in the same vein as Keep Talking and Nobody Explodes, with one player trying to fix a number of issues with a submersible before it fails, while the other has the manual and tries to talk them through it. Neither can see the information the other has access to. There’s a timer. And problems. Underwater!
Phaser handles the gameplay, while game and chat events are routed through the chat portion on the right-hand side. Telemetry is sent to an AWS S3 bucket for collection and analysis. Networking was provided by Photon Engine’s cloud services. Students would enter class-codes that helped segment the lobby so that only students in the same class could be matched, and the match-making logic tried to match students for three-games a piece. These games were peer-to-peer games with an “authoritative client” or “master peer” that held the authoritative game state unless there was a networking problem, in which case the other peer would take those duties when the client with issues reconnected. Save games were also supported, for classes that needed to pick up where they left off.
Aside from the original version, several variants were created, including one that was localized to Swahili and with the client packaged up in Electron and a NodeJS server on a number of laptops for testing in a classroom with no internet access in Tanzania, to test whether the research did well in another culture. It did! Alas, I did not get to travel to Tanzania to do this, but my producer did, and she said it was awesome.