Salk

[KotOR] Critical unresolved issues

Recommended Posts

Hello!

I was thinking of 2-3 problems that I've always encountered (and still do) when playing the original game. While I've been playing KotOR heavily modded these latest years, I seem to recall these very issues belong to the original game. I would like to ask others if they have also been experiencing them though.

1) Sometimes while running, the controlled party member suddenly stop advancing and runs on the spot instead (just as if running against a solid wall) despite the absence of any real obstacle. In order to make it work again, it is enough to stop moving. Afterwards it is possible to resume normal play.

2) Sometimes one of the party members get stuck against your controlled party member which can no longer move away from the current spot. If the interfering party member is selected it will be automatically moved to a close but new position farther away from the former controlled party member. This solves the issue.

3) Often, at the end of the loading process, it is possible to witness the spawning of the NPCs for a brief moment so that they are seen transitioning from their T-pose to the intended pose.

Cheers!

Share this post


Link to post
Share on other sites

I'm not sure that I have seen the first two exactly. Although I have experienced numerous cases of one party member ending up hung up against a corner or doorway, or otherwise halting which invariably leaves them stranded halfway across the map. Presumably that was why Obsidian added the function in the AI script to teleport party members back to the party leader if they were too far away for more than 10 seconds or so. I tried to duplicate something like that for K1 but never got it to work (I believe JCarter may have fiddled with something similar at one point as well).

The last one can at least be masked by manual adjustments of fade-ins if there are specific instances that are particularly egregious (might also be less apparent running the game from an SSD).

  • Like 1

Share this post


Link to post
Share on other sites

Hello DP!

I have actually fiddled myself with the k_hen_spawn01.nss, k_hen_candspwn.nss,  k_ai_master.nss and the k_hen_heartbt01.nss scipts (the latter being practically empty and the first two being practically the same) with decent results. It's not perfect but it's in my opinion an improvement.

My new spawn scripts try to make sure the loaded game won't have any party member spawned very far from the Player and the new heartbeat script checks that there is not too much distance between the controlled party member and the other party members. If that happens, it jumps NPC1 and/or NPC2 closer to NPC0. This is done with a brief fadeout/fadein and a short barked text (I made one for each party member). I had to make different tests with different distances because I didn't want it to become too invasive by happening too often.

But if you and JC can offer a better solution I'd be all for it.

Cheers!

 

 

 

Share this post


Link to post
Share on other sites
11 hours ago, Salk said:

Sometimes while running, the controlled party member suddenly stop advancing and runs on the spot instead (just as if running against a solid wall) despite the absence of any real obstacle.

Yeah, I've seen this one. I've observed it happen in relatively the same area before, such as near Geg's shop in Iziz, so I assume it's caused by some imperfection in the walkmesh.

11 hours ago, Salk said:

Sometimes one of the party members get stuck against your controlled party member which can no longer move away from the current spot.

I don't think I've seen this one, but I imagine the personal space-respecting code that was added to the AI for K2 would fix this. Probably could be duplicated for K1. I know I came across this code before because I copied some of it for the follower scripts in my toolbox, so this bit of code from that might come from there:

float fDist = GetDistanceBetween(oPC, OBJECT_SELF);

if( fDist <= 1.5 ) ActionMoveAwayFromObject(oPC, 1, 1.5);
11 hours ago, Salk said:

Often, at the end of the loading process, it is possible to witness the spawning of the NPCs for a brief moment so that they are seen transitioning from their T-pose to the intended pose.

10 hours ago, DarthParametric said:

The last one can at least be masked by manual adjustments of fade-ins if there are specific instances that are particularly egregious

This could potentially be made into a global solution if all the modules were patched to run the same OnHeartbeat and OnEnter and other event scripts. I worked on a bit of this before but didn't release it because I figured mod compatibility would be too much of a problem. But since we've patched dozens of modules for the Community Patch anyway, we could probably slip it in there and force people to deal with it.

  • Like 3

Share this post


Link to post
Share on other sites

Hello, JC!

float fDist = GetDistanceBetween(oPC, OBJECT_SELF);

if( fDist <= 1.5 ) ActionMoveAwayFromObject(oPC, 1, 1.5);

I will try adding those couple of lines of code but where to exactly? The NPC heartbeat script?

8 hours ago, JCarter426 said:

This could potentially be made into a global solution if all the modules were patched to run the same OnHeartbeat and OnEnter and other event scripts.

I'd find it quite desirable because in my experience the instances are too many to be patched singularly.

I do run the game from a SSD, by the way. But the same happened with a mechanical hard drive in the past.

Cheers!

 

Share this post


Link to post
Share on other sites

I put that in the heartbeat script for some NPCs, although I think the altered party code is in k_oei_hen_inc. But it's been a while since I looked at it, and I probably heavily simplified it for my purposes as well.

Share this post


Link to post
Share on other sites
On 9/1/2020 at 4:49 AM, Salk said:

1) Sometimes while running, the controlled party member suddenly stop advancing and runs on the spot instead (just as if running against a solid wall) despite the absence of any real obstacle. In order to make it work again, it is enough to stop moving. Afterwards it is possible to resume normal play.

 

I think I've seen this in the second game, but never the first. Do you have an example, @Salk? I'd like to see one if you do.:yes

Share this post


Link to post
Share on other sites

@StellarExile

K1 Undercity was the first place I encountered it.

"Rakghouls! Time to kick some ass! Um... Where is every- Huagh!!!"

I don't remember this in the original play through 15 years ago. Wonder if it's related to the Steam re-release...

Share this post


Link to post
Share on other sites
2 hours ago, AmanoJyaku said:

@StellarExile

K1 Undercity was the first place I encountered it.

"Rakghouls! Time to kick some ass! Um... Where is every- Huagh!!!"

I don't remember this in the original play through 15 years ago. Wonder if it's related to the Steam re-release...

What happened then?

Share this post


Link to post
Share on other sites

@StellarExile

It was me vs. four rakghouls. My companions ran in place and watched while I died. :P

After that, I made sure to check that my party was with me before I jumped into battle. If you're far enough away they usually respawn behind you. If not, I quick-save then quick-reload. That usually fixed it, but if they got stuck again I just quit the game and started up again. It didn't happen on every world, so I never took notes. Not going to try to reproduce it now since I'm trying to finish a mod tool.

  • Haha 1

Share this post


Link to post
Share on other sites
3 hours ago, Salk said:

It seems my issue is quite different from yours, @AmanoJyaku.

It is not the other party members but the controlled party member that runs on the spot in my case.

I've seen the issue in KOTOR 2 but I don't think ever in the first game. Wonder if it could be something Aspyr did or I'm just completely stupid.

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, Salk said:

It seems my issue is quite different from yours, @AmanoJyaku.

It is not the other party members but the controlled party member that runs on the spot in my case.

Eh! This is what happens when you read a forum as soon as you wake up. I don't remember if that happened to my character. Will pay attention the next time I play.

1 hour ago, StellarExile said:

I've seen the issue in KOTOR 2 but I don't think ever in the first game. Wonder if it could be something Aspyr did or I'm just completely stupid.

I finished KoTOR earlier this year, but didn't play much of KoTOR2. Something about a decompiler... Will also pay attention when I get a chance to play.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.