Last Friday, I was finally able to win this game, and I must say I had lots of fun. The save file says I played for more than 200 hours. That... Can't be true, right? Sure, I restarted my playthrough in early May, and finished it mid-July, but I didn't play that much every day, and I played another RPG for a few weeks! I mean, I played 100+ hours games before, and they always out-stayed their welcome a bit, even Witcher 3 had me skipping a lot of content on Skellige. But I never got any fatigue from KoTC2, so it can't be 200 hours game. I mean, maybe 60-80, but surely not that long? ...I would note if it was that long?
Anyway, I want to congratulate BlueSalamander on a great game, and on a successful crusade against bugs: during my second playthrough, I don't think the game crashed even a single time, though I had some issues with UI in puzzles, but they were corrected in the next patch. I certainly will be playing upcoming additional modules.
Now, I'd like to offer some suggestions and criticism.
Design:
1) While I love the design of the game, I wonder if some things are intentionally over-powered. It feels like they are - I mean, playing with a Psionicist or two make the game so much easier, I can only imagine playing without them as an additional challenge. They're the best AoE blasters the game has, and they keep up both the number of castings and damage output very respectable until the very end. More than that, Energy Ball - a mid-level power - continues to be the main damaging power long past Wizzard's spells of comparable level become useless. I'm not going to shout "nerf Psionics now!", but I wonder if anything could be done to make this class feel less OP compared to others.
2) The same goes for Vorpal/Skewer, or even just Skewer weapons. They're so incredibly powerful I cannot imagine NOT getting one for each melee fighter in my party. Sure, they fare badly against crit-immune foes, but those are concentrated in High Sewers, and nowhere else. And Skewer Warbow? I thought Ranger sucked in the late game, until I got him one of those, and then he went to be one of my top characters. With a way to bypass Mirror Image and Invisibility (True Seeing or whatever), he's a Weapon of Utter Boss Destruction - the mighty dragon that guarded the entrance to the last castle and withstood a lot of my attempts to get through fell to my Ranger's barrage quite easily (with a +2 Archer Ring, +5 Enchantment on the warbow and other bonuses he was able to trigger critical hits even when using Rapid Shot).
Now, I can't imagine how could I won the game without these two over-powered things, because enemy parties are very overpowered, too. My only concern is only that both this class and this weapon enchantment feel so superior to everything else that they make other classes and weapons almost unnecessary. If I couldn't use Psionicist's wide AoEs to clear the table from trash mobs, I'd have much harder time, and would need to use a more varied array of spells (well, Prismatic Void is also OP, but it's not as wide, and you can't cast it as often as 20-power Energy Ball...)
I guess these are obvious things, already mentioned many times, but I wonder if anything could be done here, or if I'm missing something. Maybe they're supposed to be game's Easy Mode, and I have to challenge myself not to use them.
UI:
Generally, I liked the game's UI. It takes up a lot of space, but it offers quick access to a lot of very complex combat options. It's far, far more usable than the abomination called Radial Menu in Temple of Elemental Evil (or Blackguards). But I have some ideas how to make it even better. Unfortunately, these ideas seem costly to my experienced eye, so I'm pretty sure we won't get them in KotC2, but maybe in another game? Anyway, here they are:
1) I feel the Crafting screen needs more work. Right now, it's very hard to plan an item, because you can't select several enchantments at the same time and see the total cost and number of necessary enchantment points. I think I remember crafting screen in the first KotC game being better. The current implementation could use some more attention.
2) Additionally, names of enchantments often don't give enough information about them. It would be nice to have a short description near name, or get a tooltip when mouse-overing an enchantment with the full description without the need to go to encyclopaedia.
3) This suggestion one is the hardest to implement, but one that I feel could enhance any D&D-based game: spell list search by tag/theme. I.e. when I want to remove Blindless from my party, I have to remember which spells can do that, and what level they are, and which of my characters have them. It would be great if I could get a search string where I could enter "blindness" or "remove blindness", and get a list of spells for my currently selected character that have something to do with Blindness, or even a per-character list for all of my party. The same search string could be useful for Module Creators, when they're looking for a spell for their NPC, or already existing NPC template with given powers.
4) Searchable inventory would also be nice Pathfinder: Wrath of the Righteous has a player-made mod for that, and it's very popular.
Code:
The most-irritating thing about the game right now is that it freezes for seconds sometimes when calculating AI action. I believe it's mostly related to pathfinding code, because it happens more often when a mob doesn't have a way to reach some members of the party, e.g. is walled off. I hope it might be possible to move the actual pathfinding code into a separate thread, and then make the main thread continue working, while checking for calculations to complete. It won't make the game think faster by itself, but at least it would avoid freezing the whole thing.
Also, now that I think about it more, there is something strange going on. A walled-off monster should actually think faster, because it doesn't have a lot of grid available to it, even if doing an exhaustive search (unless it has a long, round-about way to get to the party, but this is rare, and I'm certain I've seen cases when a mob in a tight space behind Wall of Stone froze the game for a noticeable time). Or unless you're doing backward search from target to caster for whatever reason. One thing I wonder about is how huge creatures navigate, because I think that the problem might be related to that - if, say, a dragon is walled off from the party, but the wall do not completely block his area (he can't get through, but smaller creatures could), will his AI waste time on searching a path through this impassable (to him) squares? I used Erosion approach to limit passability for differently-sized creatures on square grid in such situations, though it requires some tricky code to update Erosion correctly in a limited area when someone moves or a new obstacle (e.g. Wall of Stone) appears without updating the whole map (costly).