Hi @gamingislove,

You probably won't get to this until you're back next year, which is totally fine but wanted to get these out there before I forget or distracted.

I don't have any bugs or issues at the moment with these, I'm just curious if you might see any issues or not from your experience or something I might need to account for.

1. Grid Generator off a different collider

- My terrain will not be perfectly flat, which is no issue for the actual character controller. However, this will cause the battle grid generation to not be even because of these small imperfections. To counter act this, my idea was that I would have a collider layer that is specific for the Battle Grid generation, and this is something I will manually place to ensure that the generated grid has a level grid. Do you know if this might cause issue or not?

The main thing I can foresee is the movement, if the grid tries to move the character to the base of the grid or not and since some of these tiles might be 'floating' that said character will as well. Additionally, not every battle will happen on a flat plane, there will be ramps and higher areas as well.

2. Manual battle grid adjustment

- Similarly, if I manually adjust tiles (move up/down or delete inaccessible ones) would this cause an issue? Since we stop tiles from being generated using layers, I wasn't sure if the generation stores it in a data structure somewhere that manual deletion would not remove it from. My plan is to procedurally generate the grids, but thought I would check just in case I opt to do all manual.

3. Grid tile prefabs

- Are there any requirements for grid tile prefabs? This one I am more curious about because I was thinking of providing sprite animations (but still let the highlights change colors), but wasn't sure if tiles expect certain components beyond the grid tile one or not.

Enjoy the holidays :)
  • Hi, Acissathar. Check out my solution in this thread.
  • 1) No, that'll not be an issue - that's all just for placement of the cells, etc.
    You can also generate a grid without having any ground. Or if you geneate on uneven ground, just adjust the cell objects (child objects of the grid) to your liking like any other game object.

    Grid movement is still just moving game objects, e.g. if it moves via character controller and applies gravity, it should stick to the ground.

    2) No, as said in #1, the generated grid can be adjusted to your needs. You can even just move a cell way up somewhere, or completely off grid. You can also adjust the connections between grids, e.g. having a cell from upper left to connect to lower right for a teleport cell.

    3) No, they're just visual elements, the prefab itself has no impact on grid operations. Grid stuff like move range, use range, distances, etc. are all based on the grid coordinates and the cell connections, so the physical placement or prefab doesn't impact it.
    Naturally, it can impact physical movement, etc., e.g. if the cell has a blocking collider that prevents a combatant from moving on it.
    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!
  • Thanks both of you :)

    @Scyra Glad to see someone’s actually done it haha, exactly what I was thinking of too, I’ll check that out.

    @gamingislove Appreciate it, sounds like everything will work as desired. Enjoy your break too!
  • @gamingislove What would be the most appropriate way of handling a Fire Emblem-esque experience and loot system? The way it works is you get some experience for doing an attack, and then a large chunk after defeating an enemy, but it's specific to the attacking character.

    The chunk of experience after defeating the enemy is pretty straight forward with immediate battle gains and setting For Killer under the experience reward.

    For the intermediate experience where the target doesn't die, I wanted to double check if I'm missing anything before moving forward with it, in the attack schematic, after calculating action and determining it hits and the amount of damage, use an Add Experience Reward node followed up by a Collect Battle Gains node.

    I'm guessing there would need to be a check if the enemy is dead yet so we don't double dip and/or to not display a gains window twice. After the calculate action node, are we able to do a Check Value node to branch off for Collect Battle Gains, or does the actual status change happen later?

    Similarly, are we able to determine at this point (assuming enemy died) what the loot table is? I'd like each combatant to be limited in their inventory space, but then have a hidden combatant with a very large inventory space to use as a stash box should they attempt to loot something and not have the space for it.

    Say the combatant has 1 slot and the enemy drops a potion and a sword. Ideally something like the normal collection gains window with the potion, and then I can throw up a dialogue box saying "1 sword was sent to stash".

    I'm guessing something with the Select Loot and Add Loot but I'm not really well versed enough with Select data style nodes to know how to manipulate that to check that against inventory space and get the difference and use that to pull out of the loot table.
  • The actual change happens when Calculate Action is used, though that can depend on your status value's setup, i.e. using a count to value setup that counts the real value instead of only a display value would naturally not cause immediate death (or HP being 0).

    Beside using Add Exerience Reward and Collect Battle Gains (which btw. collects all currently collected gains), you can also use a Change Status Value node to change exp, or even use the status changes of your abilities/items to do that.

    If you want to collect the exp/loot from a combatant without waiting for their actual death and loot collection, you can use the Get Combatant Gains node. A combatant's gains can only be collected once, so the actual death will not collect them again.

    Loot can be stored in an item box, both in the Collect Battle Gains node (also displays it) and the Get Combatant Gains node.
    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!
  • Beside using Add Exerience Reward and Collect Battle Gains (which btw. collects all currently collected gains), you can also use a Change Status Value node to change exp, or even use the status changes of your abilities/items to do that.

    If you want to collect the exp/loot from a combatant without waiting for their actual death and loot collection, you can use the Get Combatant Gains node. A combatant's gains can only be collected once, so the actual death will not collect them again.
    So if I wanted each attack (that doesn't kill) to give minor experience, and the final kill to give a larger amount of experience, I wouldn't want to use the Get Combatant Gains, and use one of the first two then if I'm understanding right.

    Collecting "all" gains should be fine for me since each attack and death I want to give experience and display the gains / levelup screens and immediately looting any items upon death.

    Does the change status value for experience node also display the level up screen when the experience is enough to push you over even if it's in the middle of battle?

    From what I'm understanding it seems like all of this should be no problem, thank you for the clarification, I appreciate it!
  • Acissathar said: So if I wanted each attack (that doesn't kill) to give minor experience, and the final kill to give a larger amount of experience, I wouldn't want to use the Get Combatant Gains, and use one of the first two then if I'm understanding right.
    For the non-killing attacks, yes - if the killing attack should also give the combatant's loot/exp gains, you can use the Get Combatant Gains there.
    Acissathar said: Does the change status value for experience node also display the level up screen when the experience is enough to push you over even if it's in the middle of battle?
    The Standalone Level Up Dialogue settings in Battles > Battle End manage how this is handled :)
    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!
  • Perfect, thank you!
  • edited March 2023
    @gamingislove Edit: My original issue with Switch Player and groups can be avoided by using a single player at a time, and everything works perfectly. Given platforming with Move AI seems like a pain, that's the route I'll go with so nevermind on that.

    However, while you're here ;), I was wondering if you could help clarify some class / status development stuff. This is what I would like to happen:

    1. Each combatant has their own status development. This is something unique to them, so for example at level 1, 5, and 10, the Jimmy gains +15 health.

    2. Each class also has it's own status development, but it's only retained if the class remains equipped. For example, Warrior gains +10 health at levels 1, 5, and 10 while the Mage gains +5 magic at levels 1, 5, and 10.

    So what I would like is that if a level 1 Jimmy equips the Warrior class, then he will have +25 bonus health (+15 from his own development and +10 from the warrior development). However, if Jimmy is switched to a Mage, he loses the +10 health from the Warrior status development and instead gains the +5 magic status bonus and vice versa.

    Similarly, are we able to make certain Ability Developments permanent and others restricted to the class? If Jimmy reaches level 10 on a Warrior, I want Jimmy to have access to Smash regardless of which class he then changes into, but I don't want him to keep Shield Block unless he's still a warrior. Would that be the Use Conditions of the Learn Ability section or is that just what determines if it's learned?
    Post edited by Acissathar on
  • Acissathar said: However, while you're here ;)
    I'm always here :D

    1) Sure, just set up their individual status developments as usual.

    2) Using single-class, you can enable if status development is kept or removed on change.
    For class slots that's how it works :)
    Naturally, re-equipping a class will return those bonuses from the class status development.

    As for abilities, that's a bit tricky. The ability development of the class learns them on that class (single-class can again forget them on switch, class slots have them available while equipped).
    Research trees can define if the ability should be learned by class or combatant.
    One way around this would be to use level up schematics to handle those special abilities that should stay with the combatant. The schematic can check the class level and learn the ability when reaching e.g. level 10.
    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!
  • Awesome, thanks! The level up schematic tie in I think will work perfectly for this.
  • @gamingislove Thanks to your help I've got the combatant spawners working perfectly (it was the layer being raycasted onto, not sure how I completely missed that one) along with getting started on the status developments and trying out the new class slots feature.

    I have a few more questions before I dive into it over the rest of the week, mostly just a few design questions:

    1. Is it possible to show the Move Range highlights while hovering over the Move command in the Battle Menu, but without actually selecting Move yet? I know we can do this for Attacks, Abilities, and Items (and I do have that working).

    2. Are we able to combine highlights + commands to shortcut multiple actions? For example, in Fire Emblem you can use a move command to a specific spot, and then choose your attack command and pick a target. However, you can also use your move command, select and enemy, and you will then move to the cell infront of the target and then execute the attack command. Here is an example with a combatant that has a min range of 2:
    image

    3. Piggybacking off of number 2 if not directly possible, would it be possible to start a Player turn by effectively forcing them into a command, that they can then cancel out of to go back to the battle menu? Forcing them to Examine or Move command right away I think could replicate this effect.

    4. Last one, do counter attacks take into account range templates? Using Fire Emblem again where, if possible, every attack gets counter attacked, if I have a melee combatant with a range of 1 weapon equipped and they are attacked from 2 tiles away, will they still counter attack or will it be ignored because their weapon is out of range?

    Piggy backing off of this, would it be possible to switch weapons before counter attacking if they have a weapon in inventory that does meet that range?

    My initial thought is that this might be possible through one of the battle schematics, basically we'd just loop through the inventory and find any weapons, and check the range of said weapon against the attacking combatant. If they match, then we switch weapons. The only part I'm unsure of is where exactly to slot this schematic so that the weapon switch (assuming the above is true about counter attacks) is picked up in time for the counter attack.

    I appreciate the help, taking a stab at the grid stuff has been pretty fun. Eventually I'll have explored all of ORK through my many, many projects haha :)
  • 1) I don't think so.
    The move range calculation is also a pretty performance heavy thing, so that's only done when actually using it.

    2) No, currently not.
    You can use actions with larger use ranges and just move to the target in their battle animation, though.

    3) There's the Player Grid Auto Move setting in your used battle system's settings to automatically bring up grid move selection.
    No way to force other actions, though.

    4) Yes, they should stick to their use ranges - if the target that's countered is out of range it can't be attacked.

    I don't think switching weapons would be possible. Generally, that could be done in the schematics animating your action, but since the counter wouldn't use them due to not being able to be used (out of range), it'll not work.
    One way would be to have the counter attack not using any range and handling all of that within the counter attack's schematics.
    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 So far things have been going well and I think I'm making pretty good progress. The only issue I've run into, and I think it's just because I'm misunderstanding it, is how class equipment templates work with the combatant equipment templates.

    From my understanding, since I don't have replace class checked, they should be combining which in this situation would combine None from default + Class ones, to just give me Class templates. However, it seems like it's not reading my class template correctly.

    In general, I don't want my combatants to have any slots so at a general level it's set to none:

    image

    Then my class has a defined template:

    image

    I set my combatant to use this class at start:

    image

    However, now when trying to set the starting equipment I am told no class or combatant slots are setup:

    image

    If change the combatant to default or specifically define / set to all the combatant, I can set equipment, but none of my class restrictions come through.
  • I think the start equipment doesn't take classes into account in the editor.
    I'll check it out.
    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.