HPL3/Amnesia: Rebirth/Tutorials/Notes

From Frictional Wiki
Jump to navigation Jump to search

This tutorial will tell you how to manage notes in the game.

About the sketchbook system

All notes, or rather: readables (notes are only one case of these) in the game can have a FrontEntry and a BackEntry. These are simply the text that appears on both sides of paper. When a note is picked up, it is added to a category in the sketchbook, where both sides can be read again.

Setting up

First, we're going to need a readables.cfg file. In this file, readables can be grouped into sketchbook categories. FG mostly grouped them by map, but you can group them as you want (e.g. "Journal"). In this tutorial we're going to stick to a map category for the sake of simplicity.

In our category we're going to create entries and assign lang entries to them. That means that the FrontEntry and the BackEntry themselves will be in another file. The ID is what we will put in the note in the Level Editor. Other parameters will be discussed later.

Here is an example: Readables.cfg:

<Readables>
	<Categories>
	
		<Category ID="sample_map" Name="sample_map_sketchbook_category">
			<Notes>
				<Note ID="NoteTest1" VoiceSubject="" FrontEntry="NoteTest1_FrontEntry" BackEntry="NoteTest1_BackEntry" ImageEntry="" />
                <Note ID="NoteTest2" VoiceSubject="" FrontEntry="NoteTest2_FrontEntry" BackEntry="" ImageEntry="" />
			</Notes>
		</Category>
        
        <Category ID="another_map" Name="another_map_sketchbook_category">
			<Notes>
				<Note ID="NoteTest3" VoiceSubject="" FrontEntry="NoteTest3" BackEntry="" ImageEntry="" />
			</Notes>
		</Category>
				
	</Categories>
</Readables>

As mentioned previously, the FrontEntry and the BackEntry need to point to a english.lang entry - and those entries need to be in categories that fit the ID set in the readables.cfg category. So, if we had a category with ID "sample_map" in readables.cfg, we're going to make a category with such a name in the lang file.

English.lang:

<LANGUAGE>
  <CATEGORY Name="sample_map">
		<Entry Name="NoteTest1_FrontEntry">My first readable</Entry>
		<Entry Name="NoteTest1_BackEntry">First readable's backside</Entry>
        <Entry Name="NoteTest1_FrontEntry_Name">This is the title of the note which will show in the sketchbook. It seems to need to be called the same as the FrontEntry + "_Name".</Entry>
        
        <Entry Name="NoteTest2_FrontEntry">Second readable. This one has only one side</Entry>
        <Entry Name="NoteTest2_FrontEntry_Name">Second readable note</Entry>
  </CATEGORY>
  
  <CATEGORY Name="another_map">
		<Entry Name="NoteTest3">Another one-sided note, so we're not even going to add "_FrontEntry" in its name this time</Entry>
        <Entry Name="NoteTest3_Name">Third readable note</Entry>
  </CATEGORY>
  
   <CATEGORY Name="Levels">
		<Entry Name="sample_map_sketchbook_category">This is the category name in the sketchbook. Normally it should be quite short, like the next example</Entry>
        <Entry Name="another_map_sketchbook_category">Notes from Another Map</Entry>
  </CATEGORY>
  
</LANGUAGE>

As you probably noticed, there is quite a lot going on. Let's break it down:

  • Each note needs a _Name entry to display in the sketchbook
  • Categories also have titles; these are for the sketchbook too. Remember the categories from readables.cfg? They had a "Name" parameter, and that's exactly it.

Once you have set up your categories, you only need to add entries to the two mentined files.

Once you place a note in a map, you only need to select it and go to Entity/Readable/ID and set it to one of your IDs from readables.cfg, such as "NoteTest1" in this example.

Custom notes

As you might have noticed, pretty much all notes from Rebirth have more-or-less clearly visible text in English. That means you will need to use the notes that are least legible for your custom ones. Ideally, there would be generic notes like in The Dark Descent, but these need to be made or ported first. If that happens, a download should appear here.

Special readables

Some readables are going to need a bit more set-up than regular notes, such as:

Adding voiceovers

Coming soon

Other entry parameters

These can be configured in readables.cfg.

  • Note:
    • ID: Readable's ID. It must be unique.
    • VoiceSubject: The audio voice file that will be played while reading the physical version of the note.
    • FrontEntry: Readable's front side text as defined in .lang files.
    • BackEntry: Readable's back side text as defined in .lang files.
    • ImageEntry: An image file to show alongside text in the sketchbook.
    • AddToSketchbook: Whether this entry should be added into the sketchbook or not.
  • Memory Cylinder:
    • ID: Memory Cylinder's ID. It must be unique.
    • FrontEntry: Memory Cylinder's front text entry.
    • IsMemoryCylinder: Whether this is a memory cylinder.
    • MemoryCylinderLinesCount: The number of voices the referenced cylinder subject holds.