-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Welcome to the Adventure-Game FAQ.
This page answers the most common questions about the project, including its purpose, architecture, gameplay systems, and future development. Whether you're a player, a contributor, or someone exploring the source code, you'll find helpful information here.
Adventure-Game is a console-based RPG written in C++. The project focuses on demonstrating object-oriented programming concepts, software architecture, and modular game development while providing a simple role-playing experience.
The project was created as a learning experience to improve knowledge of:
- Object-Oriented Programming (OOP)
- C++
- Software architecture
- Dynamic memory management
- Game development concepts
- Git and GitHub collaboration
It also serves as a portfolio project showcasing practical programming skills.
Not yet.
Adventure-Game is an actively evolving project. While many core systems are already implemented, additional gameplay mechanics and improvements are planned.
Yes.
The source code is available on GitHub under the project's license, allowing others to explore, learn from, and contribute to the codebase.
The entire project is written in C++ using standard language features and object-oriented programming principles.
No external game engine is required.
The current version allows players to:
- Create a character
- Manage statistics
- Collect loot
- Open treasure chests
- Equip weapons
- Equip armor
- Use potions
- Manage inventory
- Navigate through game menus
Partially.
Players create their own character while some gameplay elements—such as loot, equipment, and chest rewards—are generated randomly.
Yes.
Weapons increase attack power, while armor improves defense. Potions temporarily or permanently modify different character statistics.
Yes.
The inventory uses dynamic resizing, allowing it to expand automatically as more items are collected.
The project currently focuses on building the underlying RPG systems.
More advanced combat mechanics are planned for future versions.
Enemy systems are planned but are not yet fully implemented.
Future versions will introduce:
- Enemy AI
- Turn-based combat
- Boss battles
- Difficulty progression
Not yet.
Quest systems are included in the project roadmap and will be implemented in future updates.
A compiler supporting C++17 or newer is recommended.
No.
Adventure-Game primarily relies on the C++ Standard Library (STL), making it easy to build without additional dependencies.
Yes.
Adventure-Game heavily utilizes:
- Classes
- Inheritance
- Encapsulation
- Polymorphism
- Abstraction
These concepts form the foundation of the project's architecture.
The abstract Item class provides a common interface for all collectible objects.
Current derived classes include:
- Weapon
- Armory
- Potion
This enables the inventory to store different item types using polymorphism.
Yes.
The inventory demonstrates manual dynamic memory allocation and resizing, making it a valuable educational example of C++ memory management.
Future versions may migrate to smart pointers and modern STL containers.
Yes.
Any platform with a compatible C++ compiler should be able to compile the project.
Yes.
Adventure-Game is actively maintained, and new gameplay systems and improvements are added over time.
The recommended reading order is:
- Character
- Item
- Weapon
- Armory
- Potion
- Inventory
- Chest
- Main Menu
- Main Game Loop
This progression makes it easier to understand how different systems interact.
The project is divided into modular gameplay systems, each responsible for a specific aspect of the game.
Examples include:
- Character System
- Inventory System
- Equipment System
- Weapon System
- Armor System
- Potion System
- Chest System
Separating responsibilities improves:
- Readability
- Maintainability
- Scalability
- Reusability
This architecture follows object-oriented design principles.
Absolutely.
Contributions are welcome, including:
- Bug fixes
- Documentation improvements
- Code optimization
- New gameplay features
- Refactoring
- Testing
Please read the CONTRIBUTING.md guide before submitting changes.
Open a GitHub Issue and include:
- A clear description
- Steps to reproduce
- Expected behavior
- Actual behavior
- Compiler information (if applicable)
Yes.
Feature requests are welcome through GitHub Issues or Discussions.
Some planned additions include:
- Experience system
- Level progression
- Enemy AI
- Turn-based combat
- Quest system
- NPC interactions
- Shops
- Crafting
- Skill trees
- Magic system
- Equipment upgrades
- Achievements
- Save & Load improvements
- GUI version
The full roadmap is available on the Roadmap page.
There are currently no plans for a full multiplayer implementation.
However, experimenting with networking concepts may become a future learning objective.
Possibly.
A GUI version is part of the long-term roadmap, but the current focus remains on strengthening the game's architecture and gameplay systems.
Yes.
One of the primary goals of Adventure-Game is to demonstrate practical software engineering concepts through a real-world C++ project.
Students and beginner developers are encouraged to explore the codebase, study the architecture, and experiment with new features.
If your question isn't answered here:
- Check the Wiki pages.
- Read the README.md.
- Browse the source code.
- Open a GitHub Issue.
- Start a GitHub Discussion.
Community feedback and suggestions are always welcome.
The FAQ provides quick answers to the most common questions about Adventure-Game, including gameplay, architecture, development, and future plans. As the project grows, this page will continue to expand with additional information to help players and contributors better understand the project and its goals.