#algorithm #gamedev #skilltree #growth #concurrency-algorithms

capability-3p

A Rust library to construct and manage skill trees optimized for growth environments, supporting robust algorithmic structures and concurrent updates

1 unstable release

Uses new Rust 2024

0.1.0 Jul 13, 2025

#11 in #skilltree

Download history 81/week @ 2025-09-13 85/week @ 2025-09-20 88/week @ 2025-09-27 61/week @ 2025-10-04 60/week @ 2025-10-11 158/week @ 2025-10-18 89/week @ 2025-10-25 93/week @ 2025-11-01 81/week @ 2025-11-08 108/week @ 2025-11-15 74/week @ 2025-11-22 79/week @ 2025-11-29 81/week @ 2025-12-06 65/week @ 2025-12-13 105/week @ 2025-12-20 62/week @ 2025-12-27

332 downloads per month
Used in 36 crates

GPL-3.0-only

47KB
107 lines

Grower Skill Tree 3p

Grower Skill Tree 3p is a Rust library designed to facilitate the creation and manipulation of skill trees catered to interactive growth environments, such as games or educational platforms. This crate is optimized for algorithmic robustness and concurrency, providing an efficient framework to simulate and manage complex skill progression and unlockables.

Features

  • Hierarchical Skill Structures: Build complex, interlinked skill trees with dynamic dependencies.
  • Concurrent Update Management: Leverage Rust's concurrency model for efficient, parallel skill state advancements.
  • Customizable Growth Paths: Define unique growth algorithms and rules to suit your application needs, supporting diverse skill development scenarios.
  • Integration: Works seamlessly with game engines and interactive platforms to extend functionality with minimal overhead.

Usage

Add the following to your Cargo.toml:

[dependencies]
capability-3p = "0.1.0"

Example

use capability_3p::{SkillTree, SkillNode};

fn main() {
    let mut skill_tree = SkillTree::new();
    skill_tree.add_node(SkillNode::new("Fundamentals", vec!["Intro to Growing"]));
    skill_tree.add_node(SkillNode::new("Advanced Techniques", vec!["SP Growth Optimization"]));

    skill_tree.advance("Fundamentals");
    println!("Progress: {}", skill_tree.get_progress("Advanced Techniques"));
}

Contributing

We welcome open-source contributions. Please check our contribution guidelines for more details on how you can help.


This README.md file was generated by an AI model and may not be 100% accurate, however it should be pretty good.

Dependencies

~48–90MB
~1.5M SLoC