Feedback wanted on new feature

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Dean Anderson
    Adept
    • Nov 2009
    • 193

    Feedback wanted on new feature

    I'm thinking of adding gods to Cthangband, and here's my idea of how I'd do it.

    Since priests in Cthangband get two realms of magic (either Life or Death, plus either Chaos, Corporeal, Folk, Nature, or Tarot) my thought was that there would be five gods in the game (with names taken from the names of Great Ones in Lovecraft's Dreamlands, of course), corresponding to the five realms.
    • Nath-Horthath - god of war, gives Chaos magic
    • Lobon - god of youth and healing, gives Corporeal magic
    • Zo-Kalar - god of birth and death, gives Folk magic
    • Oukranos - god of the rivers, gives Nature magic
    • Tamash - god of magic and illusion, gives Tarot magic


    The player will have a Favour score for each god, and this will go up and down as the game progresses. Each god will have a certain type of creature that it hates, and killing those will gain you favour with that god; and a type of creature that it likes, and killing those will lose you favour with that god. Additionally there will be altars dotted around and you can sacrifice items at these to gain favour with one of the gods based on the value of the item you sacrifice. I'm thinking that it should be balanced so keeping all the gods happy without sacrificing is going to be pretty hard, since you are going to be killing things they like as well as things they hate.

    For most characters, the gods are all pretty equal in that you start with a baseline of zero favour with all of them and they all increase and decrease at similar rates. However, if you're a cleric then you choose your god/realm at the same time so you will have a special tie to one of them. Not only will you start with favour from your patron god, any favour gains and losses for that god will be multiplied - so pleasing them and refraining from annoying them is more important.

    I've not decided yet whether there should be separate altars for the different gods or whether altars should be generic and you can sacrifice to any god at one. I've also not yet decided whether they should be found in towns or in wilderness shrines or in the dungeon or some combination of the above. I'm thinking that maybe I could make the temple work as a global altar so you could sacrifice to any god there, but then have altars to individual gods elsewhere.

    The big thing I need to think about is what use favour is. Should it give you a passive bonus or should you spend it? And what sort of bonus/ability/whatever should it provide?

    Also, should there be penalties if your favour with a god gets too low? Should they smite or inconvenience you in some way? I'm tempted to say no, since that way you can simply ignore the whole system if you're not interested in it, but it might be interesting if they do punish you for too many misdeeds.

    Thoughts, anyone?
  • archolewa
    Swordsman
    • Feb 2019
    • 400

    #2
    Sounds kind of reminiscient of TOME2's god system. I'm assuming you're drawing a lot of inspiration from that? A few thoughts:

    1. I think having gods lose favor when you kill things is going to be a giant PITA unless you're really careful with how you implement it. Bands involve killing lots of things. And just avoiding enemies unless you teleport them away is *really* annoying since they hound you relentlessly. For this reason, Yavanna is a kind of terrible god in TOME2 because she doesn't like it when you kill animals, and there are a lot of animals in the early game. To mitigate this, one of the first benefits you get at a certain piety level could be that the monster that god likes becomes neutral to you, or is just less likely to spawn.

    What you *could* have instead of gods not liking it when you kill things is that there are certain sacrifices that gods don't like. So, the god of war doesn't like it when you sacrifice weapons (he wants you to use those to fight), but he does like it when you sacrifice scrolls of teleportation or other escape items (since then you're basically saying "I commit to fighting my enemies, not running away"). Then a part of learning the gods is learning what each god likes and dislikes. It also adds some tactical considerations based on your playstyle, and which items you can most afford to sacrifice.

    2. It might make sense to have the god you're worshiping punish you for misdeeds, but other gods punishing you just feels like it would be more unfun than fun. For one thing, pissing off some gods is going to be unavoidable, so you'll have to be very careful to balance things so that they don't become a random "you're dead now" event. For another, if pissing off one or more gods does eventually lead to a "you're dead now" event, then that's going to encourage tedious sacrifice scumming.

    A mix of passives and abilities probably makes the most sense, with each god getting different bonuses. You can look at DCSS' god system to see what they do. DCSS actually has a very interesting and deep religion system with a variety of different gods with different abilities.

    Comment

    • Dean Anderson
      Adept
      • Nov 2009
      • 193

      #3
      Originally posted by archolewa
      Sounds kind of reminiscient of TOME2's god system. I'm assuming you're drawing a lot of inspiration from that?
      Actually, I've never played TOME2 (or TOME for that matter), so any similarity is coincidence.

      1. I think having gods lose favor when you kill things is going to be a giant PITA unless you're really careful with how you implement it. Bands involve killing lots of things. And just avoiding enemies unless you teleport them away is *really* annoying since they hound you relentlessly. For this reason, Yavanna is a kind of terrible god in TOME2 because she doesn't like it when you kill animals, and there are a lot of animals in the early game. To mitigate this, one of the first benefits you get at a certain piety level could be that the monster that god likes becomes neutral to you, or is just less likely to spawn.
      Good point. The thing that I'm trying to achieve is that you can't simply have all the gods liking you. There must be some kind of mechanism that will slowly push gods into disliking you to make you want to seek out ways to mitigate that - I don't want it to be all carrot and no stick.

      One thing I'm thinking is that perhaps favour could be a zero sum game, in that your total favour always stays the same - when you gain favour with one god you lose it with their rivals. That way there don't have to be creature types that will specifically annoy one god if you kill them, but if you keep killing the creature types that a particular god hates and gain lots of favour with that god your favour with all the other gods will slowly decrease as they get jealous.

      There could also be a default where over time the favour of all gods slowly reverts back to a default neutral resting state.

      What you *could* have instead of gods not liking it when you kill things is that there are certain sacrifices that gods don't like. So, the god of war doesn't like it when you sacrifice weapons (he wants you to use those to fight), but he does like it when you sacrifice scrolls of teleportation or other escape items (since then you're basically saying "I commit to fighting my enemies, not running away"). Then a part of learning the gods is learning what each god likes and dislikes. It also adds some tactical considerations based on your playstyle, and which items you can most afford to sacrifice.
      That might work if you generically sacrificed items to the gods in general - so a sacrifice might please one god but annoy another - but I think that if you're sacrificing items to a specific god then you'd only ever sacrifice the things they like and you'd never lose favour.

      2. It might make sense to have the god you're worshiping punish you for misdeeds, but other gods punishing you just feels like it would be more unfun than fun. For one thing, pissing off some gods is going to be unavoidable, so you'll have to be very careful to balance things so that they don't become a random "you're dead now" event. For another, if pissing off one or more gods does eventually lead to a "you're dead now" event, then that's going to encourage tedious sacrifice scumming.
      Yeah, the effects of gods disliking you need to be quite low-key. They should be nowhere near the "smite you dead" level.

      A mix of passives and abilities probably makes the most sense, with each god getting different bonuses. You can look at DCSS' god system to see what they do. DCSS actually has a very interesting and deep religion system with a variety of different gods with different abilities.
      A number of favour thresholds, some of which give passives and some of which give actives is probably best.

      Comment

      • CyclopsSlayer
        Swordsman
        • Feb 2009
        • 389

        #4
        Look at the Pos/Frog/Com Virtue systems. These are basically what you are talking about.
        AND they tend to be hated by many as they restrict and force gameplay.
        Hit a sleeping foe? Ding lose virtue. So much for the value and benefits of stealth and surprise attacks.
        Eat too much, lose virtue. Hit a mob first, lose virtue, fail a spell cast, lose virtue. Breathe and stand still, lose virtue... Okay maybe not the last one, but you get the point.

        Comment

        • Dean Anderson
          Adept
          • Nov 2009
          • 193

          #5
          Originally posted by CyclopsSlayer
          Look at the Pos/Frog/Com Virtue systems. These are basically what you are talking about.
          AND they tend to be hated by many as they restrict and force gameplay.
          Hit a sleeping foe? Ding lose virtue. So much for the value and benefits of stealth and surprise attacks.
          Eat too much, lose virtue. Hit a mob first, lose virtue, fail a spell cast, lose virtue. Breathe and stand still, lose virtue... Okay maybe not the last one, but you get the point.
          I certainly don't want to have anything like that.

          The more I think about it, the more I want it to be zero sum - nothing you do will ever just lose you favour, the only time you will ever lose favour with a god is by gaining favour with a different god.

          Given that there are five gods, I'll make sure the gains are in multiples of 4 points, so for example if you do something that pleases Lobon, you'll gain 4 favour with Lobon and lose 1 favour with each of Nath-Horthath, Zo-Kalar, Oukranos, and Tamash.

          So your total favour will always stay the same, and you're going to lose favour more slowly than you gain it because the gain will be concentrated on the one god you pleased but the loss will be spread out amongst the four other gods.

          Comment

          • CyclopsSlayer
            Swordsman
            • Feb 2009
            • 389

            #6
            MITZE - has an excellent thread on Virtues. Detailing the what/how/why of them. Most of them at least.

            MITZE - Extolling Virtues

            Comment

            • Seraphimus
              Scout
              • Apr 2019
              • 36

              #7
              another option is to have it so that at some stage, whether creation or later at an altar, you choose a good to follow and your actions really only matter to that god. that does run the risk of just being a global player side power boost so you'd have to have ways to make it challenging to raise/keep favor up. The old T.O.M.E 2 system worked well for the most part, with gods that had generally more powerful boosts being harder to maintain favor with or costing more favor to use their active powers.

              Comment

              • Dean Anderson
                Adept
                • Nov 2009
                • 193

                #8
                You'll definitely choose a god at character creation if you're a priest - but it will be tied into your choice of realms.

                Your basic Life/Death choice won't affect it, but your second realm will determine your god:
                • Chaos = Nath-Horthath, god of war
                • Corporeal = Lobon, god of youth
                • Folk = Zo-Kalar, god of birth and death
                • Nature = Oukranos, god of the river
                • Tarot = Tamash, god of illusion and magic


                (Priests can't choose Sorcery, so there's no god for that one.)

                I'm less sure that I want other characters to choose a patron god. There are already patron Great Old Ones that you can have if you're a Cultist or Fanatic, and I want the gods to be different if possible rather than just having a single one that gives you gifts or punishes you. Rather than having a single patron you should be balancing your devotion to all of them.

                Comment

                • Seraphimus
                  Scout
                  • Apr 2019
                  • 36

                  #9
                  That makes sense, especially as that way they're not competing with the old ones on those classes. Will priests be only have to worry about their patron? or in some way get extra benefits from them in some way perhaps similar to the old ones or in the form of enhanced boons for keeping them happy?

                  Comment

                  • Avenger
                    Apprentice
                    • Dec 2013
                    • 97

                    #10
                    Hopefully this thread isn't so old that this is considered a grave bump, but... really cool idea.

                    I like the concept of priests being dedicated to a specific deity. I just don't want it to devolve into something as arcane and complex as the Poscheng/successor virtue system, nor do I want to see it tied to certain enemy types like Pos warlocks(unless the associated enemies are really completely on your side the vast majority of the time).

                    I do like the idea of a zero-sum system, where total favor is maintained - although I think that would be more appropriate for non-priests seeking the favor of a deity. For priests, it should be a given that their own patron will favor them, and all others will oppose them. I also agree that this opposition should not be too unbalancing.

                    I regret that I don't have any more detailed thoughts to provide, but I really look forward to seeing where you end up taking this. I love the Cthulhu Mythos, and it's fantastic to see a *band adopting it to this extent.
                    C(6.3) C Erirbag [Half-Ogre Cultist] L:39 DL:Collector's Cave 2 A+ R+ Sp w:The Long Sword of Karakal (2d5) (+9, +12) (+2)
                    C(TN/Do) W H- D-- c-- f PV s- d+ P++ M?
                    C S++ I+ So B- ac- GHB- SQ RQ V+ F:TomeNET Game Progression

                    Comment

                    • Dean Anderson
                      Adept
                      • Nov 2009
                      • 193

                      #11
                      I must admit that I've been procrastinating quite a lot and haven't done much with this.

                      My current work-in-progresss dev version (6.5) has quite a few fixes and tweaks (more than 6.3 and 6.4 combined), but adding this system of gods isn't one of them.

                      I implemented the basic mechanism whereby favour is a zero-sum game and gaining favour with one god loses it with all the others, as well as the fact that being a priest effectively amplifies the amount of favour you have (or don't have) with your patron god.

                      However, I've not implemented the details of when you gain favour with a particular god or what the effects of having a high (or low) favour with a particular god are; so currently although you can gain and lose favour, you never actually do (and even if you did it would have no effect).

                      I need to stop procrastinating and get 6.5 ready for a release - with or without the favour system.

                      Comment

                      • HugoVirtuoso
                        Veteran
                        • Jan 2012
                        • 1237

                        #12
                        Is there any way to have this available for Linux?
                        My best try at PosChengband 7.0.0's nightmare-mode on Angband.live:
                        https://www.youtube.com/watch?v=rwAR0WOphUA

                        If I'm offline I'm probably in the middle of maintaining Gentoo or something-Linux or other.

                        As of February 18th, 2022, my YouTube username is MidgardVirtuoso

                        Comment

                        • Dean Anderson
                          Adept
                          • Nov 2009
                          • 193

                          #13
                          I very much doubt it. It's a C# program that uses the WPF Framework.

                          Comment

                          • Avenger
                            Apprentice
                            • Dec 2013
                            • 97

                            #14
                            Glad to see this is still a work in progress, and that the developer is alive. Looking forward to 6.5.

                            As far as portability, I like Java for my own projects, since you can run a jar pretty much anywhere as long as you have a JRE installed.

                            I suspect the same approach Java uses to achieve its portability can help you out on Linux - simply setup a virtual windows box and run the game from there. Maybe not the ideal, or preferable, solution, but certainly a viable one.
                            C(6.3) C Erirbag [Half-Ogre Cultist] L:39 DL:Collector's Cave 2 A+ R+ Sp w:The Long Sword of Karakal (2d5) (+9, +12) (+2)
                            C(TN/Do) W H- D-- c-- f PV s- d+ P++ M?
                            C S++ I+ So B- ac- GHB- SQ RQ V+ F:TomeNET Game Progression

                            Comment

                            • Dean Anderson
                              Adept
                              • Nov 2009
                              • 193

                              #15
                              So, these changes didn't make it into 6.5 (or 6.6 for that matter), but I've not forgotten about them.

                              I've added them to the upcoming 6.7, and it's been quite a balancing act.

                              I'm using five gods (Great Ones or GOs in Cthangband terminology) aligned with the five realms of magic that priests can cast, as described earlier in the thread, although the exact list has changed slightly:
                              • Hagarg Ryonis - Goddess of beasts (aligned with the Nature realm).
                              • Lobon - God of youth and strength (aligned with the Corporeal realm).
                              • Nath-Horthath - God of war (aligned with the Chaos realm).
                              • Tamash - God of illusion and magic (aligned with the Tarot realm).
                              • Zo-Kalar - Goddess of birth and death (aligned with the Folk realm).


                              I decided on three features the system needed to have, to make sure it didn't annoy players:
                              1. You should be able to ignore the system entirely without it being imposed on you.
                              2. GOs might give you a bonus or benefit if they like you, but they will never give you a penalty or smite you if they don't.
                              3. Whatever GOs give you should be passive rather than active abilities, since with racial abilities, multiple realms of magic, and abilities from mutations there are already too many abilities for the player to try to remember.


                              I've mostly stuck to those three principles, with the exception that you can't ignore the system entirely if you play a priest, since your choice of realm automatically gives you one of the GOs as a patron. Although having said that, the passive nature of the bonuses means that even as a priest you can still mostly ignore the system and just keep the base-level bonus for your patron.

                              I've implemented "favour" with the five GOs as a zero-sum game, so gaining X favour with one GO will lose you X/4 favour with each of the others, and vice versa (and consequently gaining and losing favour is always done in multiples of 4). That way, your total favour with all five is always zero and it's not possible to have positive favour with all five.

                              Most people start with 0 favour with each, and if you don't want to interact with the system you can just leave it at that for the whole game - you never gain or lose favour against your will.

                              However, if you want to gain favour with one of them then you can sacrifice items at the temple. I thought about having altars to specific Great Ones in the dungeon, and I might add that at a later date, but for now you just sacrifice at the temple and you can sacrifice to any Great One.

                              When you sacrifice an item, you gain favour with the GO to whom you sacrificed it based on the value of the item.

                              And this was the tricky bit to get the maths right on.

                              I wanted to make it still worth your while making smaller sacrifices, while at the same time being able to cope with huge sacrifices. A starting character will only have a hundred gold or so, but endgame characters will have dozens of items worth tens or hundreds of thousands of gold each.

                              I basically needed to combine some kind of exponential scale for sacrifices with a linear scale for bonuses, and the way I did it was:

                              When you sacrifice an item, you gain 4 favour with the GO to whom you sacrificed it per 10gp of the item's value (and, of course, lose favour with the other GOs equal to 1 per 10gp of the item's value to keep the zero-sum game balanced).

                              I then put in a 'decay' of favour as the GO's lose interest after a while, so each game-day that passes it picks the GO you have the most favour with and takes 10% of that favour as a decay value. You lose 4x the decay value in favour with that GO, and gain 1x the decay value in favour with each other GO. Again, keeping the zero-sum.

                              Losing 40% of your favour might sound a lot, but remember this is kind of like the reverse of compound interest. You won't lose all your favour in two and a half days, because each time you lose favour the next loss will be 40% of the new total, not 40% of the original total - so it's kind of like radioactive decay with half-lives. As the amount goes down the amount lost goes down too.

                              The nice thing about this is that even though the amounts of favour you're getting are going up geometrically as you sacrifice more expensive items, the time to decay doesn't go up geometrically with it but instead goes up linearly - so a huge sacrifice will give you a lot more favour, but it won't end up giving you favour that lasts forever.

                              As for what favour actually does for you, I turn the favour into a percentage bonus. Again, I convert from a geometric scale to a linear scale, this time by taking log10 of your favour and converting it into a score. I don't actually do a log10 calculation, of course - that would be overkill. Instead I simply convert the favour into a string and count the digits. This gives me a number between 0 and 10 (theoretically it could be higher, but I cap it at 10) which I can easily convert into a percentage by multiplying it by 10. So I end up with a value from 0% to 100% that I can use as I see fit.

                              At the moment (and this may be adjusted as a result of further testing), you get the following bonuses from the different GOs:
                              • Hagarg Ryonis - your bonus is the chance to ignore poison or life drain attacks.
                              • Lobon - your bonus is the chance to ignore ability score damage.
                              • Nath-Horthath - your bonus is applied to your max health.
                              • Tamash - your bonus is applied to your max mana.
                              • Zo-Kalar - your bonus halved is the chance to negate an effect that would kill you.


                              Priests get two benefits. Firstly their "resting" favour to which the scores decay is to have 120 favour with their patron and -30 favour with each of the other GOs, so unless they actively do something bad they'll always have a 30% bonus for their patron's ability. And seconly when converting the favour to a bonus their favour is doubled before counting the digits, so for the same amount of sacrifice they get a bigger bonus.

                              I've finished implementing it, and I'm currently testing it to see if the balance needs tweaking - but so far it's looking good.

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎