[Announce] Cthangband 6.2.0 Release

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Dean Anderson
    Adept
    • Nov 2009
    • 193

    [Announce] Cthangband 6.2.0 Release

    That's right. It's time for a new Cthangband.

    This is only a minor release in terms of gameplay changes, but it feels a lot more like a major release because of the large amounts of internal refactoring (I'm still steadily converting it from a procedural program to an object oriented program) and the graphical changes.

    The other large change is that I've written somewhere around 30,000 words of documentation that I've included in the game via and HTML viewer - because I'm aware that people were getting confused by some of the systems that work differently in Cthangband to vanilla Angband now that the two have drifted so far apart.
    • Replaced old plasma-based terrain generation with a Perlin Noise based one for a more realistic island.
    • Flavoured items now have their true appearance even when unidentified.
    • New town layouts to give towns more personality.
    • Added an “Other” gender for those who want it (or those playing sexless golems).
    • A metric ton more internal code refactoring.
    • New animation system for spells and similar effects.
    • Lighting and line-of-sight is now visible on more than just basic walls and floors.
    • “Organic” cavern levels added (using the same Perlin Noise algorithm as the new terrain).
    • New in-game “Cthangpedia” documentation added.
    • High Score Table is now versioned, so you’re only comparing scores with characters who have had the same game experience as you.
    • When choosing to re-use a character, the character gains a generation after their name (which is displayed on the high score table, save game preview, and gravestone). For example, “Bob”, “Bob II”, “Bob III”, “Bob IV”…
    • Recovery rate is now properly shown as a multiplier on the character sheet, rather than a misleading “Regen” bonus, since it does not actually affect health regeneration; only poison/stun/bleeding recovery rate.
    • Fixed occasional crash where the game would try to delete a non-existent monster.
    • Chests are now included in the Journal’s “Worthless Items” section.
    • Fixed bug where examining a disarmed but still locked chest would cause a crash.
    • Fixed Journal’s monster list so it doesn’t skip monsters when browsing backwards.
    • Reverted to classic speed system.
    • Fixed bug where fixed-quest uniques could sometimes appear outside their designated level.
    • Journal’s pet list now identifies what your pets are even if you’ve not seen them.
    • Fixed bug where unusual key combinations (e.g. Alt+Numpad2) could sometimes cause a crash.
    • Removed the (albeit very remote) possibility of getting an offensive name for a random artifact or an offensively shaped vault.
    • Doubled the size of the colour palette.
    • Changed the colour and/or character of over two hundred monster types to reduce ambiguity (fewer monsters now look identical); particularly Lovecraftian creatures, which have been mostly moved to the new characters of ‘A’ (for ‘Abomination’) for the races and ‘X’ (for ‘Extradimensional Entity’) for the unique Great Old Ones and Outer Gods.
    • Glyph of Warding changed to Elder Sign
    • Explosive Rune changed to Yellow Sign
    • Recoloured a large number of items and dungeon features to take advantage of the new colours and enhanced lighting.
    • Tunneling through trees no longer gives a confusing message about walls.
    • Corrected cost/level of Chaos Bolt spell for Cultists.


    Oh - and I suppose a link would be handy, wouldn't it...

    Download Cthangband 6.2 here.

    (Remember, this is now a native Windows game written in C# - so if you're not running Windows then I'm afraid you're out of luck. It requires the .NET Framework 4.5.2, but that should already be pre-installed on the vast majority of Windows machines. If you've got one of the rare machines on which it isn't already present, you can download it from Microsoft here.)
  • getter77
    Adept
    • Dec 2009
    • 242

    #2
    Always good to see another robust update---keep at the fine work.

    Comment

    • HugoVirtuoso
      Veteran
      • Jan 2012
      • 1237

      #3
      Any reason why is this is Windows only? I would hope to get this to run on Linux someday
      My best try at PosChengband 7.0.0's nightmare-mode on Angband.live:
      https://www.youtube.com/watch?v=rwAR0WOphUA

      If I'm offline I'm probably in the middle of maintaining Gentoo or something-Linux or other.

      As of February 18th, 2022, my YouTube username is MidgardVirtuoso

      Comment

      • Dean Anderson
        Adept
        • Nov 2009
        • 193

        #4
        The reason it's Windows only is because it's written in C# and uses the WPF Framework for display. The WPF Framework, as far as I know, is not available on any other .NET implementation (e.g. Mono).

        Comment

        • Aszazin
          Scout
          • Jun 2018
          • 36

          #5
          I just started the game, wanted to buy a cloak, but instead I bought 16. Wanted to sell them back and needed to sold them all.

          Am I missing something, or is there something wrong?

          Comment

          • Dean Anderson
            Adept
            • Nov 2009
            • 193

            #6
            Originally posted by Aszazin
            I just started the game, wanted to buy a cloak, but instead I bought 16. Wanted to sell them back and needed to sold them all.

            Am I missing something, or is there something wrong?
            I can't reproduce any problem with buying things. It gives you the choice of how many to buy, from one to the whole stack, and that choice defaults to only buying one unless you change it.

            It looks like there might be a problem with selling, though. It's supposed to give you a choice of how many to sell, similar to buying, except defaulting to all instead of defaulting to one. It looks like for some reason the latest version is skipping that choice and just automatically selling a whole stack of similar items.

            There's a simple work-around if you want to sell a partial stack. Drop the part of the stack you want to keep outside the shop, then go in and sell the remainder. Entering a shop and leaving it again doesn't regenerate the whole level, and only takes a single turn, so the item or items you left outside won't disappear (although you may want to get rid of any nearby townspeople just in case).

            Comment

            • Aszazin
              Scout
              • Jun 2018
              • 36

              #7
              Originally posted by Dean Anderson
              I can't reproduce any problem with buying things. It gives you the choice of how many to buy, from one to the whole stack, and that choice defaults to only buying one unless you change it.
              I can't reproduce it either... now it just works as I'm used to... don't know what happened the previous time...

              Comment

              • Aszazin
                Scout
                • Jun 2018
                • 36

                #8
                With me, the shift+direction doesn't activate run. I need to use "." and then the direction.
                (hope you can reproduce it this time!)

                edit: I just notice this: h = help / H = how you feel (the key help tells you the other way around)
                Last edited by Aszazin; January 2, 2020, 23:40.

                Comment

                • Dean Anderson
                  Adept
                  • Nov 2009
                  • 193

                  #9
                  Originally posted by Aszazin
                  I can't reproduce it either... now it just works as I'm used to... don't know what happened the previous time...
                  I was going to suggest that you might have pressed return twice by accident and missed the prompt for the number to buy, but that would have resulted in you buying one rather than sixteen.

                  Originally posted by Aszazin
                  With me, the shift+direction doesn't activate run. I need to use "." and then the direction.
                  (hope you can reproduce it this time!)
                  Ah - I think that the fix I put in to discard non-ASCII keypresses (to avoid bizarre alt-sequences potentially crashing the game - mentioned in the change log) seems to be also discarding shift-numpad combinations. Since I never use shift to run, I'd not noticed that.

                  edit: I just notice this: h = help / H = how you feel (the key help tells you the other way around)
                  I switched those around, since if you need help you shouldn't need a key combination to get to it, just a simple keypress (people are likely to try 'h' and less likely to spontaneously try shift-'h'). Looks like I forgot to change some of the documentation to match.

                  Comment

                  • Aszazin
                    Scout
                    • Jun 2018
                    • 36

                    #10
                    Originally posted by Dean Anderson
                    I was going to suggest that you might have pressed return twice by accident and missed the prompt for the number to buy, but that would have resulted in you buying one rather than sixteen.
                    I am really puzzled how this happened. Should have followed up your answer more quickly. It might be that I was trying another variant the same day, and mixed them up reporting an unexisting bug!


                    Originally posted by Dean Anderson
                    Ah - I think that the fix I put in to discard non-ASCII keypresses (to avoid bizarre alt-sequences potentially crashing the game - mentioned in the change log) seems to be also discarding shift-numpad combinations. Since I never use shift to run, I'd not noticed that.
                    Would be good to fix that, my fingers get exhausted by the . key on the numpad (I have a Belgian azerty keyboard, the "." is either a shift-combination or the numpad)



                    Originally posted by Dean Anderson
                    I switched those around, since if you need help you shouldn't need a key combination to get to it, just a simple keypress (people are likely to try 'h' and less likely to spontaneously try shift-'h'). Looks like I forgot to change some of the documentation to match.
                    ah, ok I'm used to the ctrl-F, so I pressed 'h' for help, which told me to push 'h' Took a while before I noticed the helps said 'H' was help and I realized that these must have been switched around.

                    Let me know when you fixed the shift-run. I like your variant a lot! But I am gonna wait to play it further until that fix. It's a struggle on my azerty-keyboard right now!

                    edit: oh, is there any way to get the font smaller and center the view on the player (I'm used to using shift+5 for that)?

                    Comment

                    • Dean Anderson
                      Adept
                      • Nov 2009
                      • 193

                      #11
                      Originally posted by Aszazin
                      edit: oh, is there any way to get the font smaller and center the view on the player (I'm used to using shift+5 for that)?
                      The view is always centered on the player unless the player is near the edge of a level.

                      I'm not sure what you mean by getting the font smaller. If you go into the options screen from the menu, you can change the window size (and since the window is always 80x25 characters this will change the font size with it) or switch to fullscreen; and you can change the font to any monospaced font you have on your machine.

                      (You can also use 'b' and 'i' on the options screen to toggle bold and italic).

                      Comment

                      • Aszazin
                        Scout
                        • Jun 2018
                        • 36

                        #12
                        Originally posted by Dean Anderson
                        (and since the window is always 80x25 characters this will change the font size with it)
                        Ok, I was meaning to get a larger view (to get more than 80x25 characters), but I see it's a design decision not to allow that.

                        Comment

                        • Dean Anderson
                          Adept
                          • Nov 2009
                          • 193

                          #13
                          Originally posted by Aszazin
                          Ok, I was meaning to get a larger view (to get more than 80x25 characters), but I see it's a design decision not to allow that.
                          I have to admit that's not something I've ever tried. I know that some other Angband variants have "big screen" modes, but Cthangband never has.

                          The way the current system works is that the main window can be resized but is always clamped to a 16:9 aspect ratio - the standard ratio for widescreen monitors. That window is then split into a grid of cells, currently 80x25, each of which can hold a single character. I don't actually draw each cell myself - that's handled by the system because I use the WPF framework.

                          I just tell the WPF framework the size/position of each cell and what character (strictly speaking, what text - it could be more than one character but never is) it should contain and what colour that character should be, and the WPF framework takes care of drawing it using hardware acceleration and ClearType sub-pixel rendering to make it nice and smooth - so much clearer and smoother than using even anti-aliased bitmap fonts would be.

                          The system draws each character stretched in both directions independently to fit the size of the cell, so I don't even need to specify font size that I want to use.

                          What this means is that I just need to change the cell counts (they're generated at run-time, not design-time) to change the number of rows or columns on the screen. Of course, it's not quite that simple, since the actual game code draws things at various rows and columns, so just changing the screen size doesn't change where things are drawn.

                          Of course, what it also means is that the characters are stretched based on the number of rows and columns used.

                          As I said, I currently use an 80x25 display (because that's what the old console displays use). When that's combined with a 16:9 aspect ratio, it turns out that most fonts (not all monospaced fonts have the same character aspect ratio so it varies somewhat) are stretched vertically. For example, if you open Notepad and switch the font to Courier New and type some text then compare that with the Cthangband display using Courier New then each character on the Cthangband display will be a bit taller and narrower than the characters in Notepad are.

                          I've just had a bit of a play around changing the number of rows in the display to see what it looks like.

                          As mentioned above, an 80x25 display stretches the characters vertically.

                          I've not measured exactly (and again, it depends on the font being used) but it looks like something approaching 80x30 or 80x32 gives a font that's the least stretched.

                          I've tried up to 80x50, and that squashes the characters vertically (or if you like stretches them horizontally - it's all relative) by a ridiculous amount.

                          I might play around a bit more and see what is a good compromise between screen size, performance (although I don't think that will be much of an issue), and font stretching.

                          Comment

                          • Dean Anderson
                            Adept
                            • Nov 2009
                            • 193

                            #14
                            After some more experimentation, I think that if I were going to change the "resolution" of the screen, then some multiple of 8x3 seems to work best for characters being scaled correctly.

                            That would mean that 80x30 would work, or even 120x45 or 160x60.

                            Of course, increasing the screen size to either of the latter would have all sorts of knock-ons - not least that the characters would pretty damn small. I'm running at 1920x1080 on a 27" monitor, so what looks okay to me might be too small to be readable by someone on a lower resolution and smaller monitor.

                            This is going to require a lot of thought and playtesting before I commit to whether or not to make the change.

                            Comment

                            • Pete Mack
                              Prophet
                              • Apr 2007
                              • 6883

                              #15
                              The way other bands work is that the player sets the font size and the screen size, and the gfx engine determines the cell size from that--just enough to fit in decenders and ascenders.

                              Comment

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