Mummy Maze is a classic game from PopCaps. This is an educational project where we explore programming by creating a simple ASCII game. The project also helps us practice team collaboration, version control, and project management skills.
This project aims to recreate the Mummy Maze gameplay as part of the Fundamentals of Programming course. Through this assignment, our group is expected to apply core programming concepts, explore algorithm design, and practice structured software development. The project also provides opportunities to study maze generation techniques, implement character movement algorithms, and design interactive game features such as undo/reset and save/load systems.
You can download our game in release section and run it by using Execution
Because the use of CMake and Make may exceed the technical requirements of this project (don't know how to use it 🐧), the implementation is compiled using a direct g++ command.
git clone -b SFML --single-branch https://github.com/JACOBkolinski/graphic_mummy_maze_game.git
cd ./graphic_mummy_maze_game
g++ sources/game.cpp sources/game_controller.cpp sources/maze_generator.cpp sources/game_entities.cpp sources/spawn_selector.cpp -I"SFML-3.0.2/include" -I"nlohmann" -L"SFML-3.0.2/lib" -lsfml-graphics -lsfml-audio -lsfml-window -lsfml-system -o builds/game.exeg++: This is C++ compiler. It compiles.cppfiles into an executable or object files.sources/game.cpp: This is the source file you want to compile.-o builds/game.cpp: This is the flag specifies the output file name.-I "SFML-3.0.2/include": This is the flag tells the compiler where to find header files.-L "SFML-3.0.2/lib": This is the flag tells the linker where to find libraries.-lsfml-graphics: This is the flag tells the linker which libraries to link against.
Warning
Do not delete the .dll files in the builds folder.
If you remove them, the executable will not run correctly!
Warning
Use must use g++ match SFML version! Which is GCC 14.2.0 MinGW (SEH) (UCRT) (14.2.0).
If you cann't compile or run game, make sure you are standing in project root folder and using match g++ version.
If you dont have match compiler please use our compiler include in this project mingw64/bin/g++.exe
The executable file will be updated soon. For now, you can run the game from the project root using this command:
./builds/game.exe- Click Login to enter the main menu.
- Play: Start a new game.
- Options: Turn music on/off or change the difficulty.
- Load: Load a previously saved level.
- Exit: Open the pause menu.
- Save: Save the current game state.
- Undo: Revert your previous move.
- Reset: Restart the level from the beginning.
- Exit: Quit the game and return to the main menu.
Use the W A S D keys or the Arrow Keys to move the Explorer.
- You cannot walk through walls.
- You win by reaching the exit of the maze.
- You lose if the Mummy catches you.
This project is designed and tested to run exclusively on Windows.
The executable and compilation process rely on Windows-specific dependencies and libraries.
The program has been successfully tested on a clean Windows environment (factory-reset machine).
Warning
We do not take responsibility for any issues that occur if:
- you compile the project incorrectly,
- your system environment variables have been modified,
- your compiler does not match the required configuration.
If you still encounter issues when running the game, consider using Dependencies to identify any missing components. You can find the installation guide for Dependencies at the following link: lucasg/Dependencies
Running the project on Linux is not officially supported.
If you wish to attempt it, you may try using Wine, but you will need to manually configure all required libraries and dependencies.
Important
For Arch Linux users, you can refer to Wine installation guidelines (e.g., via pacman -S wine) and configure Wine prefixes accordingly. You must also manually provide any missing DLLs, SFML libraries, or compiler-related files necessary for execution.
Warning
Please note that we cannot guarantee the project will function correctly on Linux or any non-Windows platform, and we bear no responsibility for unexpected behavior or failures arising from such attempts.
SFML-3.0.2: Full SFML libraries.assets: Full videos, images and audio of the project.sources: Full source code of the project.builds: Full products of the projects.
Pull requests are not welcome and abandoned by our mentor. For major changes, please open an issue first to discuss what you would like to change. However we won't accept that!
Please make sure to update tests as appropriate.