Opened 16 months ago

Last modified 5 months ago

#13804 new defect

SCI: LSL6: Larry can walk out of bounds in locker room

Reported by: RayKoopa Owned by:
Priority: normal Component: Engine: SCI
Version: Keywords: pathfinding
Cc: Game: Leisure Suit Larry 6

Description (last modified by RayKoopa)

ScummVM 2.7.0git2368-g37379daf724 (Aug 27 2022 16:01:24)
Game language: English
Game version: Hi-Res 1.000.000
Windows 11 22H2 10.0.22622.586

Larry can escape the confinements of the Locker room right after undressing. Happens in both HiRes and LoRes.

Steps to reproduce:

  • Start a new game.
  • Go to the Health Spa, grab a towel.
  • Go to the Locker Room and undress with the towel.
  • Click to the left of Larry and he will walk through / behind the lockers, out of bounds.

It's not too exploitable as he still cannot escape the room; at about half height he enters the Men's Shower, at the bottom the game reset him into valid bounds as he cannot leave undressed. Also, you cannot enter the Women's Locker Room with this - just in case you asked.

This does not happen in DOSBox. Feels like in ScummVM, he isn't placed properly after undressing?

Note: The save also has a muted music bug which is unrelated, as commented by me in #13546.

Attachments (2)

lsl6hires.003 (45.2 KB ) - added by RayKoopa 16 months ago.
image-20220827-193420.png (182.0 KB ) - added by RayKoopa 16 months ago.

Download all attachments as: .zip

Change History (7)

by RayKoopa, 16 months ago

Attachment: lsl6hires.003 added

by RayKoopa, 16 months ago

Attachment: image-20220827-193420.png added

comment:1 by RayKoopa, 16 months ago

Description: modified (diff)
Summary: LSL6HIRES: Larry can walk out of bounds in locker roomLSL6: Larry can walk out of bounds in locker room

comment:2 by sluicebox, 16 months ago

Keywords: pathfinding added; map removed

ScummVM has a different pathfinding algorithm than Sierra's due to a software patent. Occasionally there are edge cases, this might be one of them. We're under the impression that the patent has since expired and that it's okay to implement it but... that is very hard so don't hold your breath. Better programmers than me have tried!

I reproduced this out of bounds walk, I can take a look later and see if this is an easy one where a coordinate patch fixes it but really the hope is that we someday implement the real algorithm and wipe all of these edge cases out.

comment:3 by RayKoopa, 16 months ago

Thanks for letting me know, didn't know there's another algorithm in use.

comment:4 by sluicebox, 15 months ago

It's amazing how few pathfinding edge-cases come up; the ScummVM algorithm is really good at almost always achieving results that are indiscernible from the original. There are papers written about the effort and programs that went into it; it's jaw dropping. It's one of those things that really makes me feel like I missed the party by... a decade or two.

I took a closer look and this script does put larry one coordinate further left than any other script, or anywhere he should be able to walk to, so it looks like an easy workaround would be to script patch those coordinates one to the right. Have to test that on lo-res and see if it's needed there too.

Please keep reporting any other out-of-bounds stuff like this. If they're easy to patch with workarounds we can, and either way they will make good test cases if/when we implement sierra's algorithm.

comment:5 by tag2015, 5 months ago

Summary: LSL6: Larry can walk out of bounds in locker roomSCI: LSL6: Larry can walk out of bounds in locker room
Note: See TracTickets for help on using tickets.