1
0
Fork 0
mirror of https://github.com/Oreolek/gamebookformat.git synced 2024-05-17 16:38:20 +03:00
gamebookformat/todo.org
Pelle Nilsson df7ea9838a Added test for listing only sections with some tag.
Noted that unfortunately a missingto setting is required for this to work,
and the missingto section will be included in the list.
Not ideal perhaps for things like listening todo-tagged sections.
2014-02-28 22:59:10 +01:00

7.8 KiB

TODO [56/80] [70%]

DONE Debug output

DONE DOT output

DONE LaTeX output

DONE RTF output

DONE HTML output

DONE Split out template hanlding into separate class from output

DONE Inject Output dependencies

DONE Save section-number mapping and reuse automatically

DONE Add support for custom document templates.

Fixed names and/or command-line options.

DONE Add section links in LaTeX output.

DONE Prettier LaTeX output

Look at how some existing gamebooks are formatted.

DONE Parse wiki-style tags used to mark up sections

DONE New text formatting style for section references

DONE Inventory pick up items

DONE Codewords set

DONE Check if has inventory item

DONE Check if has codeword

DONE Remove item from inventory (forced by instructions)

DONE Enable link if not having an item

DONE Enable link if not having a codeword

DONE Make sure dropped items can not be picked up again

DONE Fix problem with map file from other book sometimes crashing formatter

DONE Keys from formatted book should be added to map file, not replace it

DONE Make inventory and codewords generic

They are the same, sort of, and it might be good to be able to add other similar entities as well, like skills or spells or whatever.

DONE Otherwise/else handling for has.

DONE Redesign otherwise/else to use xor tag on section reference.

DONE Disable all links after finding an auto link (that is enabled).

DONE Default templates. (templates/default?)

DONE Book option to set title

DONE Book option to set author

DONE Book option to set max section number to use

DONE Quote strings to not break formatting.

DONE Include other templates from a template.

DONE Template for book introduction (including rules etc)

Sections with some markup (has number 0?) are added as chapters of introduction, otherwise formatted identical to other sections.

DONE Inserting images

DONE HTML hide intro sections with link to display again

DONE Only accept specific characters in section names

eg [a-z][a-z_0-9]+

DONE Random pick of link to follow from a section.

DONE Possibility to make predictable random numbers and shuffling for testing

DONE Test generate examples and compare to expected output in all formats

DONE Unit tests (finally…)

DONE Save game (ie player) state

DONE Load game (ie player) state

DONE Flag to select what tag(s) to include (eg for demo/preview/short…)

Allow sections with same name as long as only one is included. Add book config for what section to use for references to excluded sections (eg links to outside of demo version can lead to section explaining that)

DONE Counters (life, money, whatever) create and set

count tag to declare new counter, text in tag is display name optional argument sets the starting value of the tag display somewhere on page (in HTML output)

DONE Counters increase/decrease

DONE Counters check

DONE Make sure HTML output works with javascript disabled

and in inferior browsers

DONE Make sure counters start at 0 (not 1).

DONE Remove the counter names from counter-tags output (and templates).

DONE Buy (optionally decrease a counter to add something to a collection)

buy tag to specify what can be bought, eg [buy item]sword[/buy] followed by cost tag to specify what it will cost, eg [cost gold]3[/cost] Implemented by adding cost to the old found tag (put cost tag after it). Might reconsider and make explicit buy tag for clarity?

DONE Add text template used for outputting non-tagged (plain) text.

DONE Named references, when that style is wanted (especially for HTML).

DONE Seems to be a bug in rtf template, inserting image filename.

DONE Javascript tests running in nodejs (no GUI)

The big scripts in html templates are split out into separate files already (script.html and endscript.html). It should be possible to test those from nodejs?

DONE Make debug output more useful with a stricter format easy to parse.

Will be taken care of when implementing JSON output.

TODO Trade decrease one counter to increase another counter.

TODO Pick a specific number of things from those found in a(n intro) section

Used to pick up one or more of something found, or before starting. Create counter and set to how many are allowed to be picked. Add buy (and cost) tags for what can be taken. Need to make sure it is rendered in a good way (might need more tags). Set max of the counter used to 0 and never allow navigation while some counter is above its max. Without setting the max player can decide to pick up fewer (or none) which might of course also be ok at times. This will also work for picking eg starting skills.

TODO Subtract from counter when following link (implies has at least that)

This is the cost tag again, when it immediately follows a reference.

TODO Add keyword when following link

This is a new tag that follows a reference similar to a cost tag.

TODO Use points to buy values for counters

Eg to buy starting values for some attributes in introsection. Create a counter in that introsection, set to some value. Use cost tag following inc tag to set price for increasing a counter. Set max for points to 0. Do not allow navigation until all points are spent (ie never allows following links while a counter is above its max value). The same mechanism can of course be used in-game at any section to allow the player to buy increases in different counters.

TODO Tag to indicate HTML counter not to be visible outside of one section.

TODO Combat

Tag to mark up the link to use to trigger next round. Tag to mark up the enemy and its values. Fixed set of combat abilities handled by javascript (some way to configure ability names, but in that case javascript for combat, in a separate file, must be overridden)

TODO Some way to insert character sheet in book introduction

TODO Some way to insert optional dice at bottom of pages for LaTeX

TODO Some way to insert optional random numbers table at end of book

TODO Defensive removal of any weird unicode not handled by quoting.

TODO Somewhat user-friendly error messages

TODO More formatting possibilities in sections

Look at existing gamebooks to get ideas.

TODO Document Gamebook format

  • Basic gamebook (static, nothing about magic needed for dynamic; tutorial)
  • Advanced (more complex layout options, but still static)
  • Dynamic (markup needed to make playable (HTML) version)
  • Standard output formats reference
  • Customization (make new output formats or override existing)

TODO HTML with javascript active, do not make new URLs (that break history)

TODO Javascript GUI tests running in a browser

Preferably headless (in nodejs?). Run tests on gamebook html example(s). Work on laptop stashed as zombietest (using zombietest obviously).

TODO HTML CSS

TODO Higher level text-language for Gamebooks

TODO BGG forum output (.bgg)

TODO Verify gamebook

TODO Fix broken references in list option output for some tag

When using the list option, and only including only sections for a tag, there currently has to be a missingto section, and that section is always listed even if it is not tagged.

TODO Add json output file containing sections, counters, collections etc.

This output format down-prioed because requires some changes to handle new-lines. All previously supported formats handles new-lines in text without problems, JSON do not. New-lines are added in ways that can currently not be affected by quoting functions.

TODO Sell (optionally increase a counter to drop something from a collection)

sell tag to specify what can be bought, eg [sell item]sword[/sell] followed by cost tag to specify what it will cost, eg [cost gold]2[/cost] Might want to wait with this and add normal drop function first?

TODO Dummy and fake sections (handle properly when verifying)