Angband Java port

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zaimoni
    Knight
    • Apr 2007
    • 590

    #16
    Originally posted by Zero
    ... But, I really hope you're not thinking of line-by-line translating the existing C code.
    Agreed. z-virt.h/c will have to be completely ditched (automatic memory management and stronger typing pretty much makes everything there outright impossible to translate), and I think ditching z-file.h/c is also a good idea for a Java port.

    Anything that goes through format strings is also going to need a moderate rewrite.
    Zaiband: end the "I shouldn't have survived that" experience. V3.0.6 fork on Hg.
    Zaiband 3.0.10 ETA Mar. 7 2011 (Yes, schedule slipped. Latest testing indicates not enough assert() calls to allow release.)
    Z.C++: pre-alpha C/C++ compiler system (usable preprocessor). Also on Hg. Z.C++ 0.0.10 ETA December 31 2011

    Comment

    • takkaria
      Veteran
      • Apr 2007
      • 1951

      #17
      (OT) Princess Bride references

      Originally posted by Nick
      Rewriting Angband in a different language is kind of like entering the Paths of the Dead - you'll be constantly stepping over the skeletons of those who went before you. Or the Fire Swamp. It's not that you can't get through, it's just that no-one ever has.
      I think of all the amusing replies you've made to people, the Princess Bride has been the most-referenced. Good taste.
      takkaria whispers something about options. -more-

      Comment

      • strangeintp
        Rookie
        • Jan 2008
        • 13

        #18
        Originally posted by Zero
        I definitely understand what you're saying about not changing the gameplay until you get something out the door that works. But, I really hope you're not thinking of line-by-line translating the existing C code.
        haha, egads no! That would be an impractical and pointless task. The existing code *will* be used to translate the gameplay features. Calculating the success of disarming a trap, for instance.

        Originally posted by Zero
        Having overall _gameplay_ that is the same as Angband or very close to it would be ideal, but I'd suggest designing the program from scratch. Come up with a list of classes, and describe in English what each of their members and methods would do. I wouldn't even write a single line of code until the design is finished.
        bah! design... psh! Actually, design is a good thing. Unfortunately I'm not familiar enough with the tools and such to get all that done *before* starting code. However, Javadoc is a pretty durn good alternative! I basically find that by the time I finish a more formalized design as you describe I could have written a skeleton design with stub classes and decent Javadoc that accomplishes the same thing.

        Originally posted by Zero
        For a C program, yes. Writing the game in Java would improve these tremendously, though. I still haven't been able to get Angband to compile, even following the detailed list of instructions Doull provided. But I can take Java code from anywhere and get it to run easily.

        The easier it is to modify Angband, the more interest people will have in doing so.
        full agreement

        Comment

        • K.I.L.E.R
          Apprentice
          • May 2007
          • 56

          #19
          I find it strange no one has offered to write Angband in x86_64 ASM.

          Comment

          • Pete Mack
            Prophet
            • Apr 2007
            • 6883

            #20
            Are you talking about a full java rewrite, or main-jni.c?

            A full rewrite (and re-architecture) is probably a brutal job. It took more than 1 person to write the original Angband, and I don't see it being that much easier to rewrite it in java. But I can imagine that it might be useful to write a thin java layer like main-win.c--say main-jni.c--to transport between the program and the terminal stuff, and then write the actual UI (input, display, and startup) in java.

            Since nearly all the effort in writing a new port is the main-xxx.c code, this would make the existing code a lot more portable for any platform that supports java and gcc.

            Comment

            • TricksterWolf
              Scout
              • Sep 2012
              • 43

              #21
              Just so y'all know... I'm doing this now, too.

              Or, rather, I'm writing a roguelike that is Angband-inspired from scratch in Java. It'll be heavily themed, but designed for easy modification by others.

              Originally I was just going to compile vanilla and modify it to make a variant, but I'd really like to start from scratch and see what I can come up with. It won't be identical to Angband: it will be tile-based, commands will be simpler, etc., but I hope to closely capture the experience of the 'band class of games, while providing an easier framework for expansion and modification; both for non-programmers and implementers alike.

              I probably won't be able to put time into it until January, but it'll be pretty high on the queue once 2013 rolls around.

              Comment

              • Derakon
                Prophet
                • Dec 2009
                • 9022

                #22
                Wow, it's been four years since this thread was started.

                Just so you know, I've started a similar project, only in Python. There's a bunch of threads about it in the Variants section. If nothing else, you might want to check out the object model; I really think it's the best way to go for this kind of thing as it's readily extensible while still making it easy to find the objects you need.

                Comment

                • PowerWyrm
                  Prophet
                  • Apr 2008
                  • 2986

                  #23
                  FYI: http://sourceforge.net/projects/javamangband/

                  This is the client part of MAngband, written in java. You could have a look at that.
                  PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!

                  Comment

                  • TricksterWolf
                    Scout
                    • Sep 2012
                    • 43

                    #24
                    Originally posted by PowerWyrm
                    FYI: http://sourceforge.net/projects/javamangband/

                    This is the client part of MAngband, written in java. You could have a look at that.
                    I'd love to, were only the source code available! I might have to try to contact the author later, if they left information up.

                    Comment

                    • TricksterWolf
                      Scout
                      • Sep 2012
                      • 43

                      #25
                      Ah, scratch that. I see the source now...still not used to the new style for Sourceforge as it's been a very long time since I used it. :P

                      Comment

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