sloukit / pydew-valley-uzh

Mod of Pydew Valley for an experimental study in Psychology
Creative Commons Zero v1.0 Universal
32 stars 61 forks source link

3 new scripted scenes added #198

Closed HubertReX closed 1 month ago

HubertReX commented 1 month ago

Summary

This PR implements 3 new scripted scenes and introduces some general improvements:

Details

For the npc_receives_necklace sequence, the NPC is selected randomly - just for testing. Currently, the Ingroup NPCs gather around an actor (player for 2 first sequence and random NPC for the third) in a half-circle automatically. It might get tight if there are more NPCs - I don't what is the expected maximum number of ingroup NPCs. To solve it, the radius of the circle can be expanded.

Checklist

Labels

type: feature

HubertReX commented 1 month ago

There are no visual (e.g. confetti) or audio (e.g. 'ta da' sound) effects that would make the event more exciting

sloukit commented 1 month ago

Wh

Bildschirmfoto 2024-10-12 um 15 25 07

When I hit l, the game crashes. @HubertReX, could you check this?

HubertReX commented 1 month ago

@sloukit yes, I missed it. It's fixed in #199

DangerousVanilla commented 1 month ago

@HubertReX, looking good. In the details you mention you 'prevent fast forward (skip) intro showing in the main menu' but it looks like you're still able to do this: image

DangerousVanilla commented 1 month ago

I also just found that there are some strange camera/positioning glitches when coming out of the scripted sequences.

https://github.com/user-attachments/assets/36cbbf62-7044-4d56-b03f-3ab4aa47bb91

HubertReX commented 1 month ago

@HubertReX, looking good. In the details you mention you 'prevent fast forward (skip) intro showing in the main menu' but it looks like you're still able to do this:

What I meant by this, can be seen in this clip:

https://github.com/user-attachments/assets/90e421b7-cc4d-4817-b416-be498287804f

And this is blocked in this PR.

In your screenshot, you are showing a running scripted sequence and there is something else about how fast forward works to be decided. Although one can FF, it won't end/close the scripted sequence like in the intro, because I'm waiting for the player to close the dialog box first. The sequence is very short (4s in total) and there are camera movements, and dialog to read - it might be overwhelming for players, so waiting for the player to read and progress through the dialog can help. In my opinion, showing the dialog text after the scripted sequence has ended and the camera is back to its original position doesn't make sense.

Let me know if you want to have it done differently.

HubertReX commented 1 month ago

I also just found that there are some strange camera/positioning glitches when coming out of the scripted sequences.

I'm not sure if I'm guessing correctly, but I think you are starting the scripted sequence from the position very close to the gathering point. Now, the first step in those 3 new scripted sequences is to teleport the user (and NPCs) to the gathering point and instantly move the camera there. This is done with a harsh 'cut' - in one frame you can see your character in the current position, and in the next frame your character and camera are in the meeting point. I didn't add a camera transition from the original position to the meeting point since the character 'teleport' would still look wired - a rapid jump from one position to another.

One other solution might be to use the fade-in and fade-out transition effect as the one used when entering a new map. The logic behind the transition effect was a bit cryptic for me and didn't want to make this PR too big.

Another idea to minimize this problem, at least at the end of the cutscene, would be to leave the player in the meeting point, without teleporting him back to the original position. For me personally, this would be annoying if a cutscene would take me away from what I was doing and not bring me back. This of course depends on what triggers the cutscene and what happens after and I'm not quite familiar with the full context here.

I'm open to suggestions.