Monday, September 9, 2019

game design - How can I make text-based combat more engaging?


I'm making a text based adventure in Java, and currently I have a fairly limited combat system where you can do one of 3 things:



  1. attack with your sword

  2. attack with magic(if its unlocked)

  3. drink a health potion


This system works but is fairly boring and uninspired. I want to make the combat enjoyable yet given the limitations of a text based game, but I don't know how to accomplish this. If anyone knows how to make this system more engaging/fun, it would be greatly appreciated.



Answer




Basically, you are looking for ways to improve the player's choices; the ways to do that are to make the choices more interesting &/or meaningful. By meaningful, I'm referring to the impact a choice has to the overall experience. Without knowing more about the game's other systems, narrative, etc, I'm going to set aside the meaningful part as out of scope for this answer. Instead, I'm focusing on some ways to add measured uncertainty & complexity to the combat system to make it more interesting.


Based on the information presented, I suspect that there's more or less a clear strategy for combat, probably something along the lines of:



  • If health is low & potion is available, drink potion

  • Otherwise, select most damaging attack option


These sorts of patterns don't take long to discover & once found the game play consists of going through the motions. You've already tried a couple of solutions:



  • There's a bit of push your luck regarding when to use a potion (Hmmm, how low is low?)

  • Damage is randomized, which leads to a bit of anticipation (Did I roll good numbers?)



Here are some ways that you can add complexity to the system with the intent of making decisions more interesting:



  • Create situation where the answer isn't always obvious:

    • An attack that damages multiple enemies a little bit vs. damaging one enemy a lot

    • An attack that does less damage now, but adds an effect like, damage over time, chance to stun, reduce enemy accuracy, etc



  • Add some uncertainty to the potion system:


    • Potions degrade overtime, creating more uncertainty about when best to use them

    • Potions provide variable healing over time (up to some cap)

    • Health potions also temporarily increase player damage, thus encouraging earlier use in combat



  • Create systems that encourage the player to push their luck

    • Mana points only regenerate when the player is below 50% health

    • Health potion can be cashed in for some reward (XP, stat bonus, etc)




  • Create systems that reward mastery

    • Player estimates # of round combat will take, if their guess is close, they get bonus XP




It's possible to add complexity, uncertainty & encourage the player to take risks. i.e. give the potions a random number from 0-9. Potions heal more based on how closely their # matches the last digit of damage most recently dealt to the player.


Since GDSE is more about Q&A than opinions, I want to emphasize that the examples are just that. The core answer is to find ways to make the system(s) in question interesting, without making it too complex, arbitrary or inscrutable. If you need additional opinions on how to make that happen, you may need to go to GDSE chat or a gdev forum like TIG Source.



No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...