Icewind Dale 2 - so I wonder

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

Remove all ads!
  1. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    You just want to play with the Engine))

    Personally I would love to have IE animations support though. I suspect there is tons of creatures not found in ToEE. Even fat guy for example))
     
  2. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    I've got familiarized myself with Infinity Engine in few last days. It's quite extensive I have to say.

    Moreover IWD2 is huge.

    To complete conversion to ToEE-T+ engine it will require a team of modders and good management. Moreover I'm strong believer, that one person should be decision maker and approver of all things. It is similar to TemplePlus project, where Sitra is head of that development.

    To anyone who does not know - @Sitra Achara frequently deny or asks for improvements when alterations are being submitted from developers like me, @_doug_, @Sagenlicht and @dolio. Conformity is a must for long lived projects. Otherwise it will become a mess very quickly.

    Another point is Project Management.
    • Analyze and produce high level requirements. Decide what to omit.
    • Analyze and plan stages.
    • Analyze and create tickets (jira + github?).
    • Verify each pull request.
     
    Isewein likes this.
  3. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    And off course I would love @Shiningted to be involved :rolleyes:

    But personally I'm not in favor of design time NPCs (mob). It's very hard to see what exactly was changed when binary files are submitted to the git.

    @Allyx said he is busy...
    @Sitra Achara - perhaps dreams could come true?))

    There are great things in IWD2 which I would love to have in IWD2T+ like:
    1) The Journal!
    The quest system would definitively remain, but Journal is very handy tool. I saw that Sitra did some rudimentary GUI API on Python. It would be nice to improve it and implement the Journal finally.

    2) World Map.
    I think T+ should be improved to have more convenient API.
     
  4. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Oh you :) I didn't want to make any grand declarations yet, but since you asked...

    My overall plan is to wrap up Temple+ as a stable release, including the requested python API improvements to keep the modding momentum going, and then move on to OpenTemple.

    While I'd love to dive into the IWD2/IE engine effort, I prefer to do all these major engine expansions, such as worldmap changes and whatever, within OpenTemple. I do believe that's the future for ToEE - for instance, did you know OT already has working zoom?

    It will take some time before it's fully operational, but in the end it'll be worth it. I've been modding ToEE for over 15 years now, what's a few more, eh ;)

    Ideally, I'd of course prefer that everyone jumped ship to OpenTemple right now, and then maybe we could also do the IE ports in parallel. It's a big ask however, so being realistic that's why I said I'll get around to it in a couple of years (hopefully). Sorry if that leaves you hanging...
     
    anatoliy likes this.
  5. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,654
    Likes Received:
    352
    You're a peach :) But I am overloaded and well behind on the 3 commitments I do have, it would be ridiculous for me to take on more. You're welcome to the dlg converter of course.
     
    anatoliy likes this.
  6. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    For the IWD 1 conversion, I have been using the NPC stat standard array for "townsfolk" NPC's, elite array stat blocks for "important NPC's" (shop keepers, named NPC's etc...)

    I sent you Ted's dialogue converter.

    NPC voice files just need to be put in the correctly named file.

    Map music is easy enough to do, though I had issues with some area specific sound effects. In Easthaven specifically, the water lapping sounds and wind chime sounds I attached to invisible cabbages, so when you are within X distance of the cabbage the sound plays, I had issues because I don't know how to make the sound effect loop perfectly until you leave the area, so I added a time delay between cycles to prevent it constantly starting the music every heartbeat. I didn't manage to fine tune it to my complete satisfaction, you can notice moments when the sound effect stops complete then starts again, or it plays the multiple layers of the same sound effect.

    For some reason, the closer distance you are to a specific object in ToEE, the faster the heartbeat increments are, making proximity to triggering objects tricky deal with.
     
    anatoliy likes this.
  7. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    Code:
     MakeTileProps(
    ...
        for (; propit != end; ++propit) {
            const Point& pos = propit.Position();
            uint8_t r = TileProps::defaultSearchMap;
            uint8_t g = TileProps::defaultMaterial;
            uint8_t b = TileProps::defaultElevation;
            uint8_t a = TileProps::defaultLighting;
            
            if (smit.clip.PointInside(pos)) {
                uint8_t smval = *smit; // r + g
                assert((smval & 0xf0) == 0);
                r = uint8_t(PathFinderCosts::Get().Passable[smval]);
                g = smval;
                ++smit;
            }
            
            if (hmit.clip.PointInside(pos)) {
                b = hmpal->col[*hmit].r; // pick any channel, they are all the same
                ++hmit;
            }
            
            if (lmit.clip.PointInside(pos)) {
                a = *lmit;
                ++lmit;
            }
            
            propit.WriteRGBA(r, g, b, a);
        }
    Red color indicates passable apparently. Will investigate further.

    Thank you @Sitra Achara !!
     
  8. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Yes, to be precise
    https://github.com/gemrb/gemrb/blob...0adbcdbca1834e9a4/gemrb/core/PathFinder.h#L34
     
    anatoliy likes this.
  9. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    So far I have figured out only that color is black then subtile is blocking, when blue is greater than zero it's flyover.
     
  10. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    Maps are now prepared in 5 minutes))
    --
    Still undecided about the endeavor.

    I'm forcing myself to walk through the game. Had to start second time, as 4 PC 15 max stat quickly become obsolete in Chapter 1 (plus Hard difficulty). The game is quite hack and slash one. Minor tactics, more clicks.

    Someone mentioned that IWD series are not suited for turn based ports. I'm starting to incline to that opinion. To confirm this I need to compare combat in Shaengarne River - IWD2 vs Temple game play.

    I might be wrong, and Temple's game play could deliver more enjoyment vs real time IWD2's one.

    Otherwise as workaround numerous hack and slash encounters could be redesigned to less foes but more tough ones.
     
  11. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,654
    Likes Received:
    352
    IWD 1 is very combat-oriented, and I can see why someone would say that.
     
    anatoliy likes this.
  12. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    It's very likely that a straight 1:1 port will get tiresome, and that adjustment will be necessary. I got a taste of that with the TB mode in Pathfinder: Kingmaker. RTWP is usually designed around mainly mowing down trash mobs. You still have your "set piece" battles which should be fun, but perhaps the fluff fights could be trimmed down a bit.

    This BTW is why I think groups triggering each other might not be a bad thing. It consolidates multiple easy fights into one large battle.

    Specifically for IWD2, my personal experience with it was that I hated the rtwp combat and wished it was turn based. I think I got up to chapter 3 before I got tired of it (after the monastery).

    Lastly, maybe we should add RT mode to ToEE ;)
     
    Isewein and anatoliy like this.
  13. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    338
    Likes Received:
    81
    My IWD2 experience is similar, although it's been a long time since I played.

    For one, the beginning is quite difficult even with 6 characters and good rolls. It gets a little more reasonable once you gain a couple levels, because basic combat is no longer 1-2 hit killing everyone, but I don't remember it ever becoming easy. I didn't completely finish the game, though. I do remember wishing for ToEE combat, because it's easy for some random path finding glitch to require you to reload, just because the battles are so tight early on.

    For the RT trash combat problem, I wonder if you could make a mode where the PCs are AI controlled and just turn on concurrent turns for everyone. That'd resolve everything a lot faster, probably.

    Having them turn into larger encounters where the danger is attrition, rather than stacking up NPCs that are double/triple the party's level is also good (and better for not power-levelling the PCs). But a lot of trash combat in e.g. BG is random, respawning encounters that aren't a threat beyond level 2 or so. I don't remember how IWD2 stacks up in that regard.

    The other thing I remember is thinking that the writing was actually better than the BG games. :) That surprised me, because IWD has the reputation of being a combat slog, and BG is the revered story.
     
    anatoliy likes this.
  14. hammyh

    hammyh Established Member

    Joined:
    Apr 24, 2013
    Messages:
    328
    Likes Received:
    64
    I didn't find IWD2 to be that sloggy. But it is all combat, which I don't mind. Iirc, the large majority of the game is groups that can be individually engaged, sometimes in a forced sequence. There are quite a few instantly forced battles upon level/map change. And the odd big battle, mostly at the end of a sequence of areas.

    However, this could become tiresome with absolute turn-based like ToEE. For example, there is a time-line quest where you essentially have to repeat the same long path 4? times. It involves enemies. This would be an extra level of pain in current ToEE.

    I think that even in IWD2 this was disliked by many and the Infinity game mod that is under construction has options to skip all these kind of annoyances. I don't see why a ToEE convert could not do the same.

    If it could be done, wow!
     
  15. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Hehe...
    Fundamentally, ToEE is already sort of realtime: when you issue a command it causes an animation to play and the final result is connected to an Action Frame in the animation. It just has a turn based layer on top that controls the sequencing, i.e. it doesn't let you or the AI issue commands until the turn based actor is done.
    This is of course overly simplistic, since there's more to it than just that, and it may also take some work to get a "good feeling" RT mode going, but I suspect if you only aim for barebones autopilot combat to fast fwd trash mobs it should be doable.
     
    anatoliy likes this.
Our Host!