Hello everyone, welcome to the mega Metroidvania form. The team I am with are currently working on a Metrodivnia game like Castlevania Aria of Sorrow using the ORKFramework. We had a lot of questions and things to think about while working on the project and we thought we would create a super form for our questions and ideas just in case others would like to see it.

First a set of questions a lot of people probably wonder about and remember this is a real time 2d platform controller system. Some we are adding in some of what we are doing for answers.

1. We made our own movement system for our character and would like to know the best way to combine it with the ORKframework? This includes disabling the game controls during certain events, use status effects to stop the movement of the character or to lower their speed, animation through ORKframework being sent to our custom animator, among other stuff.

2. What is the best ways to make battles in a real time 2D world?

We are wanting to not have to use a menu to cast spells, but have hotkeys set up for spells and we can use a menu outside of battle to set up which spell we are using. maybe make a hotkey bar for this that can also include items. Do note there is a hotkey bar tutorial, but we need it to work with the hot keys of a character controller that was custom made.

Have enemies see our character, attack, move, cast spells, and other actions using the in range commands. We had a little confusing about this so we thought we would ask here. This includes having the spells target the player and the player able to target the enemies with their spells.

Have different actions for weapons currently being used. Bows, spears, swords, and so forth.

3. How to incorporate a skill system. You find an item that grants skills or spells. Example double jump, flying, dashing and so forth.

We will add more as we go.
  • 1) Check out the custom player/camera control how-to.
    ORK handles enabling/disabling controls by simply enabling/disabling the components know to ORK.

    2) There's no best way, as most games are different and have different mechanics :)
    As you probably already know, ORK includes a hotkey (control maps) and hotbar (shortcut slots) system - if you want to use your own, you'll need to implement using ORK's action there. I'd need to know more details on your system to help you there ...

    Enemies should handle their attacks via their battle AI setup, movement via the move AI, but you'll need a custom movement component for handling 2D side-view movement.

    3) Depends on how these skills are implemented. If they're ORK abilities, I'd use an event to learn those abilities upon picking up the item. If they're part of your controls, you'd need to check if they where collected, you could e.g. set a variable or just check the inventory for having that item.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • For the 2D AI movement is there anyway to just lock the rotation all axis and force him to not move on the z axis via a script so I could use the move ai move.

    Where in the API should I look for this and is there a way to see the code behind the AI move so I could make my own version of it.
  • You could write a component that just sets the rotation to the value you need (probably 0,0,0) in a LateUpdate function, but I'm not sure if that'd interfere with anything else.

    The move AI itself is just finding target positions, the movement is made by whatever movement component you're using. If you want to base a custom one on the included simple one, you can find that in ORK's source code in Behaviours/Combatants/SimpleMove.cs. An alternative could be using PolyNav 2D, there's a plugin for that available.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Sign In or Register to comment.