Forum rules - please read before posting.

Journals: A Feature Wishlist

edited August 2015 in Engine development
I'm currently experimenting with a sort of Player Diary / rudimentary Hint System using the Journal Menu and some improvements/missing features came to my mind:

1) "Add pages only once" function
2) Open specific pages when opening the menu
3) Show current page and total pages 

Let's go into detail:
1)  I want to add specific Journal Pages when the player progresses through the game. I noticed that it's currently not possible to add a Journal Page only once. 

So let's say, I want to add a page to the journal the first time I go through a door. I use the "Add Journal Page" Action to add the page. But the journal page is now added every time i go through the door. A workaround would be to create a variable for every journal page (if the order you add the pages is strictly linear, one variable could be enough for all journal pages), but that's ugly. Another workaround (the one i'm using currently) is to misuse Dialogue Options, because they have the "Set to: Off Forever" function. So, every time I unlock a journal page, I start a conversation which DialogueOptions contains the "Add Journal" Action and set it to "Off Forever" afterwards. This works, but feels very ugly too. 

So, a "Add journal page only once" option in the "Menu - change state - add journal page" options would be very helpful, wouldn't it?

2) Currently, the last opened diary entry is shown when the journal menu is accessed. Since i'm using the journals as a diary-hint system, It would be great if the last (newest) page would be shown when the journal menu is opened. To be flexible here, settings for the page which should be shown would be very helpful (e.g. "show newest page" "show last read page" etc.)

3) I would like to have an page overview shown at the bottom of the journal, like "Page 3 of 30". Afaik It's currently only possible with two global vars, one showing the total number of journal pages, the other one counts up. Which is a rather ugly solution, because i would have to always adjust the variables when I create or delete journal pages. So, a out-of-the-box "Current page of total pages" label would be very helpful.

Thanks!!

Comments

  • 1) Might be possible, but I expect a caveat would have to be that the Action is gatherd in the Speech Manager before this will work.

    2) Good suggestion.

    3) Good suggestion, but I don't know if more label types would be good for clutter.  I'll consider it.
  • An update on 3):

    My first thought was to create new label types that let you show the page numbers of a Journal, but I wasn't happy with going down that road: it's too "specific" an option, and one of those things where if you start going down that road, there's no end to what other label types people will want.

    Instead, my solution is to introduce a new feature: custom tokens.  Using very simple script commands, you can define your own tokens that can be inserted into menu labels and speech text.  Something like:

    Page [token:0] of [token:1]

    where [token:0] gets replaced (through a simple command) with the current page number, and [token:1] with the total number of pages.

    The function would be something along the lines of:

    SetToken (1, totalPageNumbers);

    These tokens would also be stored in save game data, and the label text could be translateable - so you could write e.g. "Page [token:0] sur [token:1]" in your French translation.
  • Oh, sounds cool, thx!
    PS: It's German, not French ;-)
  • Just an example..
  • Ah, I took the "your translation" too literally ;-)
  • Hi! I'm now finding this thread because i'm looking for a way to display the last added Diary entry when opening the Diary. As this thread is almost 2 hears old, i'm hoping there is a way to do this? Would be great. Thanks!
  • Yes - the Menu: Set Journal page Action can be used to set the current page to the first, last, or specific page number.  If you place this action in the Menu's ActionList When turn on asset, you can have it set there before the player sees it.
  • Perfect, thanks Chris!
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Unity's Adventure Creator.