Skip to content
Vladyslav Vytrykush edited this page Jul 14, 2026 · 1 revision

Frequently Asked Questions (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.


Table of Contents


General Questions

What is Adventure-Game?

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.


Why was this project created?

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.


Is this a complete game?

Not yet.

Adventure-Game is an actively evolving project. While many core systems are already implemented, additional gameplay mechanics and improvements are planned.


Is the project open source?

Yes.

The source code is available on GitHub under the project's license, allowing others to explore, learn from, and contribute to the codebase.


Which programming language is used?

The entire project is written in C++ using standard language features and object-oriented programming principles.

No external game engine is required.


Gameplay

What can the player currently do?

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

Are characters randomly generated?

Partially.

Players create their own character while some gameplay elements—such as loot, equipment, and chest rewards—are generated randomly.


Can equipment improve my character?

Yes.

Weapons increase attack power, while armor improves defense. Potions temporarily or permanently modify different character statistics.


Can I collect unlimited items?

Yes.

The inventory uses dynamic resizing, allowing it to expand automatically as more items are collected.


Does the game include combat?

The project currently focuses on building the underlying RPG systems.

More advanced combat mechanics are planned for future versions.


Are there enemies?

Enemy systems are planned but are not yet fully implemented.

Future versions will introduce:

  • Enemy AI
  • Turn-based combat
  • Boss battles
  • Difficulty progression

Are quests available?

Not yet.

Quest systems are included in the project roadmap and will be implemented in future updates.


Technical Questions

Which C++ standard is recommended?

A compiler supporting C++17 or newer is recommended.


Does the project use external libraries?

No.

Adventure-Game primarily relies on the C++ Standard Library (STL), making it easy to build without additional dependencies.


Does the project use Object-Oriented Programming?

Yes.

Adventure-Game heavily utilizes:

  • Classes
  • Inheritance
  • Encapsulation
  • Polymorphism
  • Abstraction

These concepts form the foundation of the project's architecture.


Why is there an abstract Item class?

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.


Does the project use dynamic memory?

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.


Can I build the project on Linux or macOS?

Yes.

Any platform with a compatible C++ compiler should be able to compile the project.


Development

Is the project still being developed?

Yes.

Adventure-Game is actively maintained, and new gameplay systems and improvements are added over time.


Where should I start if I want to understand the code?

The recommended reading order is:

  1. Character
  2. Item
  3. Weapon
  4. Armory
  5. Potion
  6. Inventory
  7. Chest
  8. Main Menu
  9. Main Game Loop

This progression makes it easier to understand how different systems interact.


How is the project organized?

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

Why are there many separate classes?

Separating responsibilities improves:

  • Readability
  • Maintainability
  • Scalability
  • Reusability

This architecture follows object-oriented design principles.


Contributing

Can I contribute?

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.


How can I report bugs?

Open a GitHub Issue and include:

  • A clear description
  • Steps to reproduce
  • Expected behavior
  • Actual behavior
  • Compiler information (if applicable)

Can I suggest new features?

Yes.

Feature requests are welcome through GitHub Issues or Discussions.


Future Plans

What features are planned?

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.


Will there be multiplayer?

There are currently no plans for a full multiplayer implementation.

However, experimenting with networking concepts may become a future learning objective.


Will the project get a graphical interface?

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.


Is this project intended for learning?

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.


Didn't Find Your Question?

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.


Summary

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.

Clone this wiki locally