Language: C++
Graphics library: Qt
Course schedule: http://www.lsv.fr/~chatain/enseignement/GL/
- map/players (assets from native game for instance) - https://github.com/Perfare/AssetStudio
- Show the map
- Handle player movement
- Maintain game state
- Display other players
- Display name tags
- Menu (main menu and "meetings")
- Network: peer-to-peer
- with secret (visibility) - using OpenSSL/Helib for cryptography
- Tasks:
- Fix Wiring
- Asteroids
- Swipe Card
- Enter Id Code
- Scan Boarding Pass
- Unlock Manifolds
- Align Engine
- Set places for tasks
- Show small map with tasks and player location
- Door sabotage
- Cameras (Security)
- Vocal chat during "meetings" (not prioritary)
- Extra anti cheat (not prioritary)
- Packaging
- (documentation ?)
- Tests :
- Continuous integration:
- Windows (Helib incompatible?)
- Linux
- MacOS
- Code coverage
- Other tests
- Continuous integration:
Requires Qt 5.12.11 (or probably any other recent version). To build on Ubuntu, you can either:
- open
AmongUsDecentralized.pro
in Qt Creator, then click "Build Project", - or, from a build directory, run
qmake path/to/AmongUsDecentralized.pro
thenmake
.
To build the .ts "to translate" file: lupdate AmongUsDecentralized.pro
To build the .qm "translated" file: lrelease AmongUsDecentralized.pro
Don't forget to put the .qm file into the directory storing the AmongUsDecentralized executable.
To test code coverage on Linux and Mac (requires gcov
and lcov
):
- build in debug mode (in a command line: from the build directory, run
make clean
, thenqmake CONFIG+=debug path/to/AmongUsDecentralized.pro
, thenmake
), - play the game and test the features you would like to test,
- from the build directory, run the script
runCoverage.sh
on Linux orrunCoverageMac.sh
on Mac.
A webpage should open, where you can browse the code and see the coverage of each source file and folder.
Dispatching code from the InGameUI would be nice