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

Gamebook Structure

At the most basic level, a Gamebook is composed of Pages. Every Page, except for ending Pages, must have at least one Decision that the player can make. These Decisions lead to other Pages. This is your basic choosable path adventure game format, just a bit automated for you and the player so you don't need to say, "Turn to page 24". But Gamebook Engine goes a little bit further by adding Attributes.

Attributes hold just a floating point number, but they're very powerful. Attributes allows you to write dynamic adventures without having to manually keep track of every player decision. Want to remember that the player saw a certain event or picked up a certain item? Create an Attribute for it to keep track of it. You can also use Attributes to manage player health, currency, NPC relationships, ... and whatever else you can think of.

When you're setting up a Decisions on a Page, you can set Rules to govern whether that Decision is available to the player at that time. You can set multiple rules, where either any or all the rules must be matched. To keep things simple, more complex matching patterns are not possible. Rules are also fairly simple, they can only check whether the Attribute is equal, not equal, greater than, or less than another number.

Modifying Attributes is handled via Consequences, which are defined at the Page level. The general idea being that it's the content of the page that really determines what has changed for the player, which means that the Consequences could be "the consequences of your actions" or simply the "consequences of that page". Like if the player character picks up a key, or if the player character damages their relationship with another character.

With these simple underlying concepts you should be able to build dynamic gamebooks that entertain and delight players. Never be afraid to experiment and try new things, and be sure to share your gamebooks with your friends!

Learn More

Clone this wiki locally