idrellegames

wayfarer, a dark fantasy

Interactive Fiction Design, Coding in Twine & Other IF Resources

This is a masterlist of everything under my coding in twine tag and links to useful Twine resources. It also includes general interactive fiction writing and development tips that can be applied to any IF engine (ChoiceScript, Ren'py, Inkle, etc).

Whether you’re beginning to plan your game, experimenting in the Twine engine, or switching to SugarCube, these links should (hopefully!) be a good place to help you get started.

If you’re struggling with IF development or don’t know where to start, you’re welcome to send me an ask! 💕

Interactive Fiction Design & Writing

Tips for Getting Started

  • 6 things to consider before you start making your game (x)
  • General advice for beginners (x)
  • More general advice for beginners (story progression, choice-based non-linearity, etc) (x)
  • How to stay on task/handle motivation on longform projects (x)

Writing & Design

  • Creating relationship and approval systems (demonstrates in Twine/SugarCube, but can be applied to any language or engine) (x)
  • How to plot/structure a choice-based, non-linear story (x)
  • Writing romance and relationship progression in choice-based games (x)
  • Designing and managing a hub + quest/mission system (x)
  • Designing combat systems (x)
  • General outlining advice (for any writing project, not just IF) (x)

Coding in Twine

I only work in SugarCube, so my own tutorials won’t work with Twine’s other story formats (Harlowe, Chapbook, etc). I cannot answer questions for non-SugarCube formats.

IMPORTANT: If you are copy/pasting code directly from my posts on the desktop version of my blog, you may need to edit quotes into straight quotes. My desktop theme automatically turns some quotes into curly quotes, which will break the code.

Opening the post in the tumblr dashboard view and copying from there does not have this problem. See here.

Twine Editor

  • How to colour-code your passages (x)
  • Using the Twine editor + Tweego to create a large game (x)
  • Introduction to Tweego & how to use it to compile separate HTML files into one game (x)
  • How to add images to Twine (x)
  • How to use custom fonts (DaFonts, Open Dyslexic, anything not in Google Fonts) in Twine (x)

Mechanics

Defining and Managing Stats

  • How SugarCube’s StoryInit passage works (x)
  • More info on the StoryInit passage / why you can update values and it doesn’t reset to the value in the StoryInit passage when you load a save (x)
  • Different variable types in SugarCube and where to use them (x)
  • Overview of setting stats in SugarCube and making a stat bar (x)
  • Setting pronouns for the player character & gender-selectable NPCs (x)
  • Basic gender-selection for gender-selectable characters (x)
  • Coding the player character’s name selection with name suggestions (x)
  • Using .toUpperFirst to capitalize personal pronoun variables (x)
  • How to track variables for a Character Creator (x)
  • How to link and forward to different passages based on variable value (x)
  • [NEW] Coding reactions based on stats (x)
  • [NEW] Defining and using personality stats (x)

Functionality

  • Adding Autosave (x)
  • Adding a Fullscreen toggle (x)
  • Using conditional statements to block off areas of the menu until the player finishes a specific section of the game (x)
  • 5 ways to notify the player of skill check failure (x)
  • Adding achievements and tracking them across multiple saves (x)
  • Merging multiple linear passages (i.e. passages with a continue/next link but no choices) into a single passage node (x)
  • Hiding text/images until a certain passage is reached or condition is met (i.e. hiding the Journal until the Prologue is complete) (x)
  • Three-part answer post on managing story branches, combining story passages for small-scale choices, and writing and editing software (x)
  • Pros and cons of the <> macro and how to use cycling links (x)
  • Setting variable values via <> (part 1, part 2)

Using SugarCube’s Macros, Custom Macros & Other Mechanics

  • How passage links work in SugarCube (x)
  • Using radio buttons to select variables (x)
  • Using buttons to close a dialog box and proceed to the next passage (x)
  • Using Chapel’s notify macro to make an autosave notification (x)
  • Adding dialog boxes/popups (x)
  • Using the textbox macro (x)
  • Making a clickable HTML map (also includes information on fantasy map creation tools) (x)
  • How to use widgets (x)
  • Using and managing inventories (x)

UI & Design

  • How to style buttons (x)
  • How to use ImportStyles to add icons to your game (x)
  • Making a Main Menu/Start Game page (x)
  • Adding a stats/relationship menu to the default side bar (x)
  • Editing the passage element to add a border radius (x)
  • Adding multiple themes to your game via the Settings API (x)
  • Styling player choices at the bottom of the passage (x)
  • Styling the Settings API and dialog boxes (x)
  • Stowing and unstowing SugarCube’s UI bar (x)
  • How to resize background images for different viewport sizes (x)
  • Adding icons to player choices (x)
  • [NEW] How to style dropdown menus (x)

Other

  • How to force itch.io to launch your game in portrait mode on mobile (x)
  • Searching for assets in Canva (x)
  • Narrative design resources (x)
  • Thoughts on IF & translation (x)
  • [NEW] Uploading Twine games to itch.io (x)

Other Resources

These are resources that may be helpful if you’re just starting out. Chapel’s custom macros are highly recommended for inserting common RPG mechanics into your game (things like notifications, inventory systems, etc) and general quality-of-life elements.

Twine Guides

  • Twine Grimoire (Grim Baccaris) (x)
  • Twine SugarCube 101 (@/townofcrosshollow) (x)

Templates

  • SugarCube Template (@/cerberus-writes) (x)
  • Annotated SugarCube Template (@/nyehilismwriting) (x)
  • SugarCube Template (@/nyehilismwriting) (x)
  • Twine Template (@/vahnyawrites) (x)
  • Twine/SugarCube 2 Template (@/innerdemons-if) (x)

Custom Macros & Code Samples

  • Chapel’s Custom Macros (x)
  • Cycy’s Custom Macros (x)
  • HiEv Universal Inventory System (x)
  • HiEv Sample Code for Twine 2/SugarCube (x)
  • SugarCube Validator by Goctionni (x)

Updated: May 11, 2022

  1. and-then-the-dragons-arrived reblogged this from kawaterrier
  2. kawaterrier reblogged this from idrellegames
  3. lovgrayson reblogged this from idrellegames
  4. panopticon-if reblogged this from pro-patria-mori-if
  5. phantasmagoriatime reblogged this from pro-patria-mori-if
  6. y0ur-d4r1ing reblogged this from idrellegames
  7. idrellegames posted this
    This is a masterlist of everything under my coding in twine tag and links to useful Twine resources. It also includes...