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
177 stars 18 forks source link

Gaming diary for player characters #124

Open stickgrinder opened 9 months ago

stickgrinder commented 9 months ago

Benefit description

Adventure games are for old farts and old farts can't play for hours in a row as they were kids. Most modern games acknowledge the lack of continuity and help the user refreshing their memories providing an "in game" diary, in the form of an inventory item or via a dedicated GUI so that the player can read back important happenings, check their goals, etc.

Solution description

For every player character, the developer can add entries to the diary in the form of a simple text. The Engine will provide simple functions to push/pop from a stack of entries and retrieve the whole thing to display it to the character. Creating the GUI for the player is on the game dev (may be an inventory item, a dedicated key, etc). Of course, in line with #40, the engine can provide some default GUIs for that, just for the most common cases (diary item, window overlay with scrolling, paged modal).

Exclusions

At least in a first implementation this function won't provide rich text (images, formatting, etc) and won't make any specific assumptions on how the entries will be rendered, aside from providing template GUIs as described. Also, breaking long entries in parts depending on the GUI's limitations will be up to the developer.

Implications

This kind of stuff is pretty simple and may already be implemented with a state array on the character. Having an engine-provided feature though, would allow us to document that functionality and provide template guis for it.

Despite that, this issue may as well be a candidate for a tutorial on how to customize/extend Popochiu with vanilla Godot techniques that would achieve the same goal.

mefjak commented 5 months ago

Empty diary mockup.

https://github.com/carenalgas/popochiu/assets/22888465/504c9630-bfd5-4363-bc79-ade46774a426

stickgrinder commented 4 months ago

Great @mefjak ! :) Really nice

anthonyirwin82 commented 4 months ago

Return to monkey island call this a todo list and has different game objectives in it. The things you need to to. It expands as you talk to people or come up against obstacles/puzzles to solve.

they also have a separate hints system that seems to be linked to the available todo items.

the hints give basic hints on how to complete the different todo items without giving the answer outright. This allows players to finish the game without searching the internet for a walkthrough.

mefjak commented 4 months ago

To be honest I was thinking about todo list as something additional. Developer could then choose if he wish to add Todo list or/and diary where first one would be list of points to accomplish with those already done and the second more descriptive way of tell player what he did to some point in the game.

To be hones I sometimes wished that every game has that where I go back to some adventure game after a long time and don't remember what to do next :P

stickgrinder commented 4 months ago

The original description of this issue refers to a diary/log, similar to the one @mefjak describes, that the player can review to recap the situation.

I also found the to-do list in RTmI a good idea. It is complemented by a very nice mechanic in the "post-load cutscene," where Guybush asks, "Do you remember where we were?"

The scope of this issue would be better limited to this last version. It's an economical way to achieve a recap. We can extend the API to support pop/push or add/remove functions that would allow changing an entry from "todo" to "done." That should be easy to achieve as a side effect.