Undertale-Inspired Battle Mechanics

Discussion in 'Game Mechanics Design' started by Beedoe, Jan 1, 2016.

  1. Beedoe

    Beedoe Villager Member

    Messages:
    29
    Likes Received:
    4
    First Language:
    English
    Hi guys :D This is my first post here so sorry if it's in the wrong section.

    So I just finished Undertale and it...filled me with determination.

    I was wondering if anyone had any good ideas for recreating a dialogue/action-based combat system.

    Undertale's top-down shooter/attack timing features made the combat feel challenging despite the fact that you were either doing a basic attack or choosing the right dialogue option in every battle.

    Clearly, RPG Maker cannot replicate this, but what are some ways in which this program is capable of adding pressure/fun to a decision-making combat system?

    The only thing I could think of was to make enemies invincible until the right decision or order of decisions is made, after which the battle would end, and have the player either gradually lose health or auto-lose after x amount of turns. Needless to say, it's a pretty lackluster system right now.

    Another idea I had was to have a Paper-Mario like reflex system where if the player taps a button just as an attack hits, they can decrease/mitigate damage, though I'm not sure how possible this is to implement.

    Any advice or ideas are welcomed, including any that would involve (realistic) plug-ins or scripting.
     
    #1
  2. Kes

    Kes Global Moderators Global Mod

    Messages:
    20,613
    Likes Received:
    10,514
    First Language:
    English
    Primarily Uses:
    RMVXA
    I've moved this thread to Game Mechanics Design . Please be sure to post your threads in the correct forum next time. Thank you.
     
    #2
  3. Missile

    Missile Veteran Veteran

    Messages:
    105
    Likes Received:
    185
    Location:
    USA
    First Language:
    English
    One thing that would've been cool is if the context actions and opponent reads (for pacifism, at least) were consistent across all battles - not just unique to a few. It'd be interesting to handle it like a text-adventure style, being able to type in "flirt" as an action instead of having to browse through a list of possible actions. Then being able to affect a range of moods/personalities that exist between all characters in order to win (maybe having certain opponents have biases (resistances) towards certain moods!) so that all options, while not always, are technically relevant.

    Some of the quirkiness might need to be toned down for everything to be completely consistent and fit within that scheme though, but if someone's thinking about mechanics exclusively, it's an idea.
     
    Last edited by a moderator: Jan 1, 2016
    #3
    Beedoe likes this.
  4. Beedoe

    Beedoe Villager Member

    Messages:
    29
    Likes Received:
    4
    First Language:
    English
    My bad. Thank you for moving it :)

    This is actually an amazing idea, seriously :D

    Players would really have to pay attention to dialogue and character behavior to know what to do, and using certain incorrect options could result in some funny responses.

    How would you go about implementing this in RPG maker, though?

    Is it possible to edit the combat system to allow for text commands, or would this require a plug-in?

    The closest thing I can think of is to either have immediate access to a large amount of dialogue/actions or unlock them gradually, instead of skills/spells (which would be consistent throughout the game). Maybe getting access to more gradually would be useful for creating a difficulty curve now that I think about it.
     
    #4
  5. TheGamedawg

    TheGamedawg Veteran Veteran

    Messages:
    350
    Likes Received:
    132
    Location:
    United States
    First Language:
    English
    Oh, it could replicate this if you try hard enough.  You'd be surprised what you can do with Javascript.

    It would require a pretty advanced plugin though.
     
    Last edited by a moderator: Jan 2, 2016
    #5
  6. SLEEP

    SLEEP grunge rock cloud strife Veteran

    Messages:
    604
    Likes Received:
    210
    Location:
    radical highwAY
    First Language:
    emglish
    Primarily Uses:
    N/A
    Yeah, the dodging sections could be done with a plugin..

    but the conversation commands? the in battle eventing in MV is really basic as it is in all rpg makers, its very hard to do much with it at all, including eventing a conversation. it could be done? you might not need to make your own plugin though, just check the forum's im p sure theres some already around that extend the functionality of what you can do in battle???? i dont remember any examples of by heart though..
     
    #6
  7. Kes

    Kes Global Moderators Global Mod

    Messages:
    20,613
    Likes Received:
    10,514
    First Language:
    English
    Primarily Uses:
    RMVXA
    I'm not sure if this is exactly what you're looking for, but for a game which uses dialogue for battle, look for the completed game The Last Word. Also Indrah has a completed IGMC game which uses that mechanic. Not on my computer so I can't give you a link.
     
    #7
  8. Beedoe

    Beedoe Villager Member

    Messages:
    29
    Likes Received:
    4
    First Language:
    English
    Do you mean top-down shooter dodging sections or just being able to dodge damage? It feels like either would be quite difficult to program.

    Also, I was just planning on having enemies respond to attacks (in the form of dialogue/actions) with short responses. That shouldn't be too hard.

    Interesting. Probably not the direction I'm going with but it's useful to see other ways that it's utilized. Thanks :)
     
    #8
  9. Wavelength

    Wavelength Pre-Merge Boot Moderator

    Messages:
    4,265
    Likes Received:
    3,572
    Location:
    Florida, USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    No, Last Word (while really good, I recommend it) had a battle system that was more like a board game - it wasn't actual conversation in any sense.
     
    Last edited by a moderator: Jan 4, 2016
    #9
  10. Iavra

    Iavra Veteran Veteran

    Messages:
    1,797
    Likes Received:
    856
    First Language:
    German
    The shooter part would actually be quite easy to do in MV. Collision might be a bit finnicky, but since it's only such a small window, you can safely compare pixels without running into performance issues.


    That said, i strongly recommend against copying mechanics from a game you liked (especially a fairly famous one). It will always be perceived as a cheap copy and you'd be better off doing something original.
     
    #10
  11. Missile

    Missile Veteran Veteran

    Messages:
    105
    Likes Received:
    185
    Location:
    USA
    First Language:
    English
    Tried out a few things in VX Ace (not sure on scene calls for MV yet (nameinput doesn't work there in-battle)), and it seems to work well enough, if a little messy. Someone else might have an easier solution!

    Right now, you can set a skill, probably named "Text," to use a common event, then place the following into the common event:

    - Control Switches: [0001] = ON

    - Script: SceneManager.call(Scene_Name)

    SceneManager.scene.prepare(4, 5)

    Fiber.yield

    (this will open name input processing for the 4th party member at 5 characters length, as a text input dummy)

    - Conditional Branch: [4th Party Member] is Name 'bully' Applied

    @>Force Action: [Eric], [bullyskill, Random]

    END

    This forces the skill "bullyskill" to be used if "bully" is typed. It applies a 100% state "bullystate" onto the enemy. In the enemy's troop page, make the Condition: Switch [0001] is ON, you can then do a simple conditional branch to check if the state is applied during Moment.

    Something like:

    - Conditional Branch: [1. Slime] is [bullystate] Inflicted

    @>Text: witty dialogue

    - Change Enemy State: [1. Slime], - [Hide]

    It's important to remove the state afterwards, or else it'll lock you in a loop. If you need an effect from the state, just create a second, "real" version of the state. The bullystate is just a dummy state for conditions (since RM can't use built-in conditional branches to check for skills used, to my knowledge), and you can hide/make it invisible if you want.

    Extras: You can use Dekita's Keyboard Name Input script (requires his core script, too) to use the keyboard for text input, instead of the cursor.
     
    Last edited by a moderator: Jan 5, 2016
    #11
    Beedoe likes this.
  12. Beedoe

    Beedoe Villager Member

    Messages:
    29
    Likes Received:
    4
    First Language:
    English
    Oh, I wasn't planning on copying it. I just used it as an example of how dialogue/action based combat was made interesting. Even if I knew how to program this, I wouldn't copy it :)

    I'm actually planning on using keywords/actions which will replace skills, as opposed to a general text skill, but this is really handy. Thank you very much!
     
    #12

Share This Page