snozbot / fungus

An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
MIT License
1.59k stars 291 forks source link

Scrollable Say Dialogs #252

Open RonanPearce opened 8 years ago

RonanPearce commented 8 years ago

This was a feature requested on the forums http://fungusgames.com/forum/#!/general:scrollableexpandable-dialo

To get this to work, we need to be able to specify different input modes for advancing the text (click anywhere, click on text, click on button, keyboard input). We also need to make the scroll rect scroll down automatically when new text is displayed.

RonanPearce commented 8 years ago

(Comment from Marcin Ruskiewicz) @vividfoundry Yeah, I actually never got into Ren'Py, so it kinda slipped my mind as I haven't played that many games made with it, I was just curious since to me, the whole rollback mechanism doesn't feel right or user-friendly at all.

@fungusprime Yes, two separate systems just as you described would be most awesome.

RonanPearce commented 8 years ago

(Comment from Tanya) @fungusprime I understand, and I agree with your thinking on the two separate systems, as well as more customized UI commands for things such as a scrollable dialog box! That would be a major help, as I am getting stumped on this! Thank you.

@marcinruszkiewicz I wasn't sure which VN tradition you came from, and I agree that history / log / read-only transcript is the design mechanism that I would want to use in the foreseeable future as well.

I do know that game engine Ren'Py uses rollback choice mechanic as standard and default (documentation here), thus, a lot of games created within that community features rollback with choices. The engine also has a proper save slots function as standard, but I think their design consideration is that it more mirrors a chose-your-own-adventure in a printed book, allowing you to switch your previous choices at will. Games such as Long Live the Queen and Dysfunctional Systems and fan-translated Japanese VNs have this style.

Personally, I prefer history logs, so that the player experiences the game generally chronologically to how it is written, and s/he can chose to have a different play-through as a separate game, rather than within the game experience itself. It makes choices feel more finite. I'm glad that we're thus referring to the same design considerations, and much ado about nothing on my end! Sorry if there was any confusion.

RonanPearce commented 8 years ago

(Comment from Chris Gregan) @vividfoundry @marcinruszkiewicz I think this would be two separate systems.

History / Log - a read only transcript of the story and choices so far which appears in a separate window. A scrollable dialog box where you can scroll back to see earlier decision points and choose a different option. My thinking on this at the moment is to keep the Say & Menu commands specialised to make it easy to make a classic Visual Novel, but then to also provide more generic UI commands which allow you to work with very customised UI layouts.

RonanPearce commented 8 years ago

(Comment from Chris Gregan) @andrewvasiliev Auto-splitting sounds like a useful feature. Will add it to the list. You can currently do a manaul split in long block of text by adding a {wc} tag.

RonanPearce commented 8 years ago

(Comment from Marcin Ruskiewicz) @vividfoundry Most VN's don't do this though - the history is usually just what the name suggests, a log of previous choices and dialogs/descriptions. Most of the time it's also called "log" anyway.

As a little offtopic - I wasn't actually aware of this rollback mechanic tbh, do you have some examples? With a proper save system you don't have to rollback and I'm not so sure it would even be a good thing from a game design perspective. Seems really confusing.

RonanPearce commented 8 years ago

(Comment from Tanya) Thanks so much Fungus team for continuing to work on this! Really looking forward to next release that includes more options in the Dialogs class to include scrollable say dialogs.

Agreed with @marcinruszkiewicz as well that I look forward to a History function with visual novels as well. I also wonder if there is an option for History to enable or disable changing previously made menu choices? I believe this would impact gameplay. I personally prefer disabling choices in history once they have been made, and thus gameplay functions like Dragon Age and Telltale's Walking Dead where the player cannot roll back the dialogue that has already made, unless the player reverts to an earlier save. However, I am aware that some Japanese-styled visual novels principally prefer the rollback method so that the player can change choices and see more branches of the story.

RonanPearce commented 8 years ago

(Comment from Andrew Vasiliev) Sorry in advance if writing in wrong place. Will scrollable say dialog include option to auto-split to next page/say provided text at certain length or {next say} mark? Would help a lot when you have a long texts that doesn't fit into one screen but said by one actor or narrator. Anyway looks promising, keep it up ;)

RonanPearce commented 8 years ago

(Comment from Chris Gregan) Thanks for the screenshot, that helps. I'll work this into the upcoming design pass we're doing to improve the flexibility of dialogs and UI components.

RonanPearce commented 8 years ago

(Comment from Marcin Rusjkiewicz) @fungusprime Sorry for the delay, though week. Anyway.

I think the history should be a specialised dialog, something to the tune of http://games.aevi.pl/external/kirakira_textlog.png (ignore the strange fonts on that screen), where you have dialogs and I've managed to capture a menu choice as well. It's probably not the best example, as it could be improved a lot by simply adding character names and formatting it better, but it's the only VN I have on hand right now, so I guess it'll have to do. ;)

It kinda evolves the simple "this dialog can be scrolled up and down" feature request, so maybe it would be a nice idea to separate them, as scrollable normal Say dialog boxes would be also nice.

RonanPearce commented 8 years ago

(Comment from Chris Gregan) @marcinruszkiewicz Good suggestion, thanks! It's easy enough to keep a record of previous narrative and menu choices. One question is what would happen if you're using several different Say dialogs to present the story. Would you be able to scroll back through the history in each dialog? Or would this be more of a specialised dialog type?

RonanPearce commented 8 years ago

(Comment from Marcin Ruskiewicz) This will be useful on its own (especially the "click on text to advance" part), but it would be even more useful with having some sort of history component, that could show the past narrative (with character names) + which choices the player selected in menus.

It's common enough in most Visual Novels I think.