#Quark Framework
Quark is both a design pattern for developing in game interactions in a behavioral fashion for action based games and a framework built on top of Unity that incorporates the pattern.
An example action that deals 10 damage to the nearest object:
public class BoomSpell : Spell
{
public override TargetMacro TargetMacro {
get {
return new NearestCharacter(5);
}
}
protected override EffectCollection<ICastContext> TargetingDoneEffects {
get {
return new EffectCollection<ICastContext> {
new DamageEffect (10)
};
}
}
}
Currently, the following features of Quark are present in the framework:
- Quark Entities
- Scene Manipulation
- Targeting
- Time or Event Driven Activities
- Projectiles
- Actions
- Late evaluated Expressions
There is no actual installation, you can simply build the project and include Quark.dll
as an asset in your Quark game, or just run the to-be-provided Quark.unityasset
file.
For usage part, if you used the Unity Asset way, it is easy. Simply drag the Quark.Main
prefab to your hierarchy and your scene is ready to use Quark.
If you included the dll, you should create a Quark.Main
object. For details, please refer to this article
Source and issues of Quark are held in this GitHub repository.
If you need help, you can use the GitHub issues or send me an email
Quark is licensed under Apache V2 License.