/Game-of-Seyeds

A game for the famous Seyed.

Primary LanguageC++MIT LicenseMIT

🎮 Game of Seyeds

Welcome to Game of Seyeds! A fun and engaging quiz game where Seyed and friends compete to prove who knows the most! 🤓✨

📖 Overview

In this game, players take turns answering trivia questions on various topics. The objective is simple: answer correctly to earn points and become the ultimate Seyed champion! 🏆

Features

  • Custom JSON Parser 📜: Efficiently fetch and parse trivia questions from the Trivia API.
  • Interactive GUI 🎨: Built using Raylib for a smooth and engaging user experience.
  • Single-player Mode 🕹️: Test your knowledge against increasing difficulty levels and track your high scores!
  • Multiplayer PvP 🤝: Challenge your friends across different machines using socket connections.
  • Diverse Topics 🌍: Questions span various categories to keep the game fresh and exciting!

🚀 Getting Started

To get started with the Game of Seyeds, follow these steps:

Prerequisites

  • C++ compiler (e.g., g++, clang++)
  • CMake
  • Raylib (auto-fetched by CMake)
  • cURL (auto-fetched by CMake)

Installation

  1. Clone the repository:

    git clone https://github.com/MPCodeWriter21/Game-of-Seyeds.git
  2. Navigate to the project directory:

    cd Game-of-Seyeds
  3. Build the project using CMake: You can simply run cmake and have your build files generated based on your operating system and configurations, or you could run a more specific command like this:

    # Create Unix Makefiles based on the CMake configuration in the current directory and
    # put them in the `build/` directory under the current working directory and use clang
    CC=clang CXX=clang++ cmake -S . -B build -G "Unix Makefiles"
    # OR
    cmake -S . -B build -G "Unix Makefiles" -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++

    Then build it based on the files generated by CMake. If you used Makefile like I did, you can simply go to the build/ directory and run make. Or on Windows you might choose to go with MSVC and do something like:

    mkdir build
    cd build
    cmake ..
    cmake --build .

Running the Game

After building the project, you can simply run the output executable:

# Linux/Unix:
./GameOfSeyeds

🎉 How to Play

  1. Choose between Single-player or Multiplayer mode.
  2. If in multiplayer mode, connect with other players using their IP addresses.
  3. Answer questions correctly to earn points!
  4. The player with the highest score at the end wins! 🎊

🛠️ Technologies Used

  • C++: The programming language used for development.
  • CMake: For build management.
  • Raylib: For graphics and user interface.
  • cURL: To handle HTTP requests for the Trivia API.

📄 License

This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as long as you credit the original author. 📝

TODO List

  • A custom json parser.
  • A simple interface to get questions from the Trivia API (Uses libcurl as backend).
  • Immediate Mode GUI made with raylib.
  • CMakeLists.txt that can generate build files based on your setup and will download raylib and cURL automatically.
  • Survival game with a difficulty choice and keeping track of games played and the highscore.
  • Multiplayer PvP game across different machines with sockets.

🤝 Contributing

We welcome contributions! If you'd like to contribute to the Game of Seyeds, please fork the repository and submit a pull request.

References


Thank you for checking out Game of Seyeds! Have fun and may the best Player win! 🎉