carenalgas / popochiu

Godot plugin to make point-and-click adventure games, inspired by tools like Adventure Game Studio and PowerQuest.
https://carenalgas.github.io/popochiu/
MIT License
205 stars 19 forks source link

Examine Component #309

Open CoreMegalithium opened 1 month ago

CoreMegalithium commented 1 month ago

What's the expected benefit of the feature you are requesting?

An enhanced examine function. will help with narrative storytelling (notes, maps, journals, etc) will help interaction ( examine could uncover game clues) versatile enough to be used for other things (short cutscenes), character closeups, action shots (i.e a hand grabbing an object) jump scare? (ghost or ghoul fills screen)

Describe the solution you'd like

An optional component that is launched by the examine function.

When the player examines a prop, inventory item, hotspot, character or any interactible object, a short custscene occurs

  1. display an enhanced view of the object
  2. display additional information

examples are a map, a note, a close-up of an inventory item, detail about a character or a hotspot.

this feature could be implemented as a POPUP in the gui.

for an inventory item, it should not be bound to a specific room but rather to the engine scope.

the component, to be versatile, should have:

  1. a sprite
  2. a text box that can be resized as an overlay or a seperate description
  3. an animationplayer
  4. an audiostreamplayer (for sound effects or narration)
  5. methods to turn on, turn off, fade in, fade out (sort of like a cutscene)
  6. var counters (viewcount, etc)

https://github.com/user-attachments/assets/f24317b4-7c54-4bff-b401-2d7a86ad4a87

mapedorr commented 1 month ago

Hi @CoreMegalithium . Thanks for taking the time to create the feature request (and adding a video showing the expected result).

We could provide devs a specific type of popup with such structure so it can be called from anywhere in the game (we already have a function to do so: opening a Popup by its script_name property).

Soon, we'll focus on improving the UX related to adding GUI components. We'll likely provide a way to create popups, and adding one for this type of mechanic will be easy.