Skip to content

doomsdaycome/mummy

Repository files navigation

Mummy Maze Game Graphic Version!

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.

  1. Introduction
  2. Installation
  3. Execution
  4. Troubleshoot

Introduction

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.

Installation

Release

You can download our game in release section and run it by using Execution

Manual

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.exe
  • g++: This is C++ compiler. It compiles .cpp files 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

Execution

The executable file will be updated soon. For now, you can run the game from the project root using this command:

./builds/game.exe

Navigation

Main Screen

  • Click Login to enter the main menu.

Main Menu

  • Play: Start a new game.
  • Options: Turn music on/off or change the difficulty.
  • Load: Load a previously saved level.

During Gameplay

  • 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.

Play

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.

Troubleshoot

Platform Notice

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

Linux Notice

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.

Section

  • 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.

Contributing

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.

License

MIT

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors