Quark is a game development framework which utilizes high level modularity for building mainly role playing games using the base components it provides.
For example, a Spell
that deals 100 damage to nearest player is defined like this:
public class BoomSpell : Spell
{
public override TargetMacro TargetMacro {
get {
return new NearestCharacter();
}
}
protected override Effect[] TargetingDoneEffects {
get {
return new Effect[] {
new DamageEffect (100)
};
}
}
}
Currently, the following list is implemented and running in Quark:
- Quark Controlled Objects (
Characters
andTargetables
) - Object Manipulation (
Effects
) - Targeting (
TargetMacros
) - Time or Event Driven Activities (
Buffs
) - Projectiles (
MissileControllers
) - Casted Activities (
Spells
) - Casting (
Cast
)
Also there are more features on the way.
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.Head
prefab to your hierarchy and your scene is ready to use Quark.
If you included the dll, you should create a Quark.Head
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.