Icewind Dale 2 - so I wonder

Discussion in 'Icewind Dale Total Conversion' started by anatoliy, Aug 24, 2021.

Remove all ads!
  1. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    338
    Likes Received:
    81
    Yeah, my vague recollection is that IWD2 actually has less trash combat than BG. That's probably because it's fairly linear. BG just has many areas which you can visit in any order, and they're sprinkled with respawning random encounters that are dangerous if you go there early in the game, but are completely trivial later.

    IWD2 is more like a sequence of combats that happen in the same order with parties of roughly the same level/equipment, so the designers could probably balance them more appropriately.

    You definitely don't want the early game encounters against caves full of goblins and stuff to become one giant battle, because those are already pretty difficult.
     
    Last edited: Sep 4, 2021
    anatoliy likes this.
  2. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    953
    Likes Received:
    112
    I soloed IWD1: EE on its highest difficulty as an Elf Fighter/Thief/Mage. It was a slog and a tactical challenge at times.
     
    anatoliy likes this.
  3. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    I've been thinking about this again, and doing some research.

    Maps
    Scale - it's not apparent what scale of backgrounds are. Currently I'm figuring out it approximately. For example three PC could stand on a pier in Targos initial map. Not the best way though. It can be mapped semi-automatically (via my GUI app).

    Search Map - a bmp which comes along represents passable tiles with footstep sounds (see link). It can be mapped semi-automatically (via my GUI app). Which is nice. The only issue is that I'm strong proponent to set size of PC/NPC to be around 4-5 ft. in diameter to maintain D&D 3.5 tactical rules. Therefore some passages need to be widened manually.

    Doors and cover obstacles - I have to check how @Allyx did it. For now though, I think the easiest way would be to make backgrounds to have doors painted on via Near Infinity app and put door icon above them.

    Animations like chimney smoke probably would have to be retrieved from Temple's available ones. No idea if Infinity's animations could be ported to Temple. Would be awesome though.

    I suspect there are areas over a map where music is different in Infinity, no idea if same is present in the Temple. Low priority though.

    Secrets and chests - there is "floor tile" scenery in the Temple. I think it could be stripped from image (or make transparent) and rotate and scale it until desired form would be achieved. Quite a work is needed here.
     
  4. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    NPCs and Quests

    Targos is pure pain here - 47 quests! Doing it manually would take months to do. So for now I decided to try some automation first, and then tweak it manually.

    There are not many Infinity parsers out there. Most of them cannot be used directly for automation, e.g. to create command line utility in csharp or Python script (or Delphi for God's sake): gemrb cpp, iesh Python (no full CRE format), Near Infinity (java).

    Currently I'm tweaking iiInfinityEngine csharp, as it does not have CRE 2.2 parsing capability.

    So what I want to be automated?
    • NPC abilities, HP, feats into Python script
    • NPC appearance (hair color) etc into Python script
    • NPC items. Inventory of NPC via Python script. But porting of an item would be manual.
    • NPC dialogs. Both Python script and one big dialog file for all NPCs on a map.
    • NPC speech. These are files copying and correct naming them for dialogs.
    • Journal entries as Temple's Rumors - into mes files and references to them into Python constants.

    I do hope Rumor UI could be fixed to allow larger text. cc: @Sitra Achara, @_doug_

    I usually create one Python file for NPCs of one map (including sub-maps like buildings).

    It would be nice to pick pocket stuff from some NPC, so non combat valuable junk would be nice to create in the Temple.

    I've seen a lot of NPC which do not have portraits. I guess for now Temple's port will not have them either. Perhaps later some volunteer could work on that.
     
  5. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    I exported all the maps with doors open and doors closed, and using MSPaint cut and paste bits of each to remove the doors entirely from the map images. Then added ToEE's door animations into the doorways with clipping around the doorways.
     
    Last edited: Apr 3, 2022
    anatoliy likes this.
  6. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    Researched Search Map today.

    ar1004_01.jpg

    Essentially Search Map is bmp file, where each pixel color determines a walk sound and function of a tile (like passable or impassable). There is also tiny info here.

    I determined following colors meaning and possible map to Temple's TileMaterial enum.

    Code:
    Color iObstacle = Color.Black; // ReservedBlocked | 0 - Obstacle - impassable, light blocking (black)
    Color iSand = Color.Maroon; // Dirt | 1 - Sand ? (burgandy)
    Color iWood1 = Color.Green; // Wood | 2 - Wood (green)
    Color iWood2 = Color.Brown; // Wood | 3 - Wood (brown)
    Color iStoneEcho = Color.Navy; // Metal ? Stone | 4 - Stone - echo-ey (dark blue)
    Color iGrass = Color.Purple; // Grass | 5 - Grass - soft (purple)
    Color iWater = Color.Teal; // Water | 6 - Water - passable (turquoise)
    Color iStoneHard = Color.Silver; // Stone | 7 - Stone - hard (light gray)
    Color iFlyover = Color.Gray; // ReservedFlyOver | 8 - Obstacle - impassable, non light blocking (dark grey)
    Color iWood = Color.Red; // Wood | 9 - Wood (red)
    Color iWall = Color.LightGreen; // ReservedBlocked | 10 - Wall - impassable (bright green) ! not found
    Color iSnow = Color.Yellow; // Marsh ? Grass | 11 - Water - passable (yellow)
    Color iWaterImpassable = Color.Blue; // DeepWater | 12 - Water - impassable (blue)
    Color iRoof = Color.Pink; // ReservedBlocked | 13 - Roof - impassable (pink) ! not found
    Color iWorldmapExit = Color.Aqua; // ReservedBlocked? | 14 - Worldmap exit (light blue)
    Color iIce = Color.White; // Metal ? Stone | 15 - Grass (white)
    
    Some of these colors are not determined correctly, like Roof and Wall. These are not found among IWD2 maps.
     
    Last edited: Apr 15, 2022
    Allyx and Buffed Rabbit like this.
  7. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    All right the progress:
    • Completed automation of maps producing. Created all 115 maps: backgrounds and sectors (blocked, fly-over and foot step sound);
    • NPC produce into Python scripts:
      • full name;
      • race and gender (base proto): humans only for now;
      • abilities;
      • class levels;
      • XP reward and challenge rating;
      • feats;
      • saves;
      • HP;
      • skills;
      • alignment;
    Working on:
    • NPC produce into Python scripts:
      • items;
      • dialog;
      • dialog sound;

    Target milestone is to show all NPC with somewhat close appearance (hair, cloth) and close items.

    Problems:
    • Number of items is colossal;
    • Some feats are not present. Some of them are needed for both PC and NPC (like Dash), but some could be made for NPC only as conditions. (cc: @_doug_ , your help is welcome :)
    • Some feats have levels (see below);
    Feat levels
    For example FeatWeaponProAxe integer corresponds to none, proficiency, focus and specialization and is mapped to:
    • throwing_axe
    • handaxe
    • battleaxe
    • greataxe
    For NPC it's not a problem, I just will give all weapons to them as feats. But for PC could be an issue - as it unbalances the game.

    Perhaps it would be reasonable to have similar feats as well, for example Weapon Focus Axes and Weapon Specialization Axes.​
     
    FDR4PREZ likes this.
  8. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    I'd just swap out non-existent feats for similar ones already in ToEE, I don't know what Dash is supposed to do, but Mobility or Spring Attack might do the trick, I don't think ToEE has the Run Feat, but it could also be a likely candidate, and quite probably easy to code since it doesn't really do much.
     
  9. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    @Allyx, take a look here: https://github.com/anatoliy-savchak...08d5b7420/utils/pyproduce/produce_npc.py#L276

    As you can see I also mapped to existing feats. But quite a few are rather different.

    Dash increases base speed by 5 ft. It's somewhat low interest feat for PCs, but 40 NPCs do have it. Such feat is not hard to make.

    But for example Heretic's Bane is rather important for NPCs, as it grants lot's of bonuses and is used in 58 creatures. This one is important for NPC, and I'm perfectly fine to have it as condition (not feat).
     
  10. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    Ugh... I absolutely hate it when CRPG designers make up their own D&D rules to fit the video game they are making instead of just following the D&D rules for the game they are making.

    I personally would make the game comply with the D&D 3.5 rules instead of trying to copy the nonsense they've coded.

    Heretic's Bane sounds like it could be swapped out for some kind of Favoured Enemy, or even a Lawful Weapon enchantment.
     
    Oleg Ben Loleg, FDR4PREZ and anatoliy like this.
  11. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    I agree about making up new rules :)


    upload_2022-4-22_22-20-38.png

    The picture depicts guys in Leather Armor. But in the Temple it rather look's like Banded Armor mesh, than default Leather Armor (like from sex shop)).

    I need someone to help me change the skin on Banded Armor to fit these ones.

    Also, atop of IWD2 Leather Armor there is personal colors of NPCs. I wonder if that could be ported to Temple using add mesh feature.
     
  12. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    Altering the colour of armour ad hoc is possible in ToEE, the different coloured armours would all need their own skin. And personally I'd just use what ToEE has already in game, and recreate only items that are radically different to anything ToEE has already. There are already 2 styles of Leather Armour, and one of those has 2 colours.
     
  13. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    Wouldn't you want an extra 5'? Can you take it multiple times?
    This was a feature of the gold box games (PoR etc), so it has some nostalgic value, but surely not a priority here.

    Otherwise, awesome work Anatoliy :)
     

    Attached Files:

    anatoliy likes this.
  14. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    No, that feat is defined as single use only. I like it.

    True. And actually it applies to PC more, as it seems. But the function here of that color is to distinguish guys. They all have very similar outfit, except perhaps of hair color (or helmet) or weapon. That's why I wonder...

    Leather style and colors will be present in IWD2 port. The only question if anyone could help me with that.
     
  15. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    290
    Likes Received:
    117
    I should be able to add the dash feat. Are there any other 3.5 feats that you would put a high priority on for IWD2 @anatoliy?
     
    anatoliy likes this.
Our Host!