Skip to content

Icewind Dale 2: Enhanced Edition is almost here!

145791033

Comments

  • gazoogazoo Member Posts: 11
    edited November 2020
    First, let me say thanks for your excellent work. This makes the game so much better, imho.

    Not long ago I ran through a normal + HoF game with the semi-overhaul version 1.31 (all options) + tactics4iwd2 + los + tweaks. It ran very well. This was my first iwd2 play.

    I then ran a vanilla hof game for reference and was constantly lamenting how much better it was with overhaul!

    I eventually had to tweak a few spells with NearInfinity (mostly some buggy engine stuff to do with orc immunity selection in the spells afaik). I ran through normal without tweaks and even with these issues, I really enjoyed the spell changes and balancing.

    I then grabbed a version 1.32 from GitHub. I ran some HoF games (I was in HoF mood).

    I initially had to play around with NI for a bit to fix a feat-offset in the install. The new feats are pretty great and I wanted to try them out. I ran through a few configurations and played up to the end of chapter 1 HoF. I might give it a go again with another change of install options, but I need a wee IWD2 break.

    ________________________________________________
    A few observations that I remember from 1.32:

    -"Reduce the HP bonuses of creatures in Heart of Fury Mode" with creature revisions produced some too-severe reductions throughout chapter 1 . As an example, I was seeing 16 lvl orc fighters with less than 20 HP and some bosses with Hp less than their level. I had set max HP for both party and enemies. This option might need a check.

    -I experimented with a lvl 29-30 Barbarian tank with the "Minor Damage Resistance for Armor and Shields" option - instead of the typical ~AC 72 thing . While barbarian rage is much much better with the new changes and is worth at least 1 lvl for the immunities for certain tactics...I don't know if going high-lvl barb is viable enough for HoF with the damages of HoF. HoF may not be your intended target, though.

    -the grapple feat allows for a grappler to move away during the duration, after the grapple. The grappled enemy does not get pulled along, but does suffer the penalties.

    -I was also using tactics and tweaks and I believe v1.32 overwrote the item stacking limits from tweaks. 1.32 was the last thing I installed. It is a minor complaint, but I would have liked larger stacks.

    -Half-orcs might need some extra feats. I found it hard to justify +2 strength/-4 others, considering all the AB changes to feats, fighters, etc, etc.

    The other class modifications were fine. Bards and rogues are really good and some new items and feats add to them. Metamagic feats seem to work well. Race changes are very nice, especially Halfling sling bonuses.

    IWD2EE will be very fun, I am certain.





    Post edited by gazoo on
  • OlvynChuruOlvynChuru Member Posts: 3,075
    @gazoo

    Keep in mind that that's a very outdated version of IWD2EE you're using. Could you please remove those links from your post? This is supposed to be a closed beta where we invite people on request to try it out.
    -"Reduce the HP bonuses of creatures in Heart of Fury Mode" with creature revisions produced some too-severe reductions throughout chapter 1. As an example, I was seeing 16 lvl orc fighters with less than 20 HP and some bosses with Hp less than their level. I had set max HP for both party and enemies. This option might need a check.

    That's intentional. That component greatly reduces the HP of enemies early on; this is so a party starting HoF at very low level could stand a chance. However, enemies later on won't have their HP reduced nearly as much.
  • WhiteheartWhiteheart Member Posts: 6
    First off, I want to say that the Icewind Dale series are my absolute favorite games! Despite all the issues and such, they are still my favorite. I like all the IE games but IWD 1&2 are by far my favorite. I am so looking forward to getting my hands on this EE mod! :D
    I've read through the changes/updates list that you're putting together and I'm stoked to try a lot of that out! There were a couple things I was curious about that I didn't see specifically mentioned in the list though...
    -Multiplayer support: I was able to play IWD:EE with my dad using the multiplayer option but we can't seem to get the Multiplayer from IWD2 to work. Are there any plans to update or fix the multiplayer "stuff" to make it work as well or better than IWD:EE? :'(
    -Widescreen (Ultra Widescreen) support: I use a 34" Ultra widescreen for my computer. IWD:EE seems to have been updated to allow me to still see my game w/o using a magnifying glass. However, when I run IWD2 I have trouble reading the screen because it's so small and the game doesn't support the resolution size so it can't be changed. Will IWD2:EE address this? Also it'd be awesome is I could use the whole (or at least half) of my screen to play instead of the way I have to run IWD2 currently... covering about 1/3 of my screen... :'(
    Also... is there any update on when this might be available?!? :D:D
  • EdgewalkerEdgewalker Member Posts: 7
    When I first heard about the EE on Reddit, I was overjoyed! I've been following the news ever since and I can't wait to play it when it has a stable release! Awesome work, guys!

    After reading the details on the first page, I wonder: do you think the non-HoF game will become easier with all the new items, spells, XP changes etc.? I am not a hardcore player, but having played IWD1EE with the addition of kits and more, I think the game did become significantly easier.
  • OlvynChuruOlvynChuru Member Posts: 3,075
    @Edgewalker
    Edgewalker wrote: »
    After reading the details on the first page, I wonder: do you think the non-HoF game will become easier with all the new items, spells, XP changes etc.? I am not a hardcore player, but having played IWD1EE with the addition of kits and more, I think the game did become significantly easier.

    Some of the components in IWD2EE make the game easier, yes, but other components (like Creature Revisions) make the game more challenging. When you install all the components, the ones that make the game easier and the ones that make the game harder should cancel out, and the game should be approximately the same difficulty as the original IWD2, but a lot more fun.
  • gokkegokke Member Posts: 46
    Well if you need any more testers id love to give it a go
  • StygianStygian Member Posts: 1
    Saw this on Reddit and would love to take a look and maybe help you guys. Great work!
  • kalekale Member Posts: 53
    edited November 2020
    Would it be possible at all to include Elves (Drow) in the list of favoured enemies for rangers? I always wanted to play the game with a bunch of Shevarash fanatics ...
  • Viking8008Viking8008 Member Posts: 16
    Hi all! Want to join beta test too! Can you add me please?
  • EdgewalkerEdgewalker Member Posts: 7
    That's awesome! How do the rolling stone's collisions work on a 2D map? Does it stop when it reaches an area marked as unaccessible? What if that unaccessible area is a precipice, for example?

    I was wondering about that when I saw the new ghost companion passing through walls. When it's just a stone wall blocking access, that's okay, but what if it's a 2D interpretation of difference in terrain elevation or a wide crevasse that should block access?
  • HeroquestgameHeroquestgame Member Posts: 1
    I would like buy or download this mod! Thank you a lot guys
  • semiticgoddesssemiticgoddess Member Posts: 14,903
    @Heroquestgame: The mod is not publicly available yet; it's in a closed beta period and is only accessible to beta testers (though anyone can become a beta tester).

    When it is released, it will be free to download; you will not have to buy anything besides the base game.
  • Lance2409Lance2409 Member Posts: 7
    Wowwwww this is so amazing, I recently discovered Baldurs Gate so been playing through a modded version of all the baldurs games and have been In loooveee with them, I grew up with Icewind Dale but I never appreciated the engine until I played baldurs gate, now Im taking my time and waiting for this so I can apreciate it even more, looking at the screenshots and Gifs makes me sooooo stoked!!
    I would love to be a beta tester but I just dont want to ruin it for myself I havent played it in a long time and would like to keep it fresh when I play it again.
    I hope everything goes well though!
    I reread thrugh the first main post just to make sure I wasnt missing anything, but do you have a Patreon or is there any way to support this monitarily wise, I might not want to test but Id love to donate if possible, I appreciate your time working on this!
    Looking forward to it!
  • ProphetPXProphetPX Member Posts: 5
    wow i only just now heard of this when googling to see if Beamdog had found the IWD2 source code!
    WHERE IS THE DOWNLOAD or BUY NOW link? I WANT ITTTTTTT :)
  • semiticgoddesssemiticgoddess Member Posts: 14,903
    @ProphetPX: The mod is currently in a closed beta stage. I want to wait until the mod has an improved GUI, a new soundtrack, and hopefully some upscaled graphics before public release. When it does come out, it will be free; the only thing you'll need to purchase is the original game.
  • ProphetPXProphetPX Member Posts: 5
    @Heroquestgame: The mod is not publicly available yet; it's in a closed beta period and is only accessible to beta testers (though anyone can become a beta tester).

    When it is released, it will be free to download; you will not have to buy anything besides the base game.

    may i please help to test the mod or Icewind Dale 2 EE that you guys are making??? please???

  • IseweinIsewein Member Posts: 521
    Do you think this will be able to maintain compatibility with the NPC pack? Absolutely mandatory to give flavour to the game's story, in my book.
  • megamike15megamike15 Member Posts: 2,666
    i wonder if there is a way to change how cheats work. right now you have to do the command line every single time you want to activate them. unlike the other ie games where once you add the cheat command to the ini file it stays on.

    what i'm basically asking for is a toggle in the menu to keep the cheats on.
  • ThacoBellThacoBell Member Posts: 12,235
    I'm pretty sure IWD2 has a "toggle console" in the config.
  • OlvynChuruOlvynChuru Member Posts: 3,075
    megamike15 wrote: »
    i wonder if there is a way to change how cheats work. right now you have to do the command line every single time you want to activate them. unlike the other ie games where once you add the cheat command to the ini file it stays on.

    what i'm basically asking for is a toggle in the menu to keep the cheats on.

    @Bubb already fixed this problem. In IWD2EE, if you have the console enabled, cheat keys will be enabled automatically.
  • megamike15megamike15 Member Posts: 2,666
    ThacoBell wrote: »
    I'm pretty sure IWD2 has a "toggle console" in the config.

    in vanilla you have to use a console command everytime you start the game to activate cheats. is very annoying so glad this is being address in the ee.
  • ThelsThels Member Posts: 1,416
    Bubb wrote: »
    Here's another EE-style feature that's made its way into IWD2EE, middle-mouse scrolling!

    Personally, I got so used to moving the viewport this way that it was hard to go back to the classic edge scrolling. Now I can scroll in peace:

    ndxlo8290ngx.gif

    That is cool! However, would there be a way to remap that to a different mousebutton/keyboardkey? Not everyone is comfortable with using the scroll-wheel as a mouse button. I personally would be missing out on the feature, because it's uncomfortable enough that I'd resort to one of the other ways of scrolling.

    Quickloot is awesome!

    What about UI scaling? Is there any? And if so, is it binary or a range?
  • BubbBubb Member Posts: 1,000
    edited December 2020
    Thels wrote: »
    That is cool! However, would there be a way to remap that to a different mousebutton/keyboardkey? Not everyone is comfortable with using the scroll-wheel as a mouse button. I personally would be missing out on the feature, because it's uncomfortable enough that I'd resort to one of the other ways of scrolling.

    Quickloot is awesome!

    What about UI scaling? Is there any? And if so, is it binary or a range?

    It's not remappable at the moment, but it would be a trivial thing to add - IEex has complete control over detecting keypresses, and it would be as simple as changing a single value in the code. I'm currently investigating UI scaling / possibly worldmap zoom, but due to the complexity of the problem, I have no eta as to when this will become a thing. I am 100% working towards it though.
  • ThelsThels Member Posts: 1,416
    Either way, that stuff sounds amazing! You really do great work, @Bubb :)
  • emxdemxd Member Posts: 6
    edited December 2020
    I do like the progress that you're making guys :), couple of points:

    1. Do you have a discord channel?

    2. Could you fix the protection from evil/circle of protection from evil spells? I think they should be providing protection from mind affecting spells like charm person, but they're not doing that in vanilla. I always have to change their behavior in NearInfinity.

    3. Could you disable the monster teleportation that happens in the IceTemple BattleSquare? Where the summoned monster instead of fighting your guy 1on1 gets teleported to the rest of the party. It makes the whole battlesquare incredibly tedious. I usually change that with NearInfinity, 41parena.bcs lines 49 and 61.

    4. The rt_norm.2da file governs random drops in the game. Many of the rows have 60+ entries. The problem is the first row has only 40 entries (from 1 to 40) - meaning the random drops from 41 to ~ 65 (or whatever is the highest entry) never occur in the game. (At least they never did when I playtested it). This behavior might be present in rt_fury.2da as well. As far as I understand, it's a design oversight and it probably needs to be fixed as well?

    5. I'm not sure if you've got time for this, but could you post a pseudocode of how random drops are decided? More specifically the mechanics behind "upgrade", where one row in a 2da file is promoted to a higher row via the "UP" roll? When I playtested it, I could only upgrade from an R row to a V row and only within the same level. I could upgrade from RT11_R to RT11_V or RT06_R to RT06_V but never accross levels i.e. I could not go from RT06 to RT07. This is interesting because one of the best weapons in the game, the Massive Greateaxe of Flame +5 does not drop in HOF mode and it does not drop directly in normal mode either (highest drop group in normal IIRC is RT07 or RT06 and Greataxe of Flame +5 is RT09). Traditionally it was believed, that the only way to get to RT09 in normal is via the "UP" random roll, but as I said, when I playtested it I could only upgrade within a level not across levels (so no getting from RT05 to RT09). Hence why I'm asking if you could post the pseudocode behing the upgrade mechanics.

    Edit: Eh, I misremembered, Greataxe of Flame +5 is RMEW_09 not RT09 :). Still, RMEW_09 does not occur in normal and it was believed that the only way you could get there is via an upgrade.
    Post edited by emxd on
  • BubbBubb Member Posts: 1,000
    edited December 2020
    emxd wrote: »
    1. Do you have a discord channel?

    We have a Discord channel for the current beta. If you want to be a part of the beta you can PM @semiticgoddess and she'll get you set up.
    emxd wrote: »
    5. I'm not sure if you've got time for this, but could you post a pseudocode of how random drops are decided?

    Here you go:
    • A 2DA can only be indexed as far as its X and Y headers extend. Entries > 40 are thus not able to be considered by the engine due to the header being cut-short.
    • Due to an off-by-one error, the last valid column of a row is not able to be chosen - the only exception is a row with one column.
    • Headers need to be UPPERCASE for correct operation, tier characters should be case-insensitive.

    Pseudocode from reversed engine functions:
    ------------------------------------------------------------------------------------------------------------
    
    string doItemResrefRandomize(string inputResref)
    {
        <select row whose header matches inputResref>
    
        if (<inputResref was not present as a header>)
        {
            return inputResref
        }
    
        int rowSize = <count number of entries in row; an entry of "*" will immediately end a row and not contribute towards the count>
        string selectedResref = random[0, rowSize - 1) // Select a random column EXCLUDING the last. If there is only one column, choose it.
    
        if (selectedResref.startsWith("up"))
        {
            selectedResref = upgradeTier(inputResref, selectedResref)
    
            if (selectedResref == inputResref)
            {
                return "no_drop"
            }
        }
    
        return doItemResrefRandomize(selectedResref)
    }
    
    ------------------------------------------------------------------------------------------------------------
    
    string upgradeTier(string inputResref, string selectedResref)
    {
        if (inputResref.length() >= 3 && <second-to-last character in inputResref> == '_'>)
        {
            char* upgradeProgressionStr = "lmrvvvvv"
            char lastCharInInput = <last character in inputResref>
            int currentTierIndex = upgradeProgressionStr.findFirstIndexOf(lastCharInInput)
    
            if (currentTierIndex == -1)
            {
                // Input had invalid tier, throw input back
                return inputResref
            }
    
            char lastCharInSelected = <last character in selectedResref>
            int upgradeAmount;
    
            switch (lastCharInSelected)
            {
                case '1':
                case '2':
                case '3':
                {
                    upgradeAmount = tonumber(lastCharInSelected)
                    break
                }
                case 'p':
                {
                    if (selectedResref.length() == 2)
                    {
                        // Was just "up"
                        upgradeAmount = 1
                        break
                    }
                    // Input was invalid, fallthrough to default and throw input back
                }
                default:
                {
                    // Input was invalid, throw input back
                    return inputResref
                }
            }
    
            char targetUpgradeTierChar = upgradeProgressionStr.charAt(currentTierIndex + upgradeAmount)
    
            if (lastCharInInput != targetUpgradeTierChar)
            {
                // Replace last character in inputResref to upgraded tier and return
                return inputResref.replaceCharAt(inputResref.length() - 1, targetUpgradeTierChar)
            }
        }
    
        // Input was invalid, throw input back
        return inputResref
    }
    
    ------------------------------------------------------------------------------------------------------------
    
This discussion has been closed.