[Improvement] Enemies as Actors

Discussion in 'Editor Suggestions and Improvement' started by RetroBoy, Apr 14, 2017.

?

Do you want this?

  1. Yes

    34 vote(s)
    77.3%
  2. No

    3 vote(s)
    6.8%
  3. Yes, but not important.

    7 vote(s)
    15.9%
  1. RetroBoy

    RetroBoy Veteran Veteran

    Messages:
    378
    Likes Received:
    259
    First Language:
    English
    Description of the Feature:
    The ability to check a box and change the enemy tab to be like an actor. Primarily the ability to equip Enemy's with Weapons, Armor and Equipment. As well as provide them with Equipment Slots, levels (as per Class) and scaling attributes if you so desire.

    Also a drop down "Advance" menu with the following options.
    Never (Default): Does not gain experience.
    Rival: Gains experience whenever the party gains experience.
    Senpai: Gains twice the experience the party gains.
    Nemesis: Gains five times the experience the party gains.

    Code for Implementation:
    I'm not a programmer.

    Mockups:
    No visuals.

    Why is this feature good?
    Much more enemy depth, the "option" for enemies that grow stronger alongside the heroes and it just seemed like a neat idea to me.


    Possible issues with this feature?
    *Shrugs*
     
    #1
  2. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    9,759
    Likes Received:
    8,739
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    From the programming side: All they'd have to do to make this work is give enemies the same stats as actors, and assign them a class. You'd have to have an option to assign them a no class for those who just want to enter raw stats for an enemy as well. Though, combined with your idea to tie the stats to the actor instead of class, it might work well.
     
    #2
    RetroBoy likes this.
  3. BubbleMatrix82

    BubbleMatrix82 Norm Rejecting Black Sheep Veteran

    Messages:
    163
    Likes Received:
    68
    Location:
    Midwest United States
    First Language:
    English
    Primarily Uses:
    RMMV
    This idea sounds neat. So basically, make the enemies as tough as the heroes?
     
    #3
  4. RetroBoy

    RetroBoy Veteran Veteran

    Messages:
    378
    Likes Received:
    259
    First Language:
    English
    No, not necessarily but they COULD be. You COULD give them gear or the ability to increase in power as you advance. So instead of needing 4 Angry John battlers. You can have one, but set as Nemesis status so he gains x4 the experience, so each time you set the Angry John battler to appear he is a boss that will rival the party REGARDLESS of their level. Meaning he would always present a challenge.

    Meanwhile, the ordinary slime has nothing in any equipment slots and doesnt gain EXP at all, so its always just a crappy base-stat slime.
     
    #4
    JLowther and BubbleMatrix82 like this.
  5. BubbleMatrix82

    BubbleMatrix82 Norm Rejecting Black Sheep Veteran

    Messages:
    163
    Likes Received:
    68
    Location:
    Midwest United States
    First Language:
    English
    Primarily Uses:
    RMMV
    So you want enemies that use the same pool of resources as heroes but have them scale on their own without having to make new enemies for newer versions of them that have higher levels.

    I could stand behind this. Enemies could definitely use more customization. Right now the GUI is limited to just a few conditions. That and the AI is really, really dumb.
     
    #5
    RetroBoy likes this.
  6. Pine Towers

    Pine Towers Knight Hospitaller Veteran

    Messages:
    466
    Likes Received:
    217
    Location:
    Brasil, Rio de Janeiro
    First Language:
    Portuguese
    Primarily Uses:
    RMMV
    @bgillisp idea is good. Making monsters also draw from classes, but have a (default) "class" (id -1 or whatever) that calls the base monster class as it is now but, if the creator wants, change it for any other class also available to actors.
     
    #6
    RetroBoy likes this.
  7. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    9,759
    Likes Received:
    8,739
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    More thoughts, based on what I ran into making my game (and now that I got a free hour or so).

    First, I would love it if we had Actors and Enemies have the same set-up. There were instances I wanted to make an enemy with the same stats as a Level 30 Fighter with certain equipment, and right now the only way to do that is to look up all the individual stats for the classes and equipment you want to give, and add them up. Plus, if you change any of those stats, you have to redo this for every...single...such...enemy. This idea would allow us to just say make the enemy have the Fighter class, give it this equipment, give it this level, and then if we change our stat curves or equipment, it auto-adjusts (like it already does for actors).

    From a scripting standpoint, it would also make script (and plug-in) writing SO much easier. I wrote a barrier shield plug-in for ACE, and having to deal with the stats the players have that the enemies don't when writing that script was frustrating! As it is, it forced me to add many if checks to the code, and honestly bloated the code more than if all enemies had just had those stats to begin with.

    So, I honestly see no reason to not consider this. It would make game making so much easier, and it would make plug-in writing so much easier. And, to add to the pluses, if someone wanted to make a Shin Megami type game, you can have the enemy you defeated join you, same stats they had when you fought them!
     
    #7
  8. Sarlecc

    Sarlecc Veteran Veteran

    Messages:
    454
    Likes Received:
    209
    First Language:
    English
    Primarily Uses:
    RMMV
    Instead of assigning a class to enemies or have an enemy difficulty button for exp growth, why not have formula boxes for each of their stats, exp growth and exp needed to level? In fact might be able to attach something like this to the trait box as extra options. Reasoning is then you can directly define how their stats grow vs through default formulas. With equipment what if you used stats from armor/weapons that they can drop using the drop rate formula as a rate of them having them equipped (if you tick a box that says something like "use equipment?")? Could also do the equipment in the traits too; where you select say a weapon/armor and have your own rate of it being equipped.

    Edit: Granted this would be a little bit different then having them inherit from classes. Though it might be easier to program it this way. And you could still use the same formulas you used for your classes if that's how you would want them to gain stats.
    Edit2: after looking at the code it would probably be about the same work programming wise.
     
    Last edited: Apr 18, 2017
    #8
  9. gstv87

    gstv87 Veteran Veteran

    Messages:
    1,029
    Likes Received:
    331
    First Language:
    Spanish
    Primarily Uses:
    RMVXA
    why.

    what would that change within the game itself?
    would the player be able to change and manipulate the objects possessed by the enemy?
    if so, then he's not an enemy.
    and if he's not an enemy, he's an actor.

    pure simple logic.

    also, hundreds of lines of code not included, that would make the object more complex.

    Actors have equipment and skills because the player has to have the ability to modify them.
    Enemies don't, because they're not meant to be modifiable by the player.
    let alone the game's editor....... it's runtime modification we're talking here.
    it shouldn't happen, so the editor doesn't allow it.
     
    #9
  10. BubbleMatrix82

    BubbleMatrix82 Norm Rejecting Black Sheep Veteran

    Messages:
    163
    Likes Received:
    68
    Location:
    Midwest United States
    First Language:
    English
    Primarily Uses:
    RMMV
    What if the goal was to have a sword that was 20% stronger towards Magic class monsters but 20% weaker towards Archer class monsters? How does your solution achieve that?

    Also, what if the goal was to have a hero temporarily be an enemy with the same armor/weapons/magic/etc and you had to defeat him to get him back on your team? Or what if it was a mirror match like FF4?

    I'm not sure your solution would really achieve the goal.
     
    #10
  11. Sarlecc

    Sarlecc Veteran Veteran

    Messages:
    454
    Likes Received:
    209
    First Language:
    English
    Primarily Uses:
    RMMV
    Either way equipment would have to work differently for enemies since the player doesn't equip them. So some of my solution might not work for certain cases, whereas other parts of it (such as equipping the monster with use of the trait box) would.

    Now you are wanting an enemy to not only inherit the classes of actors, but what a particular actor has equipped. Which if done with either of the above ways you would not be able to accomplish this without a plugin/fancy eventing.
     
    #11
  12. BubbleMatrix82

    BubbleMatrix82 Norm Rejecting Black Sheep Veteran

    Messages:
    163
    Likes Received:
    68
    Location:
    Midwest United States
    First Language:
    English
    Primarily Uses:
    RMMV
    Think a little outside the box buddy. I know you're thinking within the existing limitations as if nothing was ever going to change, but the whole point of having a Project Advisory Board is to get advice from the community on the direction of where to take a product. Yes, in the current state of RMMV or RMVXA, the only way to do anything suggested in this board is to plugin/fancy eventing. But this idea, as well as quite a few others, are talking about ticking up the RMMV engine to a 2.0 and making dramatic changes (which would no doubt be passed on to us as a cost, but it would be worth it).

    Bug fixing the editor shouldn't be the only feedback we are allowed to contribute in this subsection of the forums. Many of us don't care about how garbage the GUI is, such as long as the GUI enables us to do what we want to do with the engine. I see many people have the opposite point of view, they want a perfect GUI and they'd rather be elitists building their own "nice stuff" and keep it to themselves. Either way, this is a community idea to have the enemies work differently than they do so we can do things with the enemies we currently can't. Actually, this battle engine has been untouched since the RM95 days; it honestly could use a massive overhaul. I'd even argue that it could use a better AI. Maybe I'll suggest that as another thing... AI is a joke.
     
    #12
    RetroBoy likes this.
  13. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    9,759
    Likes Received:
    8,739
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    @BubbleMatrix82 : I'd personally love to see a better battle AI. Please make a thread for that and post what you are thinking for the AI conditions (be as specific as possible).

    @Sarlecc : What we're proposing is to make both actors and enemies have the same stats across the board. This way, if you want to capture an enemy, just add it to the party. Right now you can't do that, due to the missing stats that enemies don't have. Also, it would make scripting/plug-in writing so much easier as I had to add many extra lines just to account for the missing variables. If those variables existed, my code would have been cleaner and easier to write and follow. Personally, I'd rather they add the extra lines of code once to the engine than make every plug-in have to add many extra lines of code to check if it is an actor or enemy using it so they can access the right variable. Would minimize errors too across the board.
     
    #13
    RetroBoy likes this.
  14. Sarlecc

    Sarlecc Veteran Veteran

    Messages:
    454
    Likes Received:
    209
    First Language:
    English
    Primarily Uses:
    RMMV
    The more you want enemies to be like actors and actors like enemies, the more code you will have to cross over until you end up with either two of the same class, one class that does the job of both or a parent class that both inherit from. (Note that when I say class here I am referring to the code not the actor classes).

    Now the reason why I said you would need a plugin/fancy eventing is classes (talking about actor classes now) do not hold any information about what an actor is doing. They do not know if an actor has XYZ equipped they only tell the actor that they can. They also don't know at what level an actor is currently at.

    As far as the battle engine is concerned MV has updated it with native side view support. Which I believe wasn't native in RM95 (I wasn't using this program back then so I don't know)? I do know it wasn't a feature in either VX or VX Ace.

    And like @bgillisp I would like to see some options for allowing developers to change AI behavior (maybe on an enemy by enemy basis?). So I agree make a thread on this one.

    Edit: @bgillisp maybe I am confused but besides levels and exp what stats are the enemies missing? Unless you are talking about them inheriting from classes and being the same as actors in that respect.

    Edit2: Also if you want to add enemies to the party either you would need to have an actor for each enemy you can add or rewrite the Game_Party file to allow for enemies in the party.
     
    Last edited: Apr 18, 2017
    #14
  15. BubbleMatrix82

    BubbleMatrix82 Norm Rejecting Black Sheep Veteran

    Messages:
    163
    Likes Received:
    68
    Location:
    Midwest United States
    First Language:
    English
    Primarily Uses:
    RMMV
    The enemies are missing soul. You can't even fake soul. They are soulless obstacles that you beat up. They are brainless, have no strategic value other than "use your biggest sword or your strongest spell until they die". They are, put in the most simplest way, a waste of time and "filler" to add time to the game.

    By giving the enemies "actor class" you are giving the enemies an identity. That skeleton? He's a knight. He has a Gold Sword. And he carries the undead ring, which if I steal off his body, makes him no longer a skeleton but a normal warrior. See, soul.

    The AI and the battle engine needs updating. I have something in moderation that will address this (my idea is in the comments on the top).
     
    #15
  16. Sarlecc

    Sarlecc Veteran Veteran

    Messages:
    454
    Likes Received:
    209
    First Language:
    English
    Primarily Uses:
    RMMV
    This can be done entirely by a simple event on the map that processes a battle.
     
    #16
  17. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    9,759
    Likes Received:
    8,739
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    @Sarlecc : Levels, exp, class, and equipment come immediately to mind. When I wrote my script in ACE I had to add checks for if it was an actor or not because of enemies lacking equipment (without the check, it would throw the infamous nil:nilclass error when it parsed for checking equipment when an enemy had used the skill).

    There might be others, but I'd have to go code digging to find them. But I do recall seeing some others, mainly related to how parameters are handled.
     
    #17
    BubbleMatrix82 likes this.
  18. BubbleMatrix82

    BubbleMatrix82 Norm Rejecting Black Sheep Veteran

    Messages:
    163
    Likes Received:
    68
    Location:
    Midwest United States
    First Language:
    English
    Primarily Uses:
    RMMV
    So you're saying make a custom battle system. I mean, that's fine and dandy, but you're having really bad theory of mind for the casual players who don't want to deal with that.

    I understand that coders/programmers/engineers are all about creating their own opportunities, but not everyone wants to be a coder/programmer/engineer. Most of the RM users that I know of are storywriters, level designers, and pixel artists; we need an editor/engine that brings THEM to equal ground with the elitists.

    So back to the change, I think having the native battle system CHANGED is a good thing, just as long as it doesn't break existing people's games. Like turn on an "advanced" battle mode that has the above suggestion as well as a better AI.
     
    #18
    RetroBoy likes this.
  19. Sarlecc

    Sarlecc Veteran Veteran

    Messages:
    454
    Likes Received:
    209
    First Language:
    English
    Primarily Uses:
    RMMV
    @BubbleMatrix82 Nope when making an event you can force a battle to happen then when you win/lose you can have other things happen. All of this can be done with out any programming just events.

    @bgillisp I believe my method that I mentioned could be used to take care of all of those issues. Now like I said in my edit I believe both methods to be about the same level of work programming wise. My method might not even be the best choice. Or the best choice might be a combination both methods. Also could you perhaps PM me about that script I am rather curious about what it does but don't want to derail the thread with my queries?
     
    #19
  20. BubbleMatrix82

    BubbleMatrix82 Norm Rejecting Black Sheep Veteran

    Messages:
    163
    Likes Received:
    68
    Location:
    Midwest United States
    First Language:
    English
    Primarily Uses:
    RMMV
    Oh, you're responding to a part of my statement, not all of it. Yes, I know some scripting can be done that way, but battles should have more flexibility too.
     
    #20

Share This Page