~XP, Point, Level Management in a 2-script system with maximum modularity,
minimal overhead, and great extensibility.
~Leveling Curve Definitions gives you 3 easy-to-use templates that allow any game design to specify exact XP/Points requirements for level advancement.
~Level Scaling is a mechanism where a sense of challenge can be re-instilled among players as they grow in level, progress, gain in skill, etc. by scaling values, levels, or other traits of enemies, opponents, or other opposing factors.
~XP Booster Timing Effect boosts all incoming XP gains by your specified factor with 3 in-depth start/end timing options: Standard Timer (w/ FPS Sync), Integer XP Counter, and a flexible Custom Option.
~XP Object Grouping provides a custom inspector interface to an unlimited group of related entities together so that an XP Pool can be distributed among party members upon incoming gains.
~Custom Inspector Interface lets you easily manage settings in the 2 script system (LevelManager/XpManager component) in a well-organized, easy to use interface.
~Event System Integration lets you be notified of events on all 5+ features: XP gains, leveling up, level scaling, XP booster, and XP Groups changes on any registered game object in a simple C# event special delegates system.
Simple, Easy, & Fast:
2 script system where you can easily access the XP, points, leveling, sub systems (Level Scaling, XP Booster, etc.), and the event system to easily integrate your systems, animations, or effects.
Leveling Curve Definitions:
Leveling in a game is a major component that defines how a player experiences their progression over a certain time period. So, why not elevate the XP amount needed to rise to the next level so that it coincides with your initial game design? 3 easy to use templates have been provided to tackle design issues like keeping a sense of rewards coming at a constant pace, addressing “grinding”, utilizing game play mechanics progressively.
Keep the player challenged by scaling the challenges that he/she faces to his/her current experience level. For an RPG this could be scaling the opposing monsters level, attack/defense stats, or even give them more power gear like swords or armor. In a racing game an AI could have its strategy or pathfinding algorithm be enhanced to be more efficient to give them the edge over the player. In a puzzle game the challenges could have a timer on them or obstacles move faster and maneuver in unpredictable ways.
Reward the player with XP/Point boosts when they complete tasks, goals, or milestones in your game. Give them that adrenaline rush or sense of progression by showing an animation or effect when they kill monsters in quick succession, complete a puzzle in a specific pattern, or set a world record on that difficult race track.
Associate game objects together so that they earn XP together by a single unified interface. For example, many traditional Japanese RPG’s have a party system where the outcome of a battle will distribute points to each party member based on certain parameters like the total cut being split evenly or each cut being based on performance.
For Any Game…
Progression for Unity has been designed for any game genre: FPS, RPG, Strategy, Adventure, Puzzle, Racing, Simulation, etc. If your player gains some kind of “numbers” as a reward for doing “stuff”, then Progression is for you.
For Any Company…
Progression is for any studio size. Whether your last game made millions, you are a “ragtag” group of college grads working out of your dorm room, or a single guy/girl who is an evil genius working from your mom’s basement, you can count on Progression to work with you.
For Any Person...
Programmers will love the modularity, readability, and generally good coding practices. Designers will love the easy to understand concepts and flexible systems. Artists will love the visual integration with custom inspector initializations and great documentation.
Also, this public thread is for any support, suggestions, comments, feedback, etc. Please do not hesitate to give your input on this package. Thank you for your time!