intfic is a framework that allows you to write a branching story with minimal code.
It uses story files with a custom markup syntax that allows for the following:
- Write text or specific quotes of text with different colors
- Display options that trigger different Story Blocks or Story Files
- Set flags or add to counters in the GameState
- Check flags or counters in the GameState and conditionally display text or options
Additionally, I've included some basic functions for asking yes-no questions and traveling in the cardinal directions, should you prefer to take a more "text adventure" approach with code.
- Run the example with "cargo run"
- Examine the example story files and read up on the intfic Story File Markup Specification
- Write you own story, and update main.rs to start it!
This project is licensed under the MIT License - see the LICENSE.md file for details
Stores, saves, and loads an environment that can be changed and referenced by your story.
Parses story files and constructs a list of StoryBlock's.
Sanitizes and parses input, checking for system keywords.
Represents an atomic chunk of story with text, effects, and options.
Writes text with a typewriter effect and a variety of possible colors.
If enabled, various debug info will be printed during gameplay
If enabled, the typewriter effect of write_out is made instantaneous.
The base amount of time before the next line of a block is started, if FASTMODE is disabled.
The base amount of time before the next charater of a line is typed, if FASTMODE is disabled.
Prints a string if DEBUG is enabled.