An open API service indexing awesome lists of open source software.

https://github.com/imagment/silver-cplusplus

A simple and easy library for text-based game development
https://github.com/imagment/silver-cplusplus

cpp cpp17 game-development gamedev gamedev-library library programming silver text-based-game-engine text-based-games videogames

Last synced: 2 months ago
JSON representation

A simple and easy library for text-based game development

Awesome Lists containing this project

README

        

**Silver C++** is a simple and easy-to-use library designed for text-based game development. You can create an interactive story game, an escape room game, a simple console adventure, and anything!

When I was a solo game developer, I used to get frustrated with having to adjust every little design detail, like resizing a logo or fixing a missing pixel on my pixel art. Thatโ€™s when I started exploring text-based games.

I realized that text-based games are often underrated, but they can be incredibly rewarding with a good story and solid game mechanics. Thatโ€™s why I created this libraryโ€”to simplify the development process of text-based games.

Creating text-based games is incredibly rewarding, and this library not only enhances their value and productivity but also aims to make text-based games more enjoyed and accessible to many videogame enjoyers. Our goal is to let people enjoy text-based games just as much as they enjoy traditional games.


[![Discord](https://img.shields.io/badge/Discord-LoTGD-blue?logo=discord)](https://discord.gg/72TbP8G69k)
[![Release](https://img.shields.io/github/v/release/imagment/Silver-Cplusplus)](https://github.com/imagment/Silver-Cplusplus/releases)

## Installation

To install **Silver C++**, follow these steps:

1. Clone the repository:
```bash
git clone https://github.com/imagment/Silver-Cplusplus.git

2. Build with CMake
After cloning the repository, navigate to the project folder and use CMake to build the project:
```
cd Silver-Cplusplus
mkdir build
cd build
cmake ..
make
```
**Important: Compatibility Information**

<<<<<<< HEAD
Silver C++ is only compatible with **Linux-based** operating systems.

Windows is *not* supported currently. We are creating another version of Silver C++ that supports Windows.
=======
**Silver C++** is compatible with both **Linux-based** and **Windows-based** operating systems.
For **Windows** users, you can use the [Silver Windows Edition](https://github.com/imagment/Silver-Windows-Edition/tree/dev).
>>>>>>> dev

## Features
- โŒ **No external dependencies** - All required libraries are included into Silver C++
- ๐Ÿš€ **Simple & Lightweight** โ€“ Minimal setup required, so you can focus on game logic.
- ๐ŸŽจ **Rich Text Support** โ€“ Easily display formatted text, colors, and simple animations for immersive gameplay.
- ๐ŸŽฎ **Interactive Input Handling** โ€“ Seamlessly process user input for interactive storytelling and decision-making.
- ๐Ÿ›  **Easy-to-Use API** โ€“ Intuitive functions for game logic, and essential components like transform, camera and sprite rendering.
- โšก **Multithreading Support** โ€“ Boost performance by running tasks concurrently.
- ๐Ÿ”ข **Math Module** โ€“ Built-in utilities for Vectors and Rects
- ๐Ÿ“ **Code Style** โ€“ Written in C++17 using CamelCase and PascalCase notation for clarity and consistency.

## Examples
```
#include "Silver.hpp"

int main() {
Actor c1;
c1.AddComponent();

Actor actor("alert", "Hello World!");
actor.GetComponent()->position = Vector3Zero;
actor.GetComponent()->scale = Vector3(1,1,1);

actor.AddObject();
c1.GetComponent()->RenderFrame();

Hold();
return 0;
}
```