[Z-] Good news and bad news

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Blue Baron
    Adept
    • Apr 2011
    • 103

    [Z-] Good news and bad news

    I guess the bad news first:
    I am unlikely to release the source.

    The good news:
    I wrote a graphical android front end for my personal fork of Z+Angband. I am using Z-Angband for it because when I first created the repository, github changed the + to -.

    There are still alot of issues with the port, but I don't have time to work on it anymore. However, I am making it available in case people want to try it. Currently, the android apk can be downloaded from dropbox at:
    *EDIT:link removed

    I have not put it on Google Play, because my account has commercial stuff on it, and Z(+-)Angband uses the Angband license.

    The source (except the src/platform/and directory) is on my github page at: https://github.com/blubaron/z-angband.

    Misc. points:
    The back button is used as ESC. On the main screen, the menu button will make the next press a right click (for context menus). On other screens, the menu button will bring up a keyboard. (to bring up the keyboard on the main screen go to the system menu -> other -> show keyboard)

    On most screens, where there is a text for a possible key command, you can press the text to send the keypress.

    By default the user directory is in /sdcard/Android/data/com.blubaron.android.z_angband/files/Z-Angband, but if /sdcard/Angband already exists, /sdcard/Angband/Z-Angband will be used as the user directory instead. Untested: if a lib directory exists in the user directory, it will be used instead of the internal lib directory.

    Added main screen buttons, but some of them are not in obvious places.
    Clicking on the top line shows the messages in reverse order.
    Clicking on search changes the search mode, clicking on study tries to study a book.
    Clicking on the place name/dungeon level shows the map. if the broad time of day is shown, clicking on it gives the detailed time of day.
    In the info panel, clicking on the equipment line shows the inventory.
    clicking the race to class title lines shows the character screen.
    Clicking the left side of the level to gold lines will use an item from inventory. Clicking the right side will cast magic if possible.
    Clicking the left side of the ac to sp lines will wield an item. Clicking the right side will take an item off.


    There are additional modes (swing and stealth) available through the toggle search key.

    Swing mode uses available blows to attack multiple adjacent enemies. warriors get bonus attacks, representing an extra length of swing.

    Stealth mode provide a 7% bonus to stealth when active. rangers get a 10% bonus and rogues get a 14% bonus. (+1 for rounding, approx +10%) to use.

    Press the toggle search button (shift-s) within 2 seconds of the previous press of the toggle search button. After two seconds, pressing it turns any mode off. The additional modes use the same speed penalty as search mode. (speed-10) (half with no speed bonus)

    High level rogues and rangers in stealth mode can push past sleeping monsters without attacking them or waking them up.

    There are several balance changes that make the game easier.

    There are a lot of issues with the port. Some of them are:
    No sound
    Need to restart the game after changing the font tile size.
    Too many presses needed to cast spells, since it is difficult to use macros/keymaps.
    By default each line of text is 1/10th of an inch, they can be hard to press without a stylus. (And mispresses can kill characters.)
    The help files have not been updated.
    The font image is from Dwarf Fortress.
    No key buttons in show_file() screens.
    Last edited by Blue Baron; June 29, 2013, 19:20.
  • ekolis
    Knight
    • Apr 2007
    • 921

    #2
    I have not put it on Google Play, because my account has commercial stuff on it, and Z(+-)Angband uses the Angband license.
    Does Google Play prevent you from using different licenses for different apps on your account? Or do you just not want your paying customers to see that you also do open source work?

    I am unlikely to release the source.
    You might want to check whether the Angband license permits distributing binaries without source...
    You read the scroll labeled NOBIMUS UPSCOTI...
    You are surrounded by a stasis field!
    The tengu tries to teleport, but fails!

    Comment

    • takkaria
      Veteran
      • Apr 2007
      • 1951

      #3
      Originally posted by ekolis
      You might want to check whether the Angband license permits distributing binaries without source...
      Sadly, it does. It's a crap licence anyway - it also doesn't explicitly allow modifications of the game, which is why moving to GPL was important.

      I'm pretty sad that the source isn't going to be released. I think this is a problem and a result I'm going to stop licensing my changes to Angband under the Angband licence - GPL or nothing.
      takkaria whispers something about options. -more-

      Comment

      • Blue Baron
        Adept
        • Apr 2011
        • 103

        #4
        Originally posted by ekolis
        Does Google Play prevent you from using different licenses for different apps on your account? Or do you just not want your paying customers to see that you also do open source work?
        Actually it's the opposite, its the Angband license that says "for educational, research, or not for profit purposes". Putting it on the same account would drive traffic to the commercial stuff which would indirectly be a for profit purpose. (I would actually like it because the commercial stuff is not doing well.)


        Originally posted by ekolis
        You might want to check whether the Angband license permits distributing binaries without source...
        As takkaria said, it does. Basically (to me), the Angband license is non-commercial open or closed source, and the GPL is commercial or non-commercial open source.

        Comment

        • Blue Baron
          Adept
          • Apr 2011
          • 103

          #5
          Originally posted by takkaria
          Sadly, it does. It's a crap licence anyway - it also doesn't explicitly allow modifications of the game, which is why moving to GPL was important.

          I'm pretty sad that the source isn't going to be released. I think this is a problem and a result I'm going to stop licensing my changes to Angband under the Angband licence - GPL or nothing.
          I wondered if I should have edited the original message to include "anytime soon". I guess I should have. There are some bad spots in the android code that I do not want to let anyone see. Until I fix them, I am not going to show the source to the android front end, but this (probably) will not happen for at least several months.

          However, since it works I thought the community might like to try it out. (and be able to play while waiting around while away from computers, like I do.)

          Anyways, I have removed the android package from my dropbox folder. (until I am ready for a "release", but that won't be for a long time (probably))

          Also, I thought the whole point of the dual license was so that those who need the angband license can use it. While all of my changes to Z+Angband are dual licensed, ZAngband, and presumably Mangojuice's changes, are Angband license.
          Last edited by Blue Baron; June 29, 2013, 19:10.

          Comment

          • ekolis
            Knight
            • Apr 2007
            • 921

            #6
            Originally posted by takkaria
            I'm pretty sad that the source isn't going to be released. I think this is a problem and a result I'm going to stop licensing my changes to Angband under the Angband licence - GPL or nothing.
            Wouldn't this prevent your changes to Angband from being included in, err, Angband, seeing as Angband + your changes could no longer be distributed under the Angband license? (I don't see the Angband license going away anytime soon...) And that kinda defeats the purpose of making changes to Angband... :P
            You read the scroll labeled NOBIMUS UPSCOTI...
            You are surrounded by a stasis field!
            The tengu tries to teleport, but fails!

            Comment

            • takkaria
              Veteran
              • Apr 2007
              • 1951

              #7
              Originally posted by ekolis
              Wouldn't this prevent your changes to Angband from being included in, err, Angband, seeing as Angband + your changes could no longer be distributed under the Angband license? (I don't see the Angband license going away anytime soon...) And that kinda defeats the purpose of making changes to Angband... :P
              Well, Angband could move to being just under the GPLv2. I haven't talked to the devteam about this yet though. I would be OK with people using my changes under a modified Angband licence that included a GPL-like clause about source code being available upon request. I'll think about this.

              And Blue Baron, sorry that my response was passive-aggressive; I should have asked questions before making unilateral declarations. I just care a lot that Angband (and variants) don't end up closed-source. The original authors and developers of ZAngband definitely wanted to move to the GPL and Steven Fuerst, in the last years he was involved with the game, was consciously moving towards that goal. Anyway, don't let my huffiness get in the way of your developing an interesting new frontend or other people trying it out.
              takkaria whispers something about options. -more-

              Comment

              • Blue Baron
                Adept
                • Apr 2011
                • 103

                #8
                Originally posted by takkaria
                The original authors and developers of ZAngband definitely wanted to move to the GPL and Steven Fuerst, in the last years he was involved with the game, was consciously moving towards that goal.
                However, the copyright notices in the files are just the Angband license. Would the dual license permissions for angband cover zangband? I hope so, even though around a third of the names on zangband.org are not in the license history list.

                hmm even then there is the stuff that was removed to make Angband GPLable. Like the X11 tile stuff. (In this specific case I could remove stuff to match what I wrote for Angband, which should be GPL clean, but I don't really like cutting off support for bmp files.)

                There are also functions like put_cstr(), which I use to embed 2d mouse buttons in the textui (like prompts), that I have not seen in the source of Angband or any other variant and do not know where it came form or who wrote it (hopefully Steven Fuerst, his initials are at the top of ui.c). (And would probably be considered a step backwards if it was in Angband. (I am guessing it is not used in Angband or any other variant for a reason.))

                It seems the simplest option is to not make the android package available until I am ready to show all of the code.

                Comment

                • takkaria
                  Veteran
                  • Apr 2007
                  • 1951

                  #9
                  Originally posted by Blue Baron
                  However, the copyright notices in the files are just the Angband license. Would the dual license permissions for angband cover zangband? I hope so, even though around a third of the names on zangband.org are not in the license history list.

                  hmm even then there is the stuff that was removed to make Angband GPLable. Like the X11 tile stuff. (In this specific case I could remove stuff to match what I wrote for Angband, which should be GPL clean, but I don't really like cutting off support for bmp files.)

                  There are also functions like put_cstr(), which I use to embed 2d mouse buttons in the textui (like prompts), that I have not seen in the source of Angband or any other variant and do not know where it came form or who wrote it (hopefully Steven Fuerst, his initials are at the top of ui.c). (And would probably be considered a step backwards if it was in Angband. (I am guessing it is not used in Angband or any other variant for a reason.))

                  It seems the simplest option is to not make the android package available until I am ready to show all of the code.
                  Yeah, the GPL permissions are granted for Angband + variants. ui.c is all sfuerst's and so dual-licenced. He did lots of large rewrites of code in Zangband that prefigured a lot of what happened in Angband, too.
                  takkaria whispers something about options. -more-

                  Comment

                  • ekolis
                    Knight
                    • Apr 2007
                    • 921

                    #10
                    Originally posted by takkaria
                    Yeah, the GPL permissions are granted for Angband + variants. ui.c is all sfuerst's and so dual-licenced. He did lots of large rewrites of code in Zangband that prefigured a lot of what happened in Angband, too.
                    So if the GPL applies to ZAngband, why does it not also apply to Z-Angband's Android code?
                    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

                      #11
                      I'm not a lawyer, but I believe the system here is that when you have two licenses that both apply, the distributor is allowed to use the rules of whichever license is more permissive. Having code under both the Angband and GPL licenses together is a bit pointless except that once all of the code is under the GPL license, we can stop using the GPL license altogether. The problem is that we have to get the permission of prior contributors before we can change the license used on their bit of the code. Or else rewrite that code under the GPL -- but of course without directly copying it!

                      Comment

                      • takkaria
                        Veteran
                        • Apr 2007
                        • 1951

                        #12
                        Originally posted by ekolis
                        So if the GPL applies to ZAngband, why does it not also apply to Z-Angband's Android code?
                        For V, there are two licences in which you are given permission to use the game; the GPL and the Angband licence. It's dual-licenced in the sense that you can choose what licence to use, not in the sense that both licences apply at the same time.

                        Does that make sense?
                        takkaria whispers something about options. -more-

                        Comment

                        • ekolis
                          Knight
                          • Apr 2007
                          • 921

                          #13
                          Originally posted by takkaria
                          For V, there are two licences in which you are given permission to use the game; the GPL and the Angband licence. It's dual-licenced in the sense that you can choose what licence to use, not in the sense that both licences apply at the same time.

                          Does that make sense?
                          Oh, right, I forgot about that...
                          You read the scroll labeled NOBIMUS UPSCOTI...
                          You are surrounded by a stasis field!
                          The tengu tries to teleport, but fails!

                          Comment

                          • john
                            Rookie
                            • Jul 2013
                            • 2

                            #14
                            I dont think you can say that Zangband was released under a dual licence. Its correct that we were very keen to switch to the GPL but there were a number of issues at the time that we could not resolve -- pimarily we needed permission from the original author of Rogue. We would have also needed permission from a number of the original Angband authors from back at the University of Warwick (I was there when it was first released to the world although as a player not a coder) and from all prior maintainers of Vanilla (Ben was supportive iirc).

                            Individual pieces of code that the DevTeam wrote from scratch could be available under a dual licence but all legacy code can only be under the original Angband license. Based on my recollection, that still comprised a fairly significant portion of the game's core engine even for 2.7.5r1. Even if you did a full-rewrite a lawyer could spit you over the concepts, game play mechanics, names and a whole host of other things. I would be interested to find out how Vamilla now claims to be dual licensed.

                            Comment

                            • Nick
                              Vanilla maintainer
                              • Apr 2007
                              • 9637

                              #15
                              Originally posted by john
                              I would be interested to find out how Vamilla now claims to be dual licensed.
                              See here for a history.
                              One for the Dark Lord on his dark throne
                              In the Land of Mordor where the Shadows lie.

                              Comment

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