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

https://github.com/palaceswitcher/alchemyplusplus

A data-driven Alchemy game using SDL3
https://github.com/palaceswitcher/alchemyplusplus

cpp cpp23 game imgui sdl3 sdl3-image sdl3-ttf

Last synced: about 1 year ago
JSON representation

A data-driven Alchemy game using SDL3

Awesome Lists containing this project

README

          

# AlchemyPlusPlus
AlchemyPlusPlus is an SDL3 Alchemy clone written in C++. It is heavily inspired by [Andrey "Zed" Zaikin's Alchemy](https://youtu.be/_cVWWY5Mlug) and is data-driven, meaning most content (like element combinations and names) can be added to the game without modifying the code. The majority of this game's data is stored in `.json` files, and can be easily modified with the scripts in the `script` folder.

# Building
The following build instructions should work on Linux and Windows provided the appropriate dependencies are installed. For Windows, the easiest way is via MSYS2, though Visual Studio should also be able to build this.

## Dependencies
- SDL3
- SDL3_image
- SDL3_ttf
- CMake

```
git clone --recursive https://github.com/palaceswitcher/AlchemyPlusPlus
cd AlchemyPlusPlus
mkdir build && cd build
cmake ..
make
```

# Game Directory Structure
This is the current directory structure. Each folder in game data represents a distinct "game", with its own assets and combinations. This feature has yet to be implemented, so only the default game assets are currently used.

```
gamedata/
├─ default/
│ ├─ font/
│ ├─ lang/
│ ├─ textures/
│ │ ├─ backgrounds/
│ │ ├─ buttons/
│ │ ├─ elems/
│ ├─ combos.json
│ ├─ icon.png
│ ├─ meta.json
```