Skip to content
Brad Root edited this page Apr 10, 2023 · 11 revisions

Pages are the core building block of Gamebook Engine.

Type

By default, a page has no type, it is just considered a "normal" page.

But the first page of a game fulfills a special purpose and must be marked as such, so that the app can find it among the other pages. There can only be one first page in a game.

Similarly, an ending page should also be marked, and it cannot have any decisions (since it is the end of the story). There can be as many ending pages in a game as you want.

Gamebook Engine does some validation in the editor to help you: if the page type is "first" or "normal", it will warn you in multiple places if that page does not have any decisions. The page will be marked with a warning symbol in the tree view, and in the page editor there will be a warning telling you to create decisions or mark the page as an ending.

Content

Page content is plain text formatted with Markdown. There's currently no real limit on how much content you can put in the page, excepting the database level limit of what Core Data String type can hold. Let's not try to find out what that is, it's probably too much for anyone to reasonably read.

Markdown Support

We use MarkdownKit for rendering Markdown in iOS, and its Markdown support is relatively limited, but the important things are supported:

*italic* or _italics_
**bold** or __bold__
~~strikethrough~~

# Header 1
## Header 2
### Header 3
#### Header 4
##### Header 5
###### Header 6

> Quote

* List
- List
+ List

`code` or ```code```
[Links](http://github.com/ivanbruel/MarkdownKit/)

Decisions

Every page, except for ending pages, must have at least one Decision.

Ending pages may not have any decisions.

Consequences

Every page can have Consequences but they are not required.

When players land on a page, Consequences' affect on Attributes are determined before Decision Rules are checked.

Clone this wiki locally