Introduction

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
  • Android
  • iOs

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.

Features #

Before getting into the details in the following documents, let’s get a quick overview over some of ORK Framework’s core features.

ORK Framework also builds upon many of Makinom 2’s features, e.g. schematics, machines, input keys and many other.

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:

  • Normal
    Regular status values for things like MaxHP, strength or any other straightforward numerical value.
  • Consumable
    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.
  • Experience
    For anything experience related, from regular exp to level up to points you can spend on gaining new abilities or increasing your stats.

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 multipliers), 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.

Attack/Defence Multipliers #

Attack and defence multipliers 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 multiplier) and a combatant being of race insect (defence multiplier).

Attack multipliers give an attribute to an attack, but use the target’s multiplier to change the outcome.

Defence multipliers give an attribute to a combatant, but use the user’s (attacker’s) multiplier to change the outcome.

Abilities #

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.

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.
  • Phase
    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.

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 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).

Inventory #

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.

Items #

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.

Equipment #

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.

Crafting #

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.

Quests #

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).

UI #

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.