Sil screencasting / let's play

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • taptap
    Knight
    • Jan 2013
    • 710

    Originally posted by debo
    The silence bonus counts against noise, but if there's only 2 noise to counteract and you have a silence bonus of 20, I don't think it's going to do more than help you by 2.

    This is largely conjecture, I didn't have time to backtrace all the different monster_perception calls to see how they were setting their base difficulty.
    Not sure where you get your information about "only 2 noise to counteract". It is not quite clear whether there is 1) "unlimited base noise" (i.e. silence works as a full perception penalty regardless of special noise), or 2) "capped base noise" (e.g. the 7 difference between standing still and moving), or 3) "no base noise" (reduces only additional noise, does not help normal stealth). Now this can probably be tested ...

    The debug mode map is "acoustical distance" (= your distance penalties on a listen/song roll) and does not answer the question.

    Comment

    • wobbly
      Prophet
      • May 2012
      • 2631

      I've not read the code, but if it's symetrical with it's effect on listen it's a flat out stealth bonus in all ways except assassinating by my reading.

      Comment

      • debo
        Veteran
        • Oct 2011
        • 2402

        On every single turn, the game calls "monster_perception" with your stealth score as your difficulty. This function does the following:

        Code:
        base = your_stealth_score
        combat_noise = 0
        
        if player_attacked
          combat_noise += 2
        
        if attacked_player
          combat_noise += 2
        
        base = base - combat_noise
        
        your_roll = base + 1d10 + ability_bonus(SONG_OF_SILENCE)
        
        for each monster
          monster_perception = [some crazy thing modified by a million things]
          monster_roll = monster_perception + d10
          if monster_roll > your_roll
            alert_monster
        So song of silence does basically add directly against your stealth check. It also appears to do so by (SONG / 2) (!)

        There might be stuff in here that entirely screws everything, but that's how it works from my quick reading of it.

        Edit: This also gets called for individual, very noisy events, but then your "base" is set to some very negative value rather than your stealth score.

        Edit2: I also thing one of the million things that affects monster perception is exactly that noise flow based on distance from the player.
        Last edited by debo; September 30, 2014, 23:02.
        Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

        Comment

        • HallucinationMushroom
          Knight
          • Apr 2007
          • 785

          Question? What is this, stealth, that you speak of?
          Last edited by HallucinationMushroom; October 1, 2014, 01:00.
          You are on something strange

          Comment

          • huiren
            Rookie
            • Dec 2013
            • 14

            Thanks for doing more of these! On a character like the 5-1-1-1 Hador, how could you possibly survive the late game? It seems like every enemy would have a chance to kill you in one hit regardless of the evasion or protection you manage to stack up. I'm terrible at this game, but I have no idea how to even get through the early game with less than 4 con. One good charge from an orc warrior can easily do over 15 damage and there's nothing to stop them from just charging you again.

            Comment

            • debo
              Veteran
              • Oct 2011
              • 2402

              Originally posted by huiren
              Thanks for doing more of these! On a character like the 5-1-1-1 Hador, how could you possibly survive the late game? It seems like every enemy would have a chance to kill you in one hit regardless of the evasion or protection you manage to stack up. I'm terrible at this game, but I have no idea how to even get through the early game with less than 4 con. One good charge from an orc warrior can easily do over 15 damage and there's nothing to stop them from just charging you again.
              Unless you're surprised by an orc warrior, you don't really ever need to suffer a charge. Flanking helps a bunch by letting you move past them on a charge while still hitting them (and possibly charging yourself).

              I've recorded a ttyrec from 500' onward of the current 5111 I'm playing, I'll probably cast that one "eventually". He's at 650' now and will very likely die to a surprise dragon breath in short order.
              Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

              Comment

              • half
                Knight
                • Jan 2009
                • 910

                Code:
                base = your_stealth_score
                combat_noise = 0
                
                if player_attacked
                  combat_noise += 2
                
                if attacked_player
                  combat_noise += 2
                
                base = base - combat_noise
                
                your_roll = base + 1d10 + ability_bonus(SONG_OF_SILENCE)
                
                for each monster
                  monster_perception = [some crazy thing modified by a million things]
                  monster_roll = monster_perception + d10
                  if monster_roll > your_roll
                    alert_monster
                Wow, I wish C code actually looked like that! Instead, there are millions of pointless semicolons and braces all over the place, because people back then didn't realise we would standardise the line-breaks and indenting by convention and that this whitespace could be used to infer where all the semicolons and braces would go...

                Comment

                • debo
                  Veteran
                  • Oct 2011
                  • 2402

                  Originally posted by half
                  Code:
                  base = your_stealth_score
                  combat_noise = 0
                  
                  if player_attacked
                    combat_noise += 2
                  
                  if attacked_player
                    combat_noise += 2
                  
                  base = base - combat_noise
                  
                  your_roll = base + 1d10 + ability_bonus(SONG_OF_SILENCE)
                  
                  for each monster
                    monster_perception = [some crazy thing modified by a million things]
                    monster_roll = monster_perception + d10
                    if monster_roll > your_roll
                      alert_monster
                  Wow, I wish C code actually looked like that! Instead, there are millions of pointless semicolons and braces all over the place, because people back then didn't realise we would standardise the line-breaks and indenting by convention and that this whitespace could be used to infer where all the semicolons and braces would go...
                  With enough #defines, you can make C look however you like

                  Also, in a time where your alternatives were assembly, primordial lisps, APL, BCPL, Fortran, and maybe FORTH, C probably looked downright sane.
                  Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

                  Comment

                  • debo
                    Veteran
                    • Oct 2011
                    • 2402

                    The next episode in the Basil stealth/singer series will be available here in a few mins (currently processing): https://www.youtube.com/watch?v=oQqs8ujCA2I
                    Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

                    Comment

                    • Derakon
                      Prophet
                      • Dec 2009
                      • 9022

                      Originally posted by half
                      Code:
                      base = your_stealth_score
                      combat_noise = 0
                      
                      if player_attacked
                        combat_noise += 2
                      
                      if attacked_player
                        combat_noise += 2
                      
                      base = base - combat_noise
                      
                      your_roll = base + 1d10 + ability_bonus(SONG_OF_SILENCE)
                      
                      for each monster
                        monster_perception = [some crazy thing modified by a million things]
                        monster_roll = monster_perception + d10
                        if monster_roll > your_roll
                          alert_monster
                      Wow, I wish C code actually looked like that! Instead, there are millions of pointless semicolons and braces all over the place, because people back then didn't realise we would standardise the line-breaks and indenting by convention and that this whitespace could be used to infer where all the semicolons and braces would go...
                      I should get back to work on Pyrel sometime, because its code actually does look only slightly more "decorated" than that example. Hooray for Python.

                      Comment

                      • debo
                        Veteran
                        • Oct 2011
                        • 2402

                        Originally posted by Derakon
                        I should get back to work on Pyrel sometime, because its code actually does look only slightly more "decorated" than that example. Hooray for Python.
                        I would really like to see a list comprehension that is literally '[some crazy thing modified by a million things]'
                        Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

                        Comment

                        • Raajaton
                          Swordsman
                          • May 2012
                          • 296

                          Thanks for posting these videos debo. They're incredibly interesting, and I've been waiting some time for some 1.2.1 videos.

                          Comment

                          • debo
                            Veteran
                            • Oct 2011
                            • 2402

                            The next part in Basil's 1.1.1 stealth singer series will be up here in the next 30 mins or so: https://www.youtube.com/watch?v=llOXwdc5bnk
                            Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

                            Comment

                            • debo
                              Veteran
                              • Oct 2011
                              • 2402

                              Originally posted by Raajaton
                              Thanks for posting these videos debo. They're incredibly interesting, and I've been waiting some time for some 1.2.1 videos.
                              Thanks! We should have a bunch more 1.2.1 videos coming up.
                              Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

                              Comment

                              • debo
                                Veteran
                                • Oct 2011
                                • 2402

                                Hi,

                                Here's a new video: https://www.youtube.com/watch?v=9d1EdWUaBms
                                Glaurung, Father of the Dragons says, 'You cannot avoid the ballyhack.'

                                Comment

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