Author Topic: Nonstandard Attack Option  (Read 21152 times)

mekaerwin

  • Newcomer
  • Posts: 15
  • Karma: +1/-0
    • View Profile
    • Email
Nonstandard Attack Option
« on: December 02, 2015, 04:34:04 PM »
I have been considering starting on a new project and making another rogue. I've started many, completed one (ok, it didn't have a true ending, but complete as far as my goals are concerned), and I continue to run into the same problem. They fulfill a lot of the rogue check boxes (permadeath, proc gen levels, etc) but they just aren't fun. I tend to make things that are interesting to me, from a programmers perspective, but aren't near as interesting to a player. I work on NPC to NPC AI, give the player options, but they aren't interesting (one is as good as the other or one is dominant). So I'm wanting to think really hard about the design before I start on yet another. I've read articles about balance and design on ASCII dreams, Sirlin, here, and RBasin. If you have any other good article sites, let me know.

The real impetus behind the post is I was thinking about one idea and wanted to hear feedback. I want to give the player interesting options in combat and thought about giving him a rock, paper, scissors (RPS) kind of choice. Something like a attack, block, and a counterblock. Instead of these being distinct actions, I wanted to implement them all as a form of attack. It's just that block would do very minimal damage but would essentially negate that full attack option that the opponent uses.

Since RPS isn't fun as a single match and only becomes interesting as you play multiple against the same opponent, I thought I would give each mob a set of preferences (probabilities) to which action it would use but give it an ability to partially modify those preferences to what it has observed the players pattern as.

What I'm trying to achieve is give the player an ability to learn monster patterns, but at the same time balance exploiting those with creating a player pattern the monster can exploit. I want to match the preferences with the monster stats as well, giving high hp but low damage abilities to ones who use block more often etc. Hoping to give the monster some personality here.

I feel like I could take this further with gain-able perks that reinforce one of the options and gear that relates as well.

I'm not naive enough to think no one has thought of this kind of thing, so if you have examples of where it has worked or not, tell me. Also, I'd like to know if this sounds like it could work and what problems are forseen or guidelines I should follow.

I also understand that interface seems like a problem with making it streamlined without many controls. Idea's here would be great too. Start from an interface like the original rogue is what I'm hoping and modify it, but there may be better alternatives(?).
« Last Edit: December 02, 2015, 04:38:53 PM by mekaerwin »

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #1 on: December 02, 2015, 06:30:01 PM »
I've started many, completed one (ok, it didn't have a true ending, but complete as far as my goals are concerned), and I continue to run into the same problem. They fulfill a lot of the rogue check boxes (permadeath, proc gen levels, etc) but they just aren't fun.

I'm quite sure you mean a level of 7DRL games when you talk about these projects. They aren't fun, because they are not roguelikes. And if you think you are going to get there with one trick like that then good luck.

mekaerwin

  • Newcomer
  • Posts: 15
  • Karma: +1/-0
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #2 on: December 02, 2015, 07:37:12 PM »
"you mean a level of 7DRL games when you talk about these projects"

Not really, just games with balance issues and a difficulty in viewing things from the player's perspective. I'm not sure what you mean by 7DRL not being rogues, since I have never played them, but I am aware of their existence. I would say that my projects would fit the Berlin interpretation of roguelike, but, as I've already stated, I didn't design them well enough to be fun (being the reason I abandoned many after initial prototyping). Simply adding all the ingredients in what makes something a roguelike doesn't mean it will be good. Most of what I have worked on is patterned on the original rogue, and while I could directly copy it (changing just enough to call it mine), that isn't designing a game. I'm trying to design a game that takes inspiration from others, but is separate. I don't plan or expect it to be popular, or a huge hit, I just want to make something I am happy with and proud of.

If you mean by the above quote that my projects have been amateur and thrown together without thought and planning, you would be right on the former (I'm not paid, and self learned*), and part right and part wrong on the latter. I've thought of many things I'd like to implement in a new game aside from this post and put much planning into some of my previous projects. My 13 year old can spend weeks planning a new game but if he has little successful experience to draw on, and no advice, it may be in vain. I don't say that I have started on many to brag (starting but not finishing is no great achievement, and finishing your goals but ending in failure even less so) but to illustrate that I see something needs to change.

I was hoping for constructive discussion of this particular part of it because it would form one of the core mechanics. If not done right, probably not going to redeem the game with anything else.

If you consider it a trick, I suppose I can take that to mean you don't see it as a worthwhile departure from the norm and that you don't see merit in it? Thank you for your feedback, and I'd like you to elaborate on it if you want to.

*Self learned meaning I learned from other's writing, but not formally educated. Self taught always sounds to me like I taught myself from my own intelligence.
« Last Edit: December 02, 2015, 07:51:12 PM by mekaerwin »

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Nonstandard Attack Option
« Reply #3 on: December 02, 2015, 08:47:15 PM »
As you say, a simple RPS-minigame might be difficult to pull off. In particular, programming a clever AI to make interesting decisions (I would think), given that random choices constitute perfect play in RPS. You should also consider that typical Roguelikes have your @ fighting multiple opponents at once, so a RPS-based system might be difficult just because of that. That's not to say you can't have something like battle screens as a proper mode in the game, like they do in certain CRPGs (Final Fantasy etc).

If you haven't, you could check out the 7drl Malleus Goblinficarium, which features interesting one-on-one combat. It's not based on RPS per se, but has a similar duel-y feel to it. Note how transparent the workings of the AI is to the player.

I'm also reminded of the board game "Fury of Dracula", which used a variant of RPS for combat. If a vampire hunter was fighting Dracula, the hunter had a number of options (garlic, stake, holy water, pistol, swordcane, dodge ...), and Dracula had his options (fangs, bat form, mist form, hypnosis ...). The two players would each choose an option and cosult a table to see the effects. Some actions had special rules or carried special risks. The stake was very effective against a few of Dracula's stances, but could be fatal to the hunter if met with one of many others. I seem to remember combat was ok implemented, not great.

Just rambling more random thoughts: Maybe all monsters and weapons have different actions, each action with a certain effect as well as a certain RPS-value or element. For instance, let's say a sword could have "lunge" (rock), "parry" (paper) and "focus" (scissors). If player plays "lunge" and opponent plays "parry", the opponent wins that round (perhaps not damage, but something like make player unable to choose "lunge" again next round). Other weapons and natural attacks could have different effects, whilst retaining the value of either rock, paper, or scissors. Getting to know the creatures might entail learning that eg. harpies strongest/preferred attack is scissors ("scream"), meaning anything that plays as rock ("lunge" in the sword example) generally plays well against them. Of course, they'll occationally dodge (paper) or use their claws (rock). The player could have a repertoire of actions based on their skills+inventory. For balance, especially powerful attacks might need something like an adverse effect if you try and fail to use them. Your basic sword would probably have no side-effects, but maybe magic. If you cast "paralyze spell" (scissors, say) and your opponent plays something with rock, then maybe you're confused for one round, in addition to getting hurt by the attack. Similarly, an executioner's sword might have a "behead" attack (scissors, again), which instakills any opponent unlucky enough to play paper that round. If failed, perhaps the player is disallowed to play scissors at all for one or two rounds.

Whatever you do, test, taste, and season. Maybe you'll need more than three elements, for instance. I think you won't be able to anticipate all the humps in the road in advance. In particular, if you're trying something that hasn't been done to death already, starting actual testing at an early point is probably just as valuable as a detailed design document. I'm notoriously bad at project managing, just to be clear.

Happy coding.

As always,
Minotauros
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

mekaerwin

  • Newcomer
  • Posts: 15
  • Karma: +1/-0
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #4 on: December 02, 2015, 10:32:56 PM »
@AgingMinotaur

Although random choices (33%) make perfect play in a one off game of RPS, if you know of the other player's pattern then subsequent games should favor the counters to that pattern. If the monsters have a predefined pattern that would mean best play against them would conform to that pattern. If you do best plays against their specific pattern then you create a pattern that they can then adjust theirs to exploit. I don't want them to be perfect players though, so I would only let them adjust their predefined pattern by a set amount. The player would have to play close to their predefined pattern, but not so close as to make their pattern too exploitable. My question is, do you see interesting play here.

I didn't envision doing a separate game space for the battles, but instead integrating it into the main game space. I thought that the players choice would be used for all monster attacks surrounding it until the player makes his next choice (possible implementing double blind, player and monsters hit at once). I was hoping this would create the further depth of causing the player to not just choose best play against one monster, but best play against what he considers best for all the monsters that will attack. I do want to maintain the overall feel of rogue with @ moving around a grid facing multiple monsters. I guess I see it like the original Fallout with the option to choose hit locations, but instead of increasing risk and reward you are doing your best to figure out optimal play.

I will spend some time thinking over your ideas about the the items. I'm not sure I'm fully imagining it yet. I do like the idea of different effects over simply doing more or less damage (I just have to figure out whether that would bog down the combat more than this whole idea already does).

I'm starting to agree that prototyping this first and discussing later may be a better route. Thank you so much for the time you spent reading and commenting. If you have any more ideas, feel free to let me know.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #5 on: December 03, 2015, 09:25:36 AM »
I was hoping for constructive discussion of this particular part of it because it would form one of the core mechanics.

What you hope is irrelevant. You can drop that constructive community bullshit right now and here, because it will not help you.

mekaerwin

  • Newcomer
  • Posts: 15
  • Karma: +1/-0
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #6 on: December 03, 2015, 01:51:55 PM »
@Krice
Obviously, at least with some members. Thankfully not the case with all. If you'd like to tell me your opinion on my topic, I'd still be interested. You have been on these forums a while and could probably give good input.
« Last Edit: December 03, 2015, 02:01:50 PM by mekaerwin »

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #7 on: December 03, 2015, 03:35:30 PM »
What "constructive discussion" means that the developer already thinks/knows his idea is great and just wants everyone to support him. The idea you described could work - but only in a proper context. Which usually means you have to forget small tricks and concentrate on creating the required amount of content for a roguelike. It all comes down to the RPG system, in which ideas like that could (in theory) work. We can discuss thousand years about all kinds of ideas but never really know whether they actually work until someone is showing it with a playable released game. The "discussion" means absolutely nothing in that context, it's all theory and speculation. But yeah, let's continue pressing keyboard keys to produce some more text.

mekaerwin

  • Newcomer
  • Posts: 15
  • Karma: +1/-0
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #8 on: December 03, 2015, 04:40:54 PM »
@Krice
Thanks so much for the input. I did want to hear whether it was a fool's errand or not. I have no idea if it will work. What I understand you saying is that it might, but depends on a lot else. That sounds like it's worth trying. Thanks.

akeley

  • Rogueliker
  • ***
  • Posts: 348
  • Karma: +0/-0
    • View Profile
Re: Nonstandard Attack Option
« Reply #9 on: December 03, 2015, 08:53:19 PM »
Quote from: mekaerwin
You have been on these forums a while and could probably give good input.

I`m not sure how familiar are you with the bizarro world of internet forums, but in case the answer is "not much" let me just point out that a person`s post count is only an indication of how many posts said person made and not some greater wisdom they might posses. Sometimes it does relate, sometimes not. Personally, if somebody replied to me not only in a douchecunt  manner but also made no sense whatsoever (roguelikes made in 7 days are not roguelikes, there`s a chart with "required amount of content for a roguelike" somewhere  -kthxbai) I`d simply ignore them after a brief dismissal.

It`s your call though  8)

@Krice: There`s a line between having an opinion and just being a rude twat and it`s not really very thin. And,  please, spare me the "reddit-like circle jerk" argument because it does not apply here. The fact this board lacks cliques, consist of mostly grumpy, opinionated devs and can be brutally honest is one of its great strengths and the reason I like it a lot. But again, there`s a difference between the former and knee-jerk unwarranted hostility, especially when backed up by total gibberish.

The latter might be part of the reason the forums often resemble a windy, post-a-day wasteland - no wonder, when any new member is likely to be confronted with above-like BS from the get go.

And it was just starting to get bit lively here recently, nothing too wild, but reasonably nice. No reason to fuck it all up just apropos nothing in particular.

Trystan

  • Rogueliker
  • ***
  • Posts: 164
  • Karma: +0/-0
    • View Profile
    • my blog
Re: Nonstandard Attack Option
« Reply #10 on: December 04, 2015, 02:32:20 AM »
I have been considering starting on a new project and making another rogue. I've started many, completed one (ok, it didn't have a true ending, but complete as far as my goals are concerned), and I continue to run into the same problem. They fulfill a lot of the rogue check boxes (permadeath, proc gen levels, etc) but they just aren't fun. I tend to make things that are interesting to me, from a programmers perspective, but aren't near as interesting to a player.
Sounds good to me. I'm a big believer in prototyping something as quickly as possible and either throwing it away or iterating on it until I'm not sure how to improve it. Either way, you get better at programming, better at game design, and learn something new.

I want to give the player interesting options in combat and thought about giving him a rock, paper, scissors (RPS) kind of choice. Something like a attack, block, and a counterblock. Instead of these being distinct actions, I wanted to implement them all as a form of attack. It's just that block would do very minimal damage but would essentially negate that full attack option that the opponent uses.
I've had similar thoughts about how to make melee more interesting. One idea I like is from the board game Kemet (https://boardgamegeek.com/boardgame/127023/kemet). When a group of your warriors is in the same space as another's, you each secretly select an attack card and simultaneously reveal them. Whoever has the highest card strength + number of people, wins. But the cards also have a blood amount that kills enemy warriors and a shield that prevents your warriors from being killed. If all your people die then you lose the fight regardless of the strength of your army. So instead of having an explicit rock/paper/scissors, you have to try and figure out and counter the opponent's strategy. Do you play your highest strength card and try to win without much carnage, or do you go for maximum blood and hope they don't use shields and you can kill them all and win, or do you go for moderate values in all three and hope to win? You and your opponent can't replay your cards until you go through all 6 of your cards so what you play now affects future battles too. The upgrades and secret cards you can play add to the basic strategy. I'm not sure how to translate that into what you're trying to do, but it may inspire something.

I also understand that interface seems like a problem with making it streamlined without many controls. Idea's here would be great too. Start from an interface like the original rogue is what I'm hoping and modify it, but there may be better alternatives(?).
My only advice here is to start with a minimal interface to a minimal roguelike - such as an @ on a hard-coded level with a few enemies that randomly move about. No start screen, no inventory, maybe not even messages. Then try one idea for attack options. Set it aside and try another one. Set that aside and try something else. As long as you only focus on the nonstandard attack option - forget food, xp, items, unique creatures, win conditions, etc - you can try a lot of things and come up with some cool stuff. A few duds, but a few cool things too. Then you can pick one and add other features that complement the main idea of non standard attack options without cluttering the ui or confusing the player. The roguelikes that get attention and do interesting things tend to be either giant games with decades of people working on them or games that focus on one idea, explore it as much as possible, and push it to the limits.

I'm sure a lot of us would like to see what you come up with.

mekaerwin

  • Newcomer
  • Posts: 15
  • Karma: +1/-0
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #11 on: December 08, 2015, 08:00:42 PM »
So I cobbled together a working prototype and have been playing around with it. I went with three types of basic AI for it. One chooses attacks based solely on its preferences, another a mixture of its preferences and your observed choices, and a third that is based solely on your observed choices. The AI movement is really basic and no frills anywhere else, but if someone want's to take it for a spin I'd be more than happy to hear your thoughts. I forgot to mention in the readme that the A prefers attacks and D defense and so on. Thanks for all of your previous replies.

https://www.dropbox.com/s/4p6x1zjzg4kk8lp/RPS%20combat.zip?dl=0

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Nonstandard Attack Option
« Reply #12 on: December 08, 2015, 09:39:40 PM »
Hi. I tried to run it under Linux, using Wine (which is always a bit hit and miss), and didn't succeed. Get error messages: "Cabinet not valid." and "Extracting file failed. It is most likely caused by low memory (low disk space for swapping file) or corrupted Cabinet file." For what it's worth. Good luck onwards.

As always,
Minotauros
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

LindaJeanne

  • Newcomer
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Nonstandard Attack Option
« Reply #13 on: December 16, 2015, 09:18:53 PM »
@Krice: We get it. You know more than any of us can ever hope to about the right way to do roguelikes, your game, once you finally let anyone see it, will be better than anything else ever written, and the rest of us are morons. You've made that point many times, we get it.

But could you give new folk a chance to get settled before forcibly indoctrinating them with this wisdom?

@mekaerwin: I can't try the prototype easily, since I have Linux at home and Mac at work -- no easy access to Windows.  To be honest, I'm having a hard time imagining a P/R/S mechanic that I wouldn't simply find annoying -- but the, I find P/R/S annoying, so I'm probably not the intended audience. But, who knows? You might find a way to make it more interesting than what I'm imagining.

Quote
I thought I would give each mob a set of preferences (probabilities) to which action it would use but give it an ability to partially modify those preferences to what it has observed the players pattern as.
This does sound like an interesting programming problem, though.

Quote
What I'm trying to achieve is give the player an ability to learn monster patterns, but at the same time balance exploiting those with creating a player pattern the monster can exploit. I
I don't think I'm quite getting what you mean here. So the player wouldn't be free to chose round by round, but will need to have a pattern that they are limited in how much they can vary from? I'm having a hard time picturing what this looks like from the player's POV.

mekaerwin

  • Newcomer
  • Posts: 15
  • Karma: +1/-0
    • View Profile
    • Email
Re: Nonstandard Attack Option
« Reply #14 on: December 17, 2015, 01:51:12 AM »
@ LindaJeanne and AgingMinotaur

I'm trying to figure out a way to get it to work on wine but it's not my expertise.

@LindaJeanne

Yes, the player can choose from any of the three choices each attack. What I mean by the second quote is that the player will learn the monsters preferences and can then always play the most preferred's counterpoint. Instead of this, I allow the monsters to gradually learn the player's patter that they have been using and adjust their preferences to suit (only not completely, I'm not trying to totally compete with the player). That way, if the player always uses the same attack which is the counterpoint to the monster's most preferred attack, then the monster will start playing the counterpoint to that attack. This forces the player to adjust their playing to not just the monster's counterpoint, but varying in other choices to keep from producing an exploitable pattern for the monster.

I think that standing alone the system might have some value as a mini-game or something, but I get the feeling that it is cumbersome. I'd still love to hear from any one who can run it, and in the mean time I'll try to figure out something for the linux users, or maybe mac. Both are platforms I can't claim to know a whole lot about.

As always, thanks so much for the interest!