Texts (French and English) → Engine (Game.respond(line)): sentences
Terminal (Main, Java) → Engine (Game.respond(line)): each line typed
Tests (JUnit, whole games) → Engine (Game.respond(line)): play
Browser (compiled to JavaScript) → Engine (Game.respond(line))
Play in your browser
The game's engine, written in Java, compiled to JavaScript by TeaVM: type your commands as in a terminal (for example "north", "take the badge", "talk").
Tech stack
Java
Maven
JUnit
TeaVM
Who does what
Java
The engine of "The night lab": the whole game behind one method, in French and English.
Maven
Building, tests, and a web profile that runs TeaVM.
JUnit
The tests: texts in both languages, command parsing, items, the badge door, whole games played.
TeaVM
Compiles the Java to JavaScript: you play in a terminal on the project page.
Definition of Done
Code reviewed, diff by diff
Unit and integration tests green
Green CI on Linux, Windows and macOS when compiled