Help me make my new variant! (please!)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • will_asher
    DaJAngband Maintainer
    • Apr 2007
    • 1124

    Help me make my new variant! (please!)

    So, I'm looking into making a new variant since I just came back to Angband, and I always think the most fun thing to do with a game is tweak it, tinker with it, tamper with it, customize it, alter it, twist it, slime it, and otherwise modify it. But I'm going to need some help because I am much more of a hack than an actual coder/programmer, so this thread is where I'll ask questions.

    First, is the "angband_visual_studio_step_by_step" file updated and current? (It doesn't seem like it...)
    I've only used two compilers before. One is Visual Studio, and I don't remember what other was, but it's old, probably obsolete, and anyway it isn't one of the options listed in the compiling instructions here:



    I just downloaded Visual Studio and it's changed a bit since I last used it too. When you bring up the list of languages, it lists C# and C++, but not C. Do I need to use an older version of Visual Studio? Or is C pretty much included under C++?

    PS: Should this go here or in the variants subforum?
    Last edited by will_asher; March 3, 2021, 07:19.
    Will_Asher
    aka LibraryAdventurer

    My old variant DaJAngband:
    http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)
  • Pete Mack
    Prophet
    • Apr 2007
    • 6883

    #2
    Sort of. You will end up with mangled symbols, but so long as its entirely compiled in C++ and doesn't rely on C libraries, it'll run. You may need a few extern C declarations. The trouble is it's hard to maintain back compatibility.
    Gcc is not hard to use. And there is a graphical debugger. The trouble is it doesn't include an IDE.

    Comment

    • backwardsEric
      Knight
      • Aug 2019
      • 531

      #3
      Originally posted by will_asher
      First, is the "angband_visual_studio_step_by_step" file updated and current? (It doesn't seem like it...)
      I've only used two compilers before. One is Visual Studio, and I don't remember what other was, but it's old, probably obsolete, and anyway it isn't one of the options listed in the compiling instructions here:

      Last fall, someone tried to follow those step-by-step instructions. The discussion that resulted starts with this post . The documentation was updated a bit and the source can be found on the GitHub site. There was still some questions about what to use for the locale and encoding of source code character strings and that's an open issue on the GitHub site.

      Comment

      • will_asher
        DaJAngband Maintainer
        • Apr 2007
        • 1124

        #4
        Originally posted by backwardsEric
        Last fall, someone tried to follow those step-by-step instructions. The discussion that resulted starts with this post . The documentation was updated a bit and the source can be found on the GitHub site. There was still some questions about what to use for the locale and encoding of source code character strings and that's an open issue on the GitHub site.
        okay, I'll make sure I follow the compiling instructions you linked to, to make sure I have the recent update of them.

        Originally posted by Pete Mack
        Sort of. You will end up with mangled symbols, but so long as its entirely compiled in C++ and doesn't rely on C libraries, it'll run. You may need a few extern C declarations. The trouble is it's hard to maintain back compatibility.
        Gcc is not hard to use. And there is a graphical debugger. The trouble is it doesn't include an IDE.
        What's an IDE?
        So Gcc is another compiler? There's no instructions for compiling with it on the manual here: https://angband.readthedocs.io/en/la...compiling.html
        Do you think Gcc would be easier than using Visual Studio (even though Visual Studio is the only one I've used before)?
        Will_Asher
        aka LibraryAdventurer

        My old variant DaJAngband:
        http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)

        Comment

        • backwardsEric
          Knight
          • Aug 2019
          • 531

          #5
          Originally posted by will_asher
          okay, I'll make sure I follow the compiling instructions you linked to, to make sure I have the recent update of them.
          Eastwind921 contributed instructions and project files for Visual Studio 2019, so that's an alternative to the step-by-step instructions mentioned in the documentation. Those instructions and project files are in src/win/vs2019. It's possible that the list of files within the project files is somewhat out-of-date for 4.2.1.

          Originally posted by will_asher
          What's an IDE?
          So Gcc is another compiler? There's no instructions for compiling with it on the manual here: https://angband.readthedocs.io/en/la...compiling.html
          Do you think Gcc would be easier than using Visual Studio (even though Visual Studio is the only one I've used before)?
          IDE is an integrated development environment, usually providing access to an editor, a compiler, a debugger, and other tools in the same interface. Visual Studio is an IDE.

          Yes, gcc is another compiler, usually used on Linux or Unix systems. For Windows, one would likely use MinGW port of gcc. The basic instructions for using that to compile Angband are in this part of the documentation . Pete Mack or someone else can chime in about what's easier to use, though the answer will likely depend on what you're used to.

          Comment

          • will_asher
            DaJAngband Maintainer
            • Apr 2007
            • 1124

            #6
            Originally posted by backwardsEric
            Eastwind921 contributed instructions and project files for Visual Studio 2019, so that's an alternative to the step-by-step instructions mentioned in the documentation. Those instructions and project files are in src/win/vs2019. It's possible that the list of files within the project files is somewhat out-of-date for 4.2.1.
            Thanks, I'll look for that.

            Originally posted by backwardsEric
            IDE is an integrated development environment, usually providing access to an editor, a compiler, a debugger, and other tools in the same interface. Visual Studio is an IDE.

            Yes, gcc is another compiler, usually used on Linux or Unix systems. For Windows, one would likely use MinGW port of gcc. The basic instructions for using that to compile Angband are in this part of the documentation . Pete Mack or someone else can chime in about what's easier to use, though the answer will likely depend on what you're used to.
            Well, I'm going to need an IDE for making a variant, so gcc isn't going to work for this.
            Will_Asher
            aka LibraryAdventurer

            My old variant DaJAngband:
            http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)

            Comment

            • Pete Mack
              Prophet
              • Apr 2007
              • 6883

              #7
              You still can create C projects in VS2019.
              Intelligent search from Bing makes it easier to quickly find what you’re looking for and rewards you.

              Comment

              • will_asher
                DaJAngband Maintainer
                • Apr 2007
                • 1124

                #8
                Originally posted by Pete Mack
                You still can create C projects in VS2019.
                https://www.bing.com/videos/search?q...ram+in+vs+2019
                Thanks. that'll help

                (now why didn't I think of doing a search for it?)
                Will_Asher
                aka LibraryAdventurer

                My old variant DaJAngband:
                http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)

                Comment

                • Pete Mack
                  Prophet
                  • Apr 2007
                  • 6883

                  #9
                  I found your assertion highly improbable because I know MS still writes kernel code, and kernel adjacent code like device drivers, in C. C++ is just not a good language for this kind of thing. There are managed code kernels, but the languages are really crazy.

                  Comment

                  • Tibarius
                    Swordsman
                    • Jun 2011
                    • 429

                    #10
                    variant creation

                    1. I would like to point out that it would be much better if variants could be created by using a text editor just modifying setup files. Unluckily the latest developments were a step back in this question. The new book shop code was hardcoded instead to use configuration files.

                    2. You don't need an IDE. I come along quite fine with notepad++ as texteditor (windows system) and using a c++ compiler to create executabels. The advantage of notepad++ is, it is fast, handles different encoding standards and is easy to use while offering almost everything one can think of in form of customization.
                    Blondes are more fun!

                    Comment

                    • will_asher
                      DaJAngband Maintainer
                      • Apr 2007
                      • 1124

                      #11
                      Originally posted by Tibarius
                      1. I would like to point out that it would be much better if variants could be created by using a text editor just modifying setup files. Unluckily the latest developments were a step back in this question. The new book shop code was hardcoded instead to use configuration files.
                      I don't really think this is practical. I think no matter how much stuff you put into the text files, there's nearly always going to be changes a variant maker is going to want to make that requires going into the code.

                      Originally posted by Tibarius
                      2. You don't need an IDE. I come along quite fine with notepad++ as texteditor (windows system) and using a c++ compiler to create executables. The advantage of notepad++ is, it is fast, handles different encoding standards and is easy to use while offering almost everything one can think of in form of customization.
                      An IDE makes it much easier. Among other things, being able to search the whole codebase at once for something is very important to me.

                      I'm happy that monster.txt doesn't go by numbers anymore, but an unfortunate side effect of that is just changing the name of one monster breaks savefiles (and tiles).
                      Last edited by will_asher; March 10, 2021, 06:03.
                      Will_Asher
                      aka LibraryAdventurer

                      My old variant DaJAngband:
                      http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)

                      Comment

                      • wobbly
                        Prophet
                        • May 2012
                        • 2633

                        #12
                        Originally posted by will_asher
                        I don't really think this is practical. I think no matter how much stuff you put into the text files, there's nearly always going to be changes a variant maker is going to want to make that requires going into the code.


                        An IDE makes it much easier. Among other things, being about to search the whole codebase at once for something is very important to me.
                        You can actually still do that in notepad++ but at the end of the day it makes sense to use whatever works for you.

                        I remember Dajangband being fun the few times I played. Good luck

                        Comment

                        • will_asher
                          DaJAngband Maintainer
                          • Apr 2007
                          • 1124

                          #13
                          Originally posted by wobbly
                          You can actually still do that in notepad++ but at the end of the day it makes sense to use whatever works for you.

                          I remember Dajangband being fun the few times I played. Good luck
                          Thanks.
                          It's always nice to hear of someone who's played DaJAngband and liked it.
                          Will_Asher
                          aka LibraryAdventurer

                          My old variant DaJAngband:
                          http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)

                          Comment

                          • will_asher
                            DaJAngband Maintainer
                            • Apr 2007
                            • 1124

                            #14
                            I'm thinking about actually getting around to compile Angband and start looking at the code (I've been going through monster.txt -I forgot how time consuming that can be).
                            @Pete, I've noticed you reporting a few bugs since the latest release. Would you recommend waiting until more bugs are fixed in V before I fork and start hacking my variant? (I'm not in a rush to get to the code. I'm still not quite halfway through my modding of monster.txt) Basically, how common/serious are the bugs you've noticed in the current version?
                            Will_Asher
                            aka LibraryAdventurer

                            My old variant DaJAngband:
                            http://sites.google.com/site/dajangbandwebsite/home (defunct and so old it's forked from Angband 3.1.0 -I think- but it's probably playable...)

                            Comment

                            • Pete Mack
                              Prophet
                              • Apr 2007
                              • 6883

                              #15
                              No major bugs, and certainly no issue at all if you branch from V in Github--which i *strongly* recommend, or you will be patching V bugs essentially by yourself. You probably do want to branch from the next official release, though, when any changes to spells have been finalized.

                              Comment

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