Home

Awesome

<h1> <img src="./src/icon.png" width="54" height="54" align="left" /> RPGCore </h1>

Build and test

RPGCore is a toolkit for producing games and mechanics in C#.

<p align="center"> <img src="./img/screenshots/Main.png" alt="RPGCore Main Demo"/> <sup><i>The Unity demo project.</i></sup> </p>

📦 Libraries

<sub>RPGCore.Data.Polymorphic Status: Viable</sub>
<sup>Polymorphic data serialization.</sup>

<sub>RPGCore.DataEditor Status: Viable</sub>
<sup>Data file editing API.</sup>

<sub>RPGCore.Events Status: Work-in-progress</sub>
<sup>Value wrappers and collections with events.</sup>

<sub>RPGCore.Packages Status: Work-in-progress</sub>
<sup>Loading pre-packaged content.</sup>

<sub>RPGCore.Projects Status: Work-in-progress</sub>
<sup>Authoring pre-packaged content and build pipelines.</sup>

<sub>RPGCore.FileTree Status: Work-in-progress</sub>
<sup>File system abstraction with file change events.</sup>

<sub>RPGCore.World Status: Work-in-progress</sub>
<sup>Modular Entity-Component-System for games.</sup>

<sub>RPGCore.Behaviour Status: Mockup</sub>
<sup>Data-driven mechanics.</sup>

<sub>RPGCore.Inventories Status: Mockup</sub>
<sup>Inventories that contain, store, and move items.</sup>

<sub>RPGCore.Items Status: Mockup</sub>
<sup>Modular implementation of RPG items.</sup>

<sub>RPGCore.Traits Status: Mockup</sub>
<sup>RPG character stats and item stats.</sup>

🔍 Overview

Unity Version: 2019.3.0f6

At it's core, this project features a behaviour system that's used to create modular items and buffs. The behaviour system is setup using a visual scripting tool, shown below.

<p align="center"> <img src="./img/screenshots/FireCapeGraph.png" alt="Fire Cape Graph"/> <sup><i>The graph editor for the 'Fire Cape' item.</i></sup> </p>

RPGCore is built around a modular behaviour system. One of the core uses for this system is modular items.

Below is an item called the 'Fire Cape'. It applies the Immolate buff to it's owner, which deals damage to nearby enemies.

This graph in the game is interpreted by the tooltip system, which renders the 'Fire Cape' tooltip as shown below.

<p align="center"> <img src="./img/screenshots/FireCapeTooltip.png" alt="Fire Cape Tooltip"/> <sup><i>The tooltip for the 'Fire Cape' item.</i></sup> </p>

License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Creative Commons License