EUCLID, a game of interdimensional adventure! ๐๐งณ
Euclid is an interactive text-based adventure game where you, the player, take on the role of a lone adventurer with a hazy memory. A mysterious voice, Isaac, speaks to you from above, guiding you through your journey. However, Isaac is an unreliable narrator, and youโll need to make your own decisions to navigate the challenges that lie ahead.
As you venture through this strange world, you will face multiple choices that could alter your fate. Will you take the mysterious amulet? ๐ Will you cross the great chasm? ๐ Will you solve the riddle posed by the knight guarding the castle? ๐ฐ Every choice you make will have a consequence, and only the right decisions will allow you to progress.
- Choices that Matter: Your decisions shape the outcome of the game. Choose wisely! โ๏ธ
- Isaac, the Unreliable Narrator: A voice from above that gives you guidance โ or does it? ๐
- The Amulet: Will you take the amulet to protect yourself from the beast lurking beneath the bridge? ๐
- Riddle Solving: Solve a riddle posed by an armed knight to proceed into the castle. ๐ฐ๐
- Merchant Stand: A mysterious merchant with a spinning wheel of fate. The item you receive determines your future. ๐ฒ๐
- Start the Game: Upon starting, you will be prompted by Isaac, the narrator, to make decisions that will shape your journey. ๐
- Make Key Choices: As you progress, youโll need to choose between different options, like taking the amulet or crossing the chasm. ๐ค
- Solve Riddles: You'll encounter a knight guarding the castle. Solve his riddle to gain access. ๐งฉ
- Interact with the Merchant: At the end of your journey, youโll have a chance to interact with a mysterious merchant to shape your future. ๐๏ธ
- Multiple Outcomes: Your decisions may lead to different outcomes, so play again to explore new paths! ๐
-
Clone the repo:
git clone https://github.com/jay-gleeson/cs175-midterm-project.git
-
Open directory:
cd cs175-midterm-project
-
Compile cpp:
A. Windows:
g++ MyMidtermProject.cpp -o euclid.exe euclid.exe
B. MacOS / Linux:
g++ MyMidtermProject.cpp -o euclid ./euclid
Narrative Cohesion ๐งต: Maintaining a consistent tone and logical flow between branches was tricky with multiple story paths.
State Tracking ๐: Tracking the playerโs key decisions (amulet, riddle, etc.) across different scenes required careful use of variables and conditionals.
Dynamic Ending Logic ๐ง : Ensuring that the ending properly reflected the player's choices involved juggling several layers of branching logic.
Save/Load System ๐พ: Implementing the ability to save progress and resume later for a smoother player experience.
Expanded Narrative Paths ๐งญ: Introduce more choices and subplots to deepen replayability and immersion.
Fix Comments for Readability ๐ฌ: Reduce comment length for in-line and block comments for better reproductability and readability.
Enjoy your adventure in Euclid ๐ค๏ธ and may your choices lead you to a good fate! ๐โจ