shinyquagsire23 / OpenJKDF2

A cross-platform reimplementation of JKDF2 in C
Other
487 stars 38 forks source link

Bugs I found in the JK mod #286

Open TheNipperOfFigs opened 7 months ago

TheNipperOfFigs commented 7 months ago

First, thanks for a great mod that makes the game worth playing again. There are however a bunch of bugs that I have come across in the game.

1) When playing the light side, the force power Protection is useable despite having neutral powers, but Deadly Sight in not when playing the dark side with neutral powers (how it should be).

2) Upon completion of the game on the dark side, the light side video plays instead.

3) On levels 4 and 19, sometimes the objectives aren't marked as complete even when meeting the criteria. On level 19, the first objective is marked in yellow text upon completion, rather than green. Not sure if this is a bug, or it's supposed to be like that for some reason (it turns out this has been brought up before).

4) On level 5, when walking alongside the canal near the beginning, a med kit is placed upside down on the ground.

5) Sometimes enemies appear frozen on the spot, not firing at the PC even when nearby or shooting next to them. This seems especially prevalent with stormtroopers in the later levels.

6) Did the Dark Jedi from Yun to Sariss/Yun (2nd time) receive reductions to HP? They seem somewhat weaker compared to the original game, hence quite easy to defeat even on Hard difficulty.

7) On level 19, sometimes the final door before the AT-ST doesn't open, yet the PC can destroy the AT-ST by firing at the door or swinging the lightsaber, and then the door opens. I think this has been brought up previously by other people.

8) The cutscene audio plays very quietly compared to the effects and music.

9) Sometimes when fighting Boc on the light side, after using Persuade (when it wears off), he jumps up and down on the spot, not doing anything else except that, not reacting to the PC.

10) The implementation of SSAO is not good, at it results in faint dark outlines around the weapons and enemies, and around Kyle if using third person camera. It is best used off, and unless it can be fixed, removed altogether from the game.

11) The cross-hair on values lower than 1.0 is not symmetrical, with the vertical line slightly shifted to the left rather than perfectly centred.

12) The tip of the lightsaber is malformed and needs fixing. Also, the light glow is too wide.

13) In the CMD, this message often occurs, though I'm not sure what it means or does: "OpenJKDF2: Script weap_strifle.cog attempted to call randvec, which doesn't exist..."

14) The text messages at the top of the screen such as "Rail Charges", "Entered Secret Area", etc. are way oversized, poor quality and in white, compared to the much smaller yellow text of the original game.

There are probably more bugs/errors, but this is what I can recall right now.

Some notes:

1) It's unfortunate the game was severely unbalanced against the dark side. Persuade makes the game trivial, even on Hard difficulty, while dark side powers are mostly pathetic, such as Lightning and Deadly Sight.

2) The best anti-aliasing is enforced through GPU drivers (FXAA) rather than in-game by raising SSAA or using ReShade. I find the combination of FXAA and SSAA of 2.0 to be the best combination to improve graphics.

3) Is it possible to reduce the brightness of the green light side stars in the Jedi Powers screen? They lose some of their detail compared to the blue neutral power stars (the red dark side stars are somewhere in between).

Again, thanks for a great mod.

shinyquagsire23 commented 7 months ago

heya,

I'll attempt to confirm some of these, though fair warning I ~generally don't fix some bugs depending on where they reside. Crashes/regressions always get top priority, but the saber width inconsistency for example is a save serialization bug that exists in the OG game, so fixing it requires breaking backwards compatibility. At some point I do want to fix a few save bugs though, but I need to plan it out I guess. But also, some bugs are just bugs in the JKLs/COGs, so they can't be fixed engine-side without a lot of hacks

tl;dr, if it exists in the original game I'm probably keeping it, if it doesn't exist in the original it's fair game though.

Anyway,

Also wrt the last bullets,

shinyquagsire23 commented 7 months ago

In my own testing, deadly sight and protection are both given to the player (only one or the other of course) regardless of whether neutral powers were assigned force stars, and this is consistent with the original game. I assume it's because neutral powers. are semi-required for stuff like secrets.

However, if you mix light/dark side powers or somehow remain completely default/neutral-only, then you do not get Protection/Deadly Sight. So whether you get the freebie power depends on if you stay completely on one alignment the entire time in your star assignments.

TheNipperOfFigs commented 7 months ago

In my own testing, deadly sight and protection are both given to the player (only one or the other of course) regardless of whether neutral powers were assigned force stars, and this is consistent with the original game. I assume it's because neutral powers. are semi-required for stuff like secrets.

However, if you mix light/dark side powers or somehow remain completely default/neutral-only, then you do not get Protection/Deadly Sight. So whether you get the freebie power depends on if you stay completely on one alignment the entire time in your star assignments.

Thanks. According to some old GameFAQs manuals, it was stated that these two special force powers were contingent upon not taking any neutral powers. Playing the game now, on the light side, Protection is available, but Deadly Sight is not on the dark side - bug. I remember Deadly Sight was available playing your mod, but perhaps it disappeared with the latest version. Or do these powers required that all light/dark side powers be maxed out i.e. 16 star allocation?

As an aside, JK really got the storyline alignment correct in that you became light or dark depending on the accumulation of choices throughout the game, rather than making a choice at that point. In other words, it would be ridiculous if Kyle killed all civilians and droids, only to make the choice to save Jan, resist the dark side and join the light.

TheNipperOfFigs commented 7 months ago

BTW why does the mod copy all the JK directory content to the User profile on the OS hard drive rather than just using what's in the original directory, which may be on a different hard drive? Seems like an unnecessary duplication, unless it's a measure to protect the original content from being overwritten in some way.

shinyquagsire23 commented 7 months ago

In order to get Deadly Sight in SP, you have to

To be honest I didn't even realize Protection/Deadly Sight in SP was a thing until I tested it to make sure it wasn't a bug, every time I'd played I always allocated to both sides, so I never got the bonus. But yeah the 16-star requirement only exists in MP.

BTW why does the mod copy all the JK directory content to the User profile on the OS hard drive rather than just using what's in the original directory, which may be on a different hard drive? Seems like an unnecessary duplication, unless it's a measure to protect the original content from being overwritten in some way.

Combination of factors:

TheNipperOfFigs commented 7 months ago

I'm playing level 19, max neutral powers and all dark powers, but only two stars in Lightning - Deadly Sight does not show. Also maxed out dark alignment as well. openjkdf2-64 2023-11-15 22-14-55

TheNipperOfFigs commented 7 months ago

Level 20: Boc

1) On the dark side, the video plays where Kyle rescues Jan who is tied up, but Jan was executed back after L14. Then during Rahn's monologue, you see Jan running away in-game, again when she is supposed to be dead.

2) The "Boc jumping bug" is still active on the dark side - Boc doesn't attack, just jumps around while sometimes standing there. Previously I thought it could've been triggered by not recognising the PC after using Persuade on a light side run, but it happens on the dark side as well.

3) The video after Level 20: Boc and before Level 21: Jerec again shows Jan.

4) On every light side run with all secrets, I can max out all neutral and light side powers. On the dark side, it comes up one star short.

shinyquagsire23 commented 7 months ago

Current status on bugfixing: Cutscene/timeline confusion bugs are now fixed in v0.9.1

(if you can confirm it on your end, do me a solid and add strikethrough (~~strikethrough~~) formatting on bugs that are fixed so I can keep better track of things)

TheNipperOfFigs commented 7 months ago

Current status on bugfixing: Cutscene/timeline confusion bugs are now fixed in v0.9.1

(if you can confirm it on your end, do me a solid and add ~strikethrough~ (~~strikethrough~~) formatting on bugs that are fixed so I can keep better track of things)

I started a new profile and used cheats to jump to Level 20 on both light and dark sides, but Jan still appears, running away from Boc, at the beginning on the dark side. So it doesn't seem fixed, unless using cheats somehow screws things up.

On the dark side, intro videos for Level 20 and 21 still show Jan, but looking through the SMK folder, this is a problem with the developers - they never created videos without Jan. Also, the lightsaber colour is always yellow not green in the videos, which assumes a light side run. The game is completely biased towards the light side, which I understand given it is canon lore, but still.

I would advocate you put a link to "Vurt's JK-DF2 Extreme Definition Texture Pack", as it radically improves the textures in the game, and will be further updated: https://www.nexusmods.com/starwarsjediknightdarkforces2/mods/2

shinyquagsire23 commented 7 months ago

Hmm, cheats was how I tested that the dark side was working (the SMKs don't play), I guess I can double check again

TheNipperOfFigs commented 7 months ago

I did a quick run of the game to see if I could spot any more bugs/errors.

1) The grans in L2 around these areas keep on respawning after being killed for some reason.

image

image

2) WeeGee texture is corrupted, something which was noted ages ago by others.

image

3) Pic of the upside down med kit near the start of L5

image

4) Quicksaving results in multiple messages at the top of the screen, seems like a random set of between 1 to 5 repeats. Also the text is very large and unclear. I doubled the HUD in the display settings to 2.0 which does affect the text, but even when set to 1.0, the text is still not good.

image

5) Another upside down med kit in the only secret area of L6.

image

6) An armor vest and shield boost placed together in Jerec's Palace in L6.

image

7) Another upside down med kit in the 4th secret area of L9, where the confined walkway is (where the wrench is located above).

image

8) In L12 after defeating the two Dark Jedi, near the start, you can hear stormtroopers firing at you from behind the wall here for some reason.

image

9) Referring to what was stated before about Protection and Deadly Sight: Protection is available despite neutral and light powers not being maxed out, but Deadly Sight is not available even with all neutral and most dark powers maxed out (see image above in previous post).

image

10) Not really an issue but I found it odd to see a civilian wondering around the top of the cargo crates at the end of L1, perhaps worth removing.

image

Notes

1) Boc seems to act as he should, he didn't just aimlessly jump up and down on the spot like in past runs.

2) The videos towards the end levels should probably be skipped on dark side runs given the presence of Jan and a yellow lightsaber.

3) At the end of a dark side run, did the proper dark side ending video play, or is it still set to the light side ending video?

4) Was the in-game rendered version of Jan running away from Boc at the start of L20 in a dark side run removed?

shinyquagsire23 commented 7 months ago

When I was testing v0.9.1, it skipped some of the last videos with Kyle sneaking around (basically anything with a yellow saber or Jan), Jan wasn't seen running away from Boc, and it played the final dark side video. Granted, I was testing with cheats (skipped to level 10 and used force powers to adjust alignment) and I was specifically testing to make sure that loading a save would keep the set alignment.

Do you have a full list of the mods you have installed by the way? Or at least all the gob names? I'm having trouble figuring out the alignment bug and I suspect it might be something subtle. Also I'm aware of that HD text font bug (it's used by some total conversion mods), but it also does that in 8bpp on the original game--for some reason the mod author left all the weird artifacts on the text glyphs.

also I guess to reiterate, level tweaks like the upside down medpacks, the respawning grans on L2, and the guy on the crates are kinda wontfix issues because they're coded in the assets and not the engine. The weegee bug and the quick save repeating text look interesting though.

TheNipperOfFigs commented 7 months ago

When I was testing v0.9.1, it skipped some of the last videos with Kyle sneaking around (basically anything with a yellow saber or Jan), Jan wasn't seen running away from Boc, and it played the final dark side video. Granted, I was testing with cheats (skipped to level 10 and used force powers to adjust alignment) and I was specifically testing to make sure that loading a save would keep the set alignment.

Do you have a full list of the mods you have installed by the way? Or at least all the gob names? I'm having trouble figuring out the alignment bug and I suspect it might be something subtle. Also I'm aware of that HD text font bug (it's used by some total conversion mods), but it also does that in 8bpp on the original game--for some reason the mod author left all the weird artifacts on the text glyphs.

also I guess to reiterate, level tweaks like the upside down medpacks, the respawning grans on L2, and the guy on the crates are kinda wontfix issues because they're coded in the assets and not the engine. The weegee bug and the quick save repeating text look interesting though.

I tested v0.9.1 by creating a new player, using cheats to make me a Sith Lord, increasing stars and manna, skipping to L20/21 but nothing changed.

The only mod I'm using is from ModDB, Jedi Knight Remastered: https://www.moddb.com/mods/jedi-knight-remastered/downloads/jedi-knight-remastered-30

Perhaps that mod is nullifying the changes you've made?

shinyquagsire23 commented 7 months ago

wait did you skip directly to level 20 or just thereisnotry all the way through? I think the Maw fight still has to happen for the alignment shift to register correctly, I can't remember if the numeric level skip cheat actually takes alignment into account.

TheNipperOfFigs commented 7 months ago

wait did you skip directly to level 20 or just thereisnotry all the way through? I think the Maw fight still has to happen for the alignment shift to register correctly, I can't remember if the numeric level skip cheat actually takes alignment into account.

I skipped directly to L20, after making the PC a Sith Lord. Perhaps you are right about having to fight Maw on L14.

Edit: No, still doesn't work. Made the PC a Sith Lord, jumped to L14, had the alignment change to the dark side, then skipped to L20 and nothing is changed.

MarcoWanke commented 7 months ago

I wanted to give some Infos about the issues stated here.

  1. The upside down medkits are placed in that way accidentally by the developers. In the original game or without mod for that matter, the medkits dont have a angular shape. So the orientation is not that important.

Unbenannt

  1. The respawning Grans are in the original too. The player has to traverse this part maybe more than twice. So the devs wanted to make this part a bit trickier. There are more parts in the game with respawning enemies.

  2. I dont know what the dev were thinking placing the guy on top of the stack of crates. Maybe it was: Sure why not, he is working up here.

To sum it up. These three points are not bugs in OpenJKDF2 itselfe. There are in the original release also.

P.S.: It was an intentionally design choice to make the dark side path harder.

TheNipperOfFigs commented 7 months ago

I wanted to give some Infos about the issues stated here.

1. The upside down medkits are placed in that way accidentally by the developers. In the original game or without mod for that matter, the medkits dont have a angular shape. So the orientation is not that important.

Unbenannt

2. The respawning Grans are in the original too. The player has to traverse this part maybe more than twice. So the devs wanted to make this part a bit trickier. There are more parts in the game with respawning enemies.

3. I dont know what the dev were thinking placing the guy on top of the stack of crates. Maybe it was: Sure why not, he is working up here.

To sum it up. These three points are not bugs in OpenJKDF2 itselfe. There are in the original release also.

P.S.: It was an intentionally design choice to make the dark side path harder.

Is there any info demonstrating this developer choice to make the dark side path more difficult?

MarcoWanke commented 7 months ago

Unfortunately not officially. It is mentioned in the review in the German PC player 12/97 and in a German podcast called BuckedHeads #56. it’s kind of o punishment for choosing the dark side, for killing civilians and droids. The light side ist the way the devs want you to go. You can see in the mission CD Mysteries of the Sith and in the sequel Jedi Outcast that the dark side is not considered canon. And besides the end cutscene there are no filmed special footage for the dark side. Even the killing of Jan is more or less the same video as for the light side. Just cut differently, a quick voice over from Jason Court and a added effect for the lightsaber striking Jan. That’s it.

TheNipperOfFigs commented 7 months ago

Unfortunately not officially. It is mentioned in the review in the German PC player 12/97 and in a German podcast called BuckedHeads #56. it’s kind of o punishment for choosing the dark side, for killing civilians and droids. The light side ist the way the devs want you to go. You can see in the mission CD Mysteries of the Sith and in the sequel Jedi Outcast that the dark side is not considered canon. And besides the end cutscene there are no filmed special footage for the dark side. Even the killing of Jan is more or less the same video as for the light side. Just cut differently, a quick voice over from Jason Court and a added effect for the lightsaber striking Jan. That’s it.

You remember what a PC mag said back 26 years ago?

I think it's kinda sloppy for the developers not to flesh out both sides equally. Jedi Academy handled the choices of sides and powers better. Nevertheless a great game for 1997, though MOTS was pretty crap compared to it.

MarcoWanke commented 7 months ago

Unfortunately not officially. It is mentioned in the review in the German PC player 12/97 and in a German podcast called BuckedHeads #56. it’s kind of o punishment for choosing the dark side, for killing civilians and droids. The light side ist the way the devs want you to go. You can see in the mission CD Mysteries of the Sith and in the sequel Jedi Outcast that the dark side is not considered canon. And besides the end cutscene there are no filmed special footage for the dark side. Even the killing of Jan is more or less the same video as for the light side. Just cut differently, a quick voice over from Jason Court and a added effect for the lightsaber striking Jan. That’s it.

You remember what a PC mag said back 26 years ago?

I think it's kinda sloppy for the developers not to flesh out both sides equally. Jedi Academy handled the choices of sides and powers better. Nevertheless a great game for 1997, though MOTS was pretty crap compared to it.

I remembered slightly. Then I looked it up in my PC Player PDF archive.

LadyEebs commented 7 months ago

"If you know any graphics programmers who can point me the right direction let me know though lol"

Send me a message on Discord, I'm a senior gfx programmer and can help👍(I've implemented various flavors of SSAO too many times to count).