Variant Project

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9634

    Variant Project

    Wouldn't it be good if all variants had the latest UI and were available in the same place? See here for some vague musings on the topic.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.
  • Sirridan
    Knight
    • May 2009
    • 560

    #2
    I really like the idea, so potentially even variants that fall out of maintenance will still be "currentish"

    Comment

    • d_m
      Angband Devteam member
      • Aug 2008
      • 1517

      #3
      Originally posted by Sirridan
      I really like the idea, so potentially even variants that fall out of maintenance will still be "currentish"
      That might be true, although a completely unmaintained variant probably won't.

      I think the idea is to make it really easy to share some of the new features (Nintendo DS support, menu scrolling code, new ncurses features, better colors, etc) between maintained variants (including Vanilla).

      I imagine this would help someone update variants with a minimum of work, so that someone who doesn't really want to spend much time on X variant can still keep it current.

      P.S. Nick, I responded on your blog also!
      linux->xterm->screen->pmacs

      Comment

      • ekolis
        Knight
        • Apr 2007
        • 921

        #4
        d_m, your reply to Nick's blog post sparked something in my head... "abstract stuff out"? Why not upgrade to C++, if making such a radical change in the architecture to begin with?
        You read the scroll labeled NOBIMUS UPSCOTI...
        You are surrounded by a stasis field!
        The tengu tries to teleport, but fails!

        Comment

        • Derakon
          Prophet
          • Dec 2009
          • 9022

          #5
          C++, hell, take the Python version that Blengband is creating and make it the standard. It's not like Angband needs to be performance-optimized any more.

          Comment

          • Nick
            Vanilla maintainer
            • Apr 2007
            • 9634

            #6
            Originally posted by ekolis
            d_m, your reply to Nick's blog post sparked something in my head... "abstract stuff out"? Why not upgrade to C++, if making such a radical change in the architecture to begin with?
            On a personal level, because I don't know crap about C++
            One for the Dark Lord on his dark throne
            In the Land of Mordor where the Shadows lie.

            Comment

            • ekolis
              Knight
              • Apr 2007
              • 921

              #7
              Neither do I If it were up to me, everything would be written in C# :P
              You read the scroll labeled NOBIMUS UPSCOTI...
              You are surrounded by a stasis field!
              The tengu tries to teleport, but fails!

              Comment

              • Therem Harth
                Knight
                • Jan 2008
                • 926

                #8
                I'd say no to that, as I'd rather not see Angband get embroiled in Microsoft software patent disputes.

                Java might be nice, especially in view of Android being based on it... However Java for desktops is slooooowwww. Oh sure, the actual code may run faster than compiled C, but the JVM is seriously huge. It is absolute overkill for a text based game.

                And languages like Python, while they may be cross-platform, are not really cross-platform enough for many Windows users.

                That being said, I can think of very good reasons to switch to something other than C. Especially for anyone writing a multiplayer network version. *cough*bufferoverflow*cough*

                Comment

                • Derakon
                  Prophet
                  • Dec 2009
                  • 9022

                  #9
                  Originally posted by Therem Harth
                  And languages like Python, while they may be cross-platform, are not really cross-platform enough for many Windows users.
                  What does this mean? My day job is Python development for a Windows platform. The interpreter installs trivially as do the vast majority of third-party libraries. If you want something to hand to other users, py2exe makes standalone executables just fine.

                  Comment

                  • Therem Harth
                    Knight
                    • Jan 2008
                    • 926

                    #10
                    Originally posted by Derakon
                    What does this mean? My day job is Python development for a Windows platform. The interpreter installs trivially as do the vast majority of third-party libraries. If you want something to hand to other users, py2exe makes standalone executables just fine.
                    Oh... I hadn't heard of py2exe. Scratch what I said then.

                    Comment

                    • d_m
                      Angband Devteam member
                      • Aug 2008
                      • 1517

                      #11
                      To be perfectly honest, I've started a straight port of Angband to Python before. It's not hard so much as really time consuming and boring (Angband is around 150,000 lines of C). Also once you're rewriting Angband the temptation to drastically improve on it is hard to resist.

                      I think moving toward a "more modern" language would obviously aid future development. Although at that point only future Angband variants (or those which were rewritten in language X) would even benefit. So in the short term it wouldn't address Nick's concern at all.

                      I think this exposes an existing tension in the Angband Vanilla/Variant ecosystem.
                      linux->xterm->screen->pmacs

                      Comment

                      • Nick
                        Vanilla maintainer
                        • Apr 2007
                        • 9634

                        #12
                        Originally posted by d_m
                        I think moving toward a "more modern" language would obviously aid future development. Although at that point only future Angband variants (or those which were rewritten in language X) would even benefit. So in the short term it wouldn't address Nick's concern at all.
                        Yeah, I'm very much looking at something evolutionary, and easy.

                        I think this exposes an existing tension in the Angband Vanilla/Variant ecosystem.
                        Yes indeed, but often the tension is a good thing. The last thing I would want to see is all the variants becoming a bland mush - I'm trying to focus on features that are just an annoyance if you don't have them, rather than being part of the feel of the individual variant.
                        One for the Dark Lord on his dark throne
                        In the Land of Mordor where the Shadows lie.

                        Comment

                        • d_m
                          Angband Devteam member
                          • Aug 2008
                          • 1517

                          #13
                          Originally posted by Nick
                          Yes indeed, but often the tension is a good thing. The last thing I would want to see is all the variants becoming a bland mush - I'm trying to focus on features that are just an annoyance if you don't have them, rather than being part of the feel of the individual variant.
                          So are you imagining FA/O as being the base for this? Are there any major UI features V or other variants have that you'd want? Would this start as a term-XXX.c standardization?

                          I feel like the term-XXX files are currently the easiest to port, and what is really needed is a level of abstraction that V doesn't currently have (a way to effectively wrap all the term_out() calls and so forth). Maybe FA has this?

                          EDIT: I also worry about the discussion bifurcation that your blog is causing
                          linux->xterm->screen->pmacs

                          Comment

                          • Nick
                            Vanilla maintainer
                            • Apr 2007
                            • 9634

                            #14
                            Originally posted by d_m
                            So are you imagining FA/O as being the base for this? Are there any major UI features V or other variants have that you'd want? Would this start as a term-XXX.c standardization?

                            I feel like the term-XXX files are currently the easiest to port, and what is really needed is a level of abstraction that V doesn't currently have (a way to effectively wrap all the term_out() calls and so forth). Maybe FA has this?
                            Probably, yes, yes, not really. I have updated the FA low-level code to the latest (or at least a recent) version of V two or three times; Jeff is currently going through the same thing for NPP. At the moment a number of things in V are more advanced than FA, and there are several things which are better (or at least different - opinions may vary ) in FA than V. My thought is that the simplest thing is to start with FA and see what evolves - with the first thing to do being to align with V as much as possible.

                            I'm actually fairly happy with the main-xxx files as they are - although I think there's a whole nother conversation to have about what OSs we need ports for.

                            I also worry about the discussion bifurcation that your blog is causing
                            Yes. I started the blog because I didn't want to rabbit on here too much about peripheral stuff, but I don't know how good an idea it was really.
                            One for the Dark Lord on his dark throne
                            In the Land of Mordor where the Shadows lie.

                            Comment

                            • d_m
                              Angband Devteam member
                              • Aug 2008
                              • 1517

                              #15
                              Originally posted by Nick
                              At the moment a number of things in V are more advanced than FA, and there are several things which are better (or at least different - opinions may vary ) in FA than V.
                              I seem to recall that you have solved the "description too long to fit in an 80x24 terminal without scrolling" problem in a way that V should adopt.

                              Definitely let me know if you make progress on this idea, have patches you'd like committed to V to help align it better, or have specific suggestions on what to change. My time to work on Angband is somewhat sporadic but I'm definitely interested.
                              linux->xterm->screen->pmacs

                              Comment

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