Hello,

I'm trying something new on ORK and I'm trying to do a simple demo of a narrative game to see what's possible with ORK on the "choose your own adventure" model. The idea would be modernized a bit so by example the player in town (town seen from above the character does not physically move) can click on icons or prefabs which will open the appropriate menus such as shops and a "go on an adventure" tab or something similar.

For this first part I have a clear idea of ​​how I am going to set it up, however once clicked on go on an adventure, the character will be confronted with a series of situations with multiple choices taking him to other situations and so on. .
The only 2 things that are not clear to me is that I am looking to have this event sequence via the dialogue nodes but at the same time I do not want a single gigantic schematics, moreover there will sometimes be fights in turn by turn depending on the choice and it will therefore be necessary that at the end of the fight a new situation occurs (depending on whether defeat or victory) and resumes the story where it was or then for example if there is Victory moves on to the next show dialog in the story.

For these last actions I have a doubt on the best way to achieve this so that it is optimized and "clean". If you could enlighten me a little on this I would be delighted.
  • Largely depends on the overall setup of the game or scenes.
    E.g. schematics can start other schematics via Start Machine nodes, or you can use Auto Machine components in your scenes to automatically start a schematic on defined conditions (e.g. a global game variable for the player's progress in the adventure).
    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!
  • Well its mostly show dialog that follow each other after the choice of the player.
    This part aside, the cities will be a fixed view of some prefab with an interaction machine .And thats all,pretty simple in a way.
    The start node should fit my need better than the automachine because that mean set hundreds of them otherwise^^
  • Auto Machine can be useful when loading back into the scene.
    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!
  • Like what ? An automachine that read the dialogue having a variable X that I defined after a battle for example?
  • Yes, something like that - e.g. some variable holding a value that defines the player's progress or story path. Loading back into the scene with an Auto Machine can start the schematic related to that based on conditions on the machine.

    E.g. keep in mind that save games don't save the state of a running schematic. If your game would just be a series of schematics that start one after another, you'd have no way to save that progress otherwise.
    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!
  • Yeah you are right almost forgot that part ,so lets say I have 100 pages and I make 1 schematic per page,at the ends of theses schematics I set a change variable node to keep track allowing amongs other thing to save the progress of the player ,is that right?
    So far with auto machine I can set only one schematic.
    For the start machine node I can manually select what schematic will be played but how the game ,once the player load his save know what schematic has to be played with the last variable?
    I can't picture this part.
  • I've worked with naninovel, is a lot better to use something like that because it get very complex trying to present text, animate characters, add effects
  • edited April 2023
    Well depend how deep you understand ORK and let's say that $135 for a tool that I will probably use only once and for the code I have to re-learn from scratch plus code for certain parts (it's presented like this on the presentation video) is a big no ^ ^
    Thank you for having proposed but given my knowledge of ORK I can do exactly what is proposed in this tool, I just ask GIL the best way to do it and some details on elements that I have not yet used ;)
    Post edited by omeegaa on
  • omeegaa said: how the game ,once the player load his save know what schematic has to be played with the last variable?
    Well, you need to play the schematic based on that variable.
    E.g. let's say you use a global Int variable to mark the progress (0, 1, 2, 3, etc.), if the player loads from a save game, that variable is loaded and after loading into the game scene, you start an Auto Machine.

    You now have 2 options - either set up an Auto Machine for each variable condition (0, 1, 2, etc.), each starting their own schematic.
    Or, you start one auto machine that does variable checks (e.g. Variable Fork node) and starts the individual schematics based on that check.

    That's also how you'd generally handle stuff like story progress in any kind of game, really :)
    Have something mark that progress and stuff in the scene depend on that.
    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!
  • Ok I see ^^ I will probably stick to 1 schematics and variable per chapter then ^^
    It seems more clean with one automachine that check the variable and then start a schematics that contain the dialogues with a start machine node ^^


    thank you for enlightening me ;)
  • @omeegaa Depending on your setup, you could also group things together into scenes for major choices, and lump your schematics together that way. Like say you have these choices:

    1. House burns down
    2. House is renovated
    3. House is abandoned

    You can store that choice into a variable and then just load up the relevant scene each time you need to branch off. Basically just use the scene as a big game object container rather than having to take account for each possible scenario in the following one, you can just make a scene (and then schematics) that are only relevant to storylines where the house was burned down, etc.

    After typing it all out, I suppose it's basically the same thing as GiL mentioned with regards to just calling new Auto Machines but, well, I typed it, so might as well throw it out there lol
  • Acissathar said: After typing it all out, I suppose it's basically the same thing as GiL mentioned with regards to just calling new Auto Machines but, well, I typed it, so might as well throw it out there lol
    Yeah, pretty much :)
    You can also use Game Object Manager components to show/hide game objects based on story progress like that. E.g. similar to the 3D RPG Playground series quest tutorials moving the quest NPC around.


    @omeegaa
    It might be easiest to have your general game setup use auto machines to start the different schematics. That way you don't have to do the setup twice - just reloading the scene can progress the game that way.
    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!
  • gamingislove said: keep in mind that save games don't save the state of a running schematic. If your game would just be a series of schematics that start one after another, you'd have no way to save that progress otherwise.
    On this subject, if you wanted to save a game "in the middle of dialogue" the best method I can think of is to use CSV files to keep track of your dialogue location. You will write all your dialogue in the CSV, load it in Ork and create a loop where you iterate through the CVS and display it in a Show Dialogue via a global variable.
Sign In or Register to comment.