NOT a statement of intent

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • AnonymousHero
    Veteran
    • Jun 2007
    • 1393

    #31
    (Quoted only the stuff I found interesting, personally.)
    Originally posted by Nick
    Every generated level has at least one "challenge" (vault, or OOD monster, or something).
    Doesn't quite work -- reason was already mentioned by Magnate/Eddie. Let me just add that ToME tried something similar with the Iron Man mode where all levels have N(?) vaults. It's fun for the first few levels, but then just becomes tedious.

    A good way to acheive this kind of thing would be to skew the OoD mechanics even further than in 3.5-git. Perhaps the OoD potential could be skewed furhter and further the longer you've lingered on a certain Dlvl? Leading to Morthoth showing up eventually?

    You'd need some sort of reasonable falloff function and messages to the player every time the OoD "potential" increases, with increasingly alarming messages the closer you're getting to the big P showing up. If the player moves off the Dlvl for some reasonable amount of time (i.e. not absurd levels of scumming), halve the counter or something.

    Messages could be along the lines of: "You sense the forces of Morgoth gathering their strength while you linger.", "You hear a loud dungeon collapse as if Morgoth himself was approaching!" (etc.)

    Originally posted by Nick
    Certain behaviours (stairscumming, or taking the first available stair, for example) are rewarded or punished by affecting object/monster generation in some way.
    Taken care of by above suggestion, I think.

    Originally posted by Nick
    All of the above should be obtainable by birth options.
    No. Perhaps one or two birth options covering various combinations of settings, but adding more birth options is NOT the solution to anything. Just choose a set of options for $DEITY's sake! That's a game designer's job!

    OK, you might argue that you're not a game designer, but IMO that's what a maintainer is and should be.

    (Sorry about any formatting SNAFUs, I've had a couple of strong beers )

    Comment

    • maboleth
      Rookie
      • Sep 2009
      • 22

      #32
      Originally posted by Nick
      1. At the start of each game, all objects get randomly (but according to their depth and rarity) allocated a minimum dungeon level they can start being generated.
      Hm, interesting idea but that would kind of ruin the "randomness" of the whole game.
      Originally posted by Nick
      [*]Every generated level has at least one "challenge" (vault, or OOD monster, or something).[/LIST]
      I like it! Great idea, but AnonymousHero has a point.
      Originally posted by Nick
      [*]Downstairs and/or recall from town go a random number of levels down, upstairs always up 1.[/LIST]
      Downstairs should always give you 1-5 down (doesn't make sense to use stairs to reach 1-lvl15 instantly), but I agree for word of recall.
      Originally posted by Nick
      [*]Difficulty level of monsters encountered depends on turncount not depth.[/LIST]
      Turncount can be a factor, but not the main one, as the depth.
      Originally posted by Nick
      [*]Morgoth may be on other levels apart from 100.[/LIST]
      Partly agree. Having Morgoth wander on levels 90->100 would be great, but having him appear on 70 or lvl60 would make the game feeling pointless to continue if you happen to defeat him early.
      There's a great sense of adventure knowing that Morgoth is dwelling somewhere in the deepest of the deep.
      Originally posted by Nick
      [*]There is a "difficulty parameter" which can be set before starting any game.[/LIST]
      Interesting idea. But that could also be a new source of bugs?
      Originally posted by Nick
      [*]All races and classes earn experience at the same rate, and there is more variation between races.[/LIST]
      Great idea!
      Originally posted by Nick
      [*]Winning should be unusual.[/LIST]
      Yep, but not frustrating.
      Originally posted by Nick
      [*]Repeating levels gets you less monsters and gear every time.[/LIST]
      Nice idea, but that would make early levels empty. The enemies should be set to respawn every once and then.
      Originally posted by Nick
      [*]Winning should be guaranteed with ideal play.[/LIST]
      Disagree, what is "ideal play"?

      Originally posted by Nick
      [*]Recall is a command, not a scroll.[/LIST]
      Totally agree. If you ever make the "difficulty" setting, "recall" should be enabled on easy-medium setting but disabled on hard-legendary.

      And one more thing - please release a stable v3.5 and then add more stuff here and there, because Angband is currently in a "vaporware" state, 3.4.1 is over 1 year old. Better to have more frequent but stable releases in my opinion.
      Last edited by maboleth; November 13, 2013, 19:13.

      Comment

      • Nick
        Vanilla maintainer
        • Apr 2007
        • 9634

        #33
        Just a couple of quick clarifications:

        Originally posted by maboleth
        And one more thing - please release a stable v3.5 and then add more stuff here and there, because Angband is currently in a "vaporware" state, 3.4.1 is over 1 year old. Better to have more frequent but stable releases in my opinion.
        Sorry to disappoint here, but
        1. I am only maintainer after 3.5 comes out. It is actually currently pretty stable, and available from the nightly build page, but takkaria and the devteam are aiming for a very high standard of bugfreeness. I'm sure it won't be too long
        2. When I do start, it's going to be with a big code restructure, so no new releases for some time.


        Originally posted by AnonymousHero
        Perhaps one or two birth options covering various combinations of settings, but adding more birth options is NOT the solution to anything. Just choose a set of options for $DEITY's sake! That's a game designer's job!

        OK, you might argue that you're not a game designer, but IMO that's what a maintainer is and should be.
        Angband has a tradition of allowing lots of different playing styles. I must say, I am putting a lot of thought in to this, and the thing I am struggling most with is the "make it tight/disallow grinding" vs "let people do what they want" dichotomy. I remain convinced that everyone can be kept happy, but it's going to require care and subtlety.
        One for the Dark Lord on his dark throne
        In the Land of Mordor where the Shadows lie.

        Comment

        • yarps
          Rookie
          • Apr 2011
          • 5

          #34
          Originally posted by TJS
          I'm starting to come around to the way of thinking with permanent levels. It might work quite well if the best items are on the ground so grinding monsters isn't really that worth it.
          Much like my previous comment, I half-agree half-disagree. Non-permanent levels are IMAO a source of a lot of the problems of Angband, since they make scumming so much easier.

          And yet, it's another feature that seems iconic to me about this game. I play a number of Roguelikes, and most of the rest have permanent levels. So this is something that, to me, helps distinguish Angband from its competitors; part of its feel. I think this is also part of the problem I have with forced-descent; you lose that element of the game.

          Ultimately, of course, you have to go with what's best for gameplay and balance. But I don't think we should abandon this yet. Hell, in the last couple of days there have been several good ideas put forwards (e.g. diminishing returns from re-running levels, or monster threats based on both turncount and depth) that I feel are worth at least experimenting with first.

          Comment

          • Antoine
            Ironband/Quickband Maintainer
            • Nov 2007
            • 1010

            #35
            > the thing I am struggling most with is the "make it tight/disallow grinding" vs "let people do what they want" dichotomy.

            What do you think is the problem with the status quo?

            A.
            Ironband - http://angband.oook.cz/ironband/

            Comment

            • Nick
              Vanilla maintainer
              • Apr 2007
              • 9634

              #36
              Originally posted by Antoine
              What do you think is the problem with the status quo?
              Hey, I'm asking the questions!

              Seriously, I don't know. Maybe nothing. I haven't played 3.5-dev for about 6 months; I will certainly be waiting to see what people say about 3.5 proper when it comes out. I'm a bit reticent to say too much about what I'm planning because I'm not too sure and I might change my mind; suffice to say there will be cool stuff and everyone will be happy.
              One for the Dark Lord on his dark throne
              In the Land of Mordor where the Shadows lie.

              Comment

              • Antoine
                Ironband/Quickband Maintainer
                • Nov 2007
                • 1010

                #37
                Originally posted by Nick
                Hey, I'm asking the questions!

                Seriously, I don't know. Maybe nothing. I haven't played 3.5-dev for about 6 months; I will certainly be waiting to see what people say about 3.5 proper when it comes out. I'm a bit reticent to say too much about what I'm planning because I'm not too sure and I might change my mind; suffice to say there will be cool stuff and everyone will be happy.
                I suppose my view is that a slow grind should be the 'standard' way of playing V, and that forced diving should be an off-by-default option (or set of options). However, I think that relatively new players should be able to dive deep if they want to, and (with skill and luck) diving strategies should be rewarding.

                I don't think this is very far from the status quo of V.

                Some corollaries:
                • if the Borg can't routinely win V, there's something wrong
                • if players aren't posting spectacular speedruns, there's something wrong
                • it should be reasonably easy to find some way of descending - stairs, shafts or e.g. Deep Descent scrolls
                • the stealth minigame should be interesting


                A.
                Ironband - http://angband.oook.cz/ironband/

                Comment

                • Nick
                  Vanilla maintainer
                  • Apr 2007
                  • 9634

                  #38
                  Originally posted by Antoine
                  I think that relatively new players should be able to...
                  This raises a point - are there any, and if so where are they coming from? Why are they choosing Angband over other games? Might have to explore that.
                  One for the Dark Lord on his dark throne
                  In the Land of Mordor where the Shadows lie.

                  Comment

                  • LostTemplar
                    Knight
                    • Aug 2009
                    • 670

                    #39
                    This raises a point - are there any, and if so where are they coming from? Why are they choosing Angband over other games? Might have to explore that.
                    Maybe not so many new players theese days.

                    I have discovered Angband about 4 years ago, before that I mostly played Adom and Crawl, and won many (countless) times, and I never played either after the first time I played Angband. The main reason for this choice was freedom I have in Angband. More specifically the fact, that it is never too late to win. No matter what you do, if your character is alive you can still win with it (and it does not become harder to win, compared to a new character).

                    Second reason is that Adom in particular becomes super easy after a few wins, Andband does not, at least not so fast.

                    Comment

                    • wobbly
                      Prophet
                      • May 2012
                      • 2629

                      #40
                      Originally posted by Antoine
                      • if the Borg can't routinely win V, there's something wrong
                      I'm curious why you think that. To me that means I should be able to win with mechanical play, which doesn't sound particular fun.

                      Comment

                      • LostTemplar
                        Knight
                        • Aug 2009
                        • 670

                        #41
                        if the Borg can't routinely win V, there's something wrong
                        I like this too. It is tradition that winning an Angband is not an achivement, but fast winning is.

                        Comment

                        • Nomad
                          Knight
                          • Sep 2010
                          • 958

                          #42
                          Originally posted by LostTemplar
                          Maybe not so many new players theese days.

                          I have discovered Angband about 4 years ago, before that I mostly played Adom and Crawl, and won many (countless) times, and I never played either after the first time I played Angband. The main reason for this choice was freedom I have in Angband. More specifically the fact, that it is never too late to win. No matter what you do, if your character is alive you can still win with it (and it does not become harder to win, compared to a new character).

                          Second reason is that Adom in particular becomes super easy after a few wins, Andband does not, at least not so fast.
                          I'm not so new now (I came in around 3.1.2v2) but I came here after beating Nethack, for fairly similar reasons; not so much that it was easy to win repeatedly, but that it's dull to replay after the first win thanks to the fixed-layout special levels and predictable endgame kit. Angband has a lot of replayability due to A, randomized level layouts with no fixed branches to repeat and B, the large list of resistances/protections/immunities and the option to play with randarts, which mean many different possible equipment combinations instead of a fixed list of optimum gear.

                          Comment

                          • wobbly
                            Prophet
                            • May 2012
                            • 2629

                            #43
                            Originally posted by Nick
                            1. Winning should be unusual.
                            2. Winning should be guaranteed with ideal play.
                            I agree with others who have said this is a contradiction. I may be in a minority but I prefer the game to be challenging (most of the way through, not just overall) then to guarantee a win.

                            The trouble I find with guaranteeing a win is that it's very hard to do without guaranteed escape. Guaranteed escapes mean no feeling of danger or challenge if you play carefully.

                            I think if you ask an experienced player what their major cause of dying is, then the answer will be carelessness. Carelessness borne of a tedium of 99% of the time being completely safe, then quickly bashing buttons while not paying much attention. It's how I die. It's why I play the start of V over & over then quit halfway through because the current game has become boring.

                            Sorry if my post contains too much negativity but it is the major reason I rarely play V. I love so much about it. What frustrates me is challenge via tedium.

                            Edit: 2 examples of non-guaranteed escapes.

                            Sil: Few imperfect escapes (excange places, song of elbereth/lorien, sprinting etc.)
                            Tome 4: Escapes can be shut down (stuns, confusion etc.) but you can stack the deck with multiple escapes
                            Last edited by wobbly; November 14, 2013, 18:54.

                            Comment

                            • Starhawk
                              Adept
                              • Sep 2010
                              • 246

                              #44
                              Chiming in... I agree with the poster above. I beat Angband three times and left it late last year, solely because of the tedium. With guaranteed escapes and endless stair-scumming, it's mostly an exercise in concentration. Every character can win, IF you are paying attention.

                              That said, there's nothing WRONG with that.

                              If you implement a timer of any sort, you're moving Angband to be a more direct competitor with other games like Sil (timer = mindepth), ADOM (timer = death by mutation), and Crawl (timer = only so many permalevels to grind).

                              Is that what you want? Can you be competitive with those games? i.e. if you make Angband like those other games, will Angband be interesting in comparison? What will differentiate it?

                              Comment

                              • Blue Baron
                                Adept
                                • Apr 2011
                                • 103

                                #45
                                I don't know if this directly applies to the conversation, but a while back I wrote code to skip dungeon levels to help with testing.

                                It is from March 2012, so the diff cannot be directly applied, but it was:
                                Code:
                                commit 4088eba4f6f2cb961c707c607bb73c679d05e41c
                                Date:   Tue Mar 13 12:14:26 2012 -0400
                                
                                    First pass at skipping dungeon levels.
                                
                                diff --git a/src/cmd2.c b/src/cmd2.c
                                index e9c75a8..9f60bf9 100644
                                --- a/src/cmd2.c
                                +++ b/src/cmd2.c
                                @@ -62,7 +62,7 @@ void do_cmd_go_up(cmd_code code, cmd_arg args[])
                                        p_ptr->create_down_stair = TRUE;
                                 
                                        /* Change level */
                                -       dungeon_change_level(p_ptr->depth - 1);
                                +       dungeon_change_level(p_ptr->depth - level_change_step);
                                 }
                                 
                                 
                                @@ -89,7 +89,11 @@ void do_cmd_go_down(cmd_code code, cmd_arg args[])
                                        p_ptr->create_down_stair = FALSE;
                                 
                                        /* Change level */
                                -       dungeon_change_level(p_ptr->depth + 1);
                                +       if (p_ptr->depth == 0) {
                                +               dungeon_change_level(1);
                                +       } else {
                                +               dungeon_change_level(p_ptr->depth + level_change_step);
                                +       }
                                 }
                                 
                                 
                                diff --git a/src/dungeon.c b/src/dungeon.c
                                index dcb9271..5ef5322 100644
                                --- a/src/dungeon.c
                                +++ b/src/dungeon.c
                                @@ -39,6 +39,26 @@
                                  */
                                 void dungeon_change_level(int dlev)
                                 {
                                +       int i;
                                +
                                +       /* check for special levels */
                                +       if (dlev > p_ptr->depth) {
                                +               for (i = p_ptr->depth; i < dlev; i++) {
                                +                       if (is_quest(i)) break;
                                +                       if (i >= MAXDEPTH - 1) break;
                                +               }
                                +       } else {
                                +               for (i = p_ptr->depth-1; i > dlev; i--) {
                                +                       if (is_quest(i)) break;
                                +                       if (i <= 0) break;
                                +               }
                                +       }
                                +       dlev = i;
                                +
                                +       /* make sure dlev is in the valid range */
                                +       if (dlev < 0) dlev = 0;
                                +       if (dlev > MAXDEPTH - 1) dlev = MAXDEPTH - 1;
                                +
                                        /* New depth */
                                        p_ptr->depth = dlev;
                                 
                                diff --git a/src/effects.c b/src/effects.c
                                index 7a4d163..667e738 100644
                                --- a/src/effects.c
                                +++ b/src/effects.c
                                @@ -1930,7 +1930,7 @@ bool effect_do(effect_type effect, bool *ident, bool aware
                                                        }
                                                        wieldeds_notice_flag(p_ptr, OF_FEATHER);
                                 
                                -                       dungeon_change_level(p_ptr->depth + 1);
                                +                       dungeon_change_level(p_ptr->depth + level_change_step);
                                                        return TRUE;
                                                }
                                 
                                diff --git a/src/externs.h b/src/externs.h
                                index 65229b0..963b99e 100644
                                --- a/src/externs.h
                                +++ b/src/externs.h
                                @@ -54,6 +54,7 @@ extern u32b seed_flavor;
                                 extern u32b seed_town;
                                 extern s16b num_repro;
                                 extern s32b turn;
                                +extern byte level_change_step;
                                 extern int use_graphics;
                                 extern bool use_graphics_nice;
                                 extern s16b signal_count;
                                @@ -194,7 +195,7 @@ extern int int_to_roman(int n, char *roman, size_t bufsize);
                                 extern void flush(void);
                                 extern void flush_fail(void);
                                 extern struct keypress inkey(void);
                                -extern ui_event inkey_m(void);
                                +extern ui_event inkey_m(void);
                                 extern ui_event inkey_ex(void);
                                 extern void anykey(void);
                                 extern void bell(const char *reason);
                                diff --git a/src/variable.c b/src/variable.c
                                index c7af4ac..795b0ca 100644
                                --- a/src/variable.c
                                +++ b/src/variable.c
                                @@ -66,7 +66,10 @@ u32b seed_town;                      /* Hack -- consistent to
                                 
                                 s16b num_repro;                        /* Current reproducer count */
                                 
                                -s32b turn;                             /* Current game turn */
                                +s32b turn;                     /* Current game turn */
                                +
                                +byte level_change_step = 3;    /* how many levels to skip when going up or down
                                +/* should be moved to player_other struct */
                                 
                                 int use_graphics;              /* The "graphics" mode is enabled */
                                 bool use_graphics_nice;                /* The 'nice' "graphics" mode is enabled
                                In 3.4.1 I was using something different, with more checks. The part of do_cmd_go_down() was:
                                Code:
                                  /* change level */
                                  if (p_ptr->depth == 0) {
                                    dungeon_change_level(1);
                                  } else
                                  if (level_change_step > 1) {
                                    int i, target_depth = p_ptr->depth;
                                
                                    /* Calculate target_depth */
                                    for (i = level_change_step; i > 0; i--) {
                                      if (target_depth >= MAX_DEPTH-1) break;
                                      if (is_quest(++target_depth)) break;
                                    }
                                    dungeon_change_level(target_depth);
                                  } else {
                                    dungeon_change_level(p_ptr->depth + 1);
                                  }
                                with similar sections to do_cmd_go_up, the deep_decent section, and the trap door section. (The above was typed in, not copy/pasted, so there may be typos.)

                                For anti-grinding, something I considered in the past, and that I still want to try, is to just cache the last 4 dungeon levels visited, for short term persistent levels.
                                Last edited by Blue Baron; November 14, 2013, 20:50. Reason: removed email

                                Comment

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