https://github.com/sarwanshah/hu_2018_hoshruba-a-game-in-c-plus-plus
A turn-based, strategy war game developed using C++ and SDL2
https://github.com/sarwanshah/hu_2018_hoshruba-a-game-in-c-plus-plus
Last synced: 8 months ago
JSON representation
A turn-based, strategy war game developed using C++ and SDL2
- Host: GitHub
- URL: https://github.com/sarwanshah/hu_2018_hoshruba-a-game-in-c-plus-plus
- Owner: SarwanShah
- License: agpl-3.0
- Created: 2021-02-12T22:28:44.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-07T22:56:22.000Z (8 months ago)
- Last Synced: 2025-02-07T23:26:32.576Z (8 months ago)
- Language: C++
- Homepage:
- Size: 35.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hoshruba - A Game in C++
## **Project Overview**
This project was developed under the **CS224 Object-Oriented Programming and Design Methodologies** course at **Habib University** during Fall 2018. It focuses on building a game using **SDL (Simple DirectMedia Layer)** while implementing core object-oriented programming concepts such as **UML design, inheritance, polymorphism, encapsulation, and object interactions**.**REPORT/GUIDE: https://github.com/SarwanShah/Hoshruba-A-Game-In-C-Plus-Plus/blob/main/Project%20Guide.pdf**
**VIDEO DEMONSTRATION:**
## **Project Features**
- **Game Development using SDL**: Implements LazyFoo SDL tutorials for rendering graphics, handling user input, and processing game logic.
- **UML-Based Design**: Uses Unified Modeling Language (UML) to design class structures before development.
- **Object Interactions**: Implements collision detection, player movement, enemy behaviors, and other interactions.
- **Graphics and Audio**:
- Custom sprite design and usage of sprite sheets.
- Audio effects and background music implementation using SDL Mixer.
- **Game Levels and UI**:
- Fixed and randomly generated levels.
- User interface components (menu screens, game over screens, pause functionality).
- **Save and Load System**:
- Supports saving game progress in `.txt` or `.csv` files.
- Loads saved game states for continuity.## ** Other Notes **
There is also a GAME EXE zip folder uploaded to the repository. You may download that directly and run the .exe file within it to play the game in all its glory. However, note that you will need to have SDL2 setup on your device in order to play the game. The attached Project Guide file outlines the process for setting up SDL and provides a brief introduction to how it works.