A short introduction to ORK Framework 3’s features.
What is ORK Framework? #
ORK Framework is an RPG development tool for Unity. It’s powerful and flexible features allow you to create any kind of role playing game, regardless of it being 3D or 2D, using turn based, active time, real time or phase battles (battle grids are also supported). You don’t eveb need to write a single line of code!
ORK 3 is an extension for Makinom 2, i.e. it requires Makinom 2 to work. ORK 3 already comes with a compatible version of Makinom 2 included.
ORK Framework 3 is currently available as a beta version. Check out the ORK 3 BETA page for the latest version and new features.
Makinom 2 #
Makinom 2 is an editor extesion for the Unity. It’s a powerful and flexible general-purpose game development toolkit, allowing you to create game controls, game mechanics or interactions with your game world without writing a single line of code.
Learn more about Makinom and it’s features in it’s documentation.
Unity Compatibility #
ORK Framework and Makinom currently supports any Unity version since Unity 2019. It’s recommended to stick to Unity’s LTS (long-term support) versions, e.g. Unity 2019.4.
When a new Unity version is released, it might contain changes that break compatibility with the current ORK Framework or Makinom version. This’ll usually be fixed with a new version within a few weeks after Unity’s release. There’s no official support for Unity’s alpha or beta versions.
Some extensions to ORK Framework or Makinom (e.g. UI modules or plugins) might require certain packages to be installed in the project, e.g. using the Unity UI module requires using Unity UI and TextMesh Pro packages.
Supported Platforms #
ORK Framework officially supports the following build targets:
- PC Standalone
- Mac Standalone
Since ORK Framework’s and Makinom’s features are implemented using basic/cross-platform APIs, it’ll most likely also work on other platforms (e.g. Nintendo Switch and other consoles), but they’re untested.
Before getting into the details in the following documents, let’s get a quick overview over some of ORK Framework’s core features.
Status System #
ORK’s status system allows you to set up the rules of your RPG to your liking.
Status Values #
Status values are used for any kind of numerical value attached to a combatant – e.g. health/HP, mana/MP, strength, agility or experience. They’re generally separated into 3 categories:
Regular status values for things like MaxHP, strength or any other straightforward numerical value.
For your health, mana or any other kind of status that can be changed e.g. via attacks or using actions.
They use other Normal type status values to define their maximum value and can also be used as barriers for other Consumable type status values.
For anything experience related, from regular exp to level up to points you can spend on gaining new abilities or increasing your stats.
You can learn more about status values in this documentation.
Status Effects #
Status effects can be used for a wide range of game mechanics – from your standard effects like poison, regeneration or other status value changes, over blocking the use of certain actions to completely custom functionality.
Beside blocking actions, changing status values or other status related things (e.g. attack/defence modifiers), you can also use schematics when the effect is applied, removed, on a combatant’s turn or every X seconds. This allows status effects to be used for pretty much anything you can think of.
Status effects are also often a good choice to implement condition checks, e.g. add a hiding effect and use that effect being applied to prevent the enemy’s move AI from detecting the player.
You can learn more about status effects in this documentation.
Attack/Defence Modifiers #
Attack and defence modifiers are used to influence the outcome of status value changes by giving attributes to attacks and combatants, e.g. a fire spell having the element fire (attack modifier) and a combatant being of race insect (defence modifier).
Attack modifiers give an attribute to an attack, but use the target’s modifier to change the outcome.
Defence modifiers give an attribute to a combatant, but use the user’s (attacker’s) modifier to change the outcome.
You can learn more about attack/defence modifiers in this documentation.
Abilities can range from regular attacks or magic spells, single target, multi target or AoE, to passive abilities giving status bonuses or allowing use of new abilities, equipment and other things.
Abilities can be leveled up, i.e. you can define multiple levels per ability. Using abilities can be animated using schematics, additional features can also be added via schematics.
You can learn more about abilities in this documentation.
Battle Systems #
ORK Framework comes with 4 battle systems:
- Turn Based
Each combatant has their turn to perform actions in – enough time to decide what to do and plan their actions.
- Active Time
Each combatant has a timebar that is filled over time – actions can be performed once the timebar is full (or reached a defined value).
- Real Time
Actions can be performed at all times.
Each faction has their own phase to select and perform actions in.
All 4 battle systems can be combined with a battle grid, where combatants are placed and move on a grid, use ranges of actions can use grid shapes/masks to determine who’ll be hit, etc.
Battle systems are set up in Battles > Battle System – you can set up different variations of them and are not limited to using a single battle system in your game. The default battle system that’ll be used is defined in the General Settings of the battle systems sub-section. You can learn more about battle systems in this documentation.
In your scenes, you can use Battle components to place battles where you like. Battles can also start when coming near an enemy combatant (e.g. spawned via a Combatant Spawner component) – how battles can be started this way (e.g. distance between player and enemy) is set up in the General Settings in Combatants > Combatants. You can learn more about combatants in this documentation.
You can also use a Random Battle Area component to randomly start battles while the player moves. Real time battles can also use Real Time Battle Areas to have an ongoing battle while being within an area of the scene (or the whole scene).
ORK’s inventory system contains anything you need – from items over equipment to a complete crafting system. AI behaviours/rulesets can be used to create equippable AI to influence AI controlled combatants (both in the player’s group or on enemies).
You can also have multiple currencies in your game, and there’s a fully fledged shop system available.
You can learn more about the inventory systems in this documentation.
Items can range from your regular potions and other usable items over crafting materials to quest/key items you need to progress in the game.
Using items can be animated using schematics, additional features can also be added via schematics.
You can learn more about items in this documentation.
Equipment is equipped on equipment slots, each equipment can define where it’ll be equipped and if it occupies multiple slots or blocks some slots. E.g. a 1handed sword could be equipped in a left or right hand slot, while a 2handed sword is equipped on both at the same time. A bow can block equipping anything on the 2nd hand, etc.
Equipment can be leveled up, i.e. you can define multiple levels per equipment. There’s also additional features available, e.g. durability, equipment abilities and others – functionality can also be extended by using schematics.
You can learn more about equipment in this documentation.
Crafting recipes define the ingredients and outcome when crafting. Anything inventory-related can be used as ingredient or outcome, e.g. items, equipment or other crafting recipes. You can use schematics to bring additional features to crafting.
You can learn more about crafting in this documentation.
The Quest System allows creating complex quests with multiple tasks, rewards and automatic progress.
The quest’s progress is separated into different quest tasks – the progress can optionally be handled automatically (e.g. finishing a task after killing the required amount of enemies).
You can learn more about quests in this documentation.
Building upon Makinom’s modular UI system, ORK Framework adds a complete menu system and a wide range of HUDs.
Menu screens allow the player to manage everything from who to bring to battle, inventory, equipment, crafting and everything else you’d need in your RPG.
HUDs are used to display information, e.g. the status values and other status information of the player (or other combatants), the active quests or the battle’s turn order or timebar. HUDs can also be used within menu screens or as part of other UI content, e.g. a button showing an item in an inventory menu can use HUD content to show additonal information or give you more control over the look of the item.
Learn more about ORK’s use of the UI system here.