Skip to content

jay-gleeson/cs175-midterm-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

18 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GitHub License C++

CS175 Midterm Project Fall 2024

EUCLID, a game of interdimensional adventure! ๐ŸŒŒ๐Ÿงณ

Game Overview ๐ŸŽฎ

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.

Gameplay Features ๐Ÿ•น๏ธ

  • 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. ๐ŸŽฒ๐ŸŽ

How to Play ๐Ÿงญ

  1. Start the Game: Upon starting, you will be prompted by Isaac, the narrator, to make decisions that will shape your journey. ๐ŸŒŸ
  2. Make Key Choices: As you progress, youโ€™ll need to choose between different options, like taking the amulet or crossing the chasm. ๐Ÿค”
  3. Solve Riddles: You'll encounter a knight guarding the castle. Solve his riddle to gain access. ๐Ÿงฉ
  4. 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. ๐Ÿ›๏ธ
  5. Multiple Outcomes: Your decisions may lead to different outcomes, so play again to explore new paths! ๐Ÿ”„

Installation Instructions โš™๏ธ

  1. Clone the repo:

    git clone https://github.com/jay-gleeson/cs175-midterm-project.git
  2. Open directory:

    cd cs175-midterm-project
  3. Compile cpp:

    A. Windows:

    g++ MyMidtermProject.cpp -o euclid.exe
    euclid.exe

    B. MacOS / Linux:

    g++ MyMidtermProject.cpp -o euclid
    ./euclid

Challenges โš ๏ธ

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.

Future Improvements ๐Ÿš€

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! ๐Ÿ€โœจ

About

๐Ÿ““ Midterm project for C++ class CS G175 Fall semester 2024.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages