Skip to content

SzeMrok/Poke-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Poke-Project

Welcome to Poke-Project, a simple yet engaging Pokémon game that takes you on a journey through a series of random events. Your mission, should you choose to accept it, is to catch all Pokémon from the first generation - all 151 of them!

Features

  • Seed-Based World Generation: At the start of your adventure, choose a seed or opt for a random one to generate the world. This seed determines the layout of the world, the events you'll encounter, and the Pokémon that appear, making each playthrough a unique experience.
  • Random Events: Experience unique events as you traverse the world of Pokémon, making each playthrough a new adventure.
  • First Generation Pokémon: Catch and interact with the beloved first generation of Pokémon.
  • Leveling and Evolution: Train your Pokémon, level them up, and watch them evolve into their more powerful forms.
  • Gym Battles: Engage in battles against Gym Leaders to prove your worth and increase the level cap for your Pokémon. There are 8 Gyms, each presenting a tougher challenge than the last, testing your strategy and the strength of your Pokémon team.
  • Item System: Utilize a variety of items to help you on your quest to become a Pokémon Master.

Getting Started

Prerequisites

  • CMake version 3.22 or higher
  • A C++23 compatible compiler

Building the Project

  1. Clone the repository to your local machine:
git clone https://github.com/SzeMrok/Poke-Project.git
  1. Navigate to the project directory:
cd poke-project
  1. Run CMake to build the project:
cmake -B build
  1. Build the project
cmake --build build
  1. The executable will be located under bin/ directory.

Navigating In-Game

To navigate through the game's menus, use the arrow keys on your keyboard. This allows you to move through options and make selections within the game.

Adding Your Own Language

Community language files are supported.

  1. Create a new file in assets/languages/ using a locale-like name (for example de_DE.json).
  2. Add your language to assets/languages/language_registry.json.
  3. Follow the schema and key conventions in assets/languages/LANGUAGE_GUIDE.md.

The game now loads en_US as a base and overlays your selected language, so missing keys in custom files automatically fall back to English.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Third-Party Assets and Licenses

We use various third-party assets that are licensed under their own terms. Copies of these licenses can be found in the licenses folder at the root of this project. Below is a list of these assets and a brief description of their licenses:

  • nlohmann/json: A modern JSON library for C++. Licensed under the MIT License. See licenses/LICENSE-nlohmann_json for more details.
  • PokeAPI: Data files used under the BSD-3-Clause License. See licenses/LICENSE-PokeAPI for more details.
  • cpp-inquirer: A library for creating interactive command line interfaces. Licensed under the MIT License. See licenses/LICENSE-cpp-inquirer for more details.
  • {fmt}: A modern formatting library for C++. Licensed under the MIT License. See licenses/LICENSE-fmt for more details.
  • battery-embed: A lightweight library for embedding assets directly into C++ binaries. Licensed under the Apache License 2.0. See licenses/LICENSE-battery-embed for more details.

We are grateful to the creators and maintainers of these projects.

About

Pokémon game based on random event series, where to win, you need to "Catch them all!"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors