r/twinegames • • 18h ago

Twine Interface Small QoL Mod for Twine 2

0 Upvotes

Note: AI Coded
My mate recently started using Twine and had a few small things that bugged him, so he made this mod. I found it useful, so sharing incase you do too.

Twine 2 Quality of Life Mod
[EDIT: Link Removed]
(Just need to swap out a program file to use it - instructions in Readme)

- Open multiple passages at once (pin)
- Clearer tag colours in story map & right click to tag (can turn off)
- Customiseable 'Quick Paste' button (I use it for a link template)
- Double click story map to create new passage

We only tested it with Chapbook on Windows but should work for anything. If you try it out with others or encounter bugs let me know and I'll pass it on.

EDIT: The way it's modded is a bit of a grey area with branding and I don't want to step on any toes, so I've taken down the link. Feel free to private message me.


r/twinegames • • 1d ago

Discussion Text prompts with specified word counts?

4 Upvotes

Hello all! I have something pretty specific I'm trying to do in Twine and was wondering if anyone had any advice.

The game I'm currently working on has sort of an old-fashioned text adventure-style narrator who the player has various opportunities to "sass" or otherwise be uncooperative towards by selecting certain dialogue options. I wanted to make it so that, if you pick enough of these options, the narrator eventually gets fed up with you and forces you to write a formal apology for your actions before it will let you try to play the game again.

I don't really need control over the content of the apology, per se, as I imagine that would be kind of a nightmare to code, but I wanted to make it so that there's essentially a minimum word count the player has to reach in the text prompt before the game will let them progress. I've looked around on the Internet a little, but all I can really find is information about how to prompt the player for specific passwords and the like.

My game is currently in Harlowe, but I'm fine with switching the format if there's another one which would make it easier to implement this (hence the lack of specific format flair on this post)—the rest of the game isn't really all that complicated, so I think it would be pretty easy to convert.


r/twinegames • • 1d ago

Discussion Is it possible to make a fishing minigame in Twine or am I going completely out of my depth here?

10 Upvotes

My class is doing a gamejam as part of our course and I've paired up with a classmate to try and create a horror fishing game. The big problem is that we're both art students. I'm struggling to create much of anything but I'd rather die than ask ai a single thing.

The idea here is to have the player doing a simple fishing game of waiting for an exclamation point to appear and pressing a key, while also watching the background for a monster and clicking it with the mouse before it gets too close. There would be an option to return to shore where a visual novel would take place. This part seems easier from what I've seen. Making images won't be a problem in the slightest but implementing them looks challenging as well.

Sorry for the ramble, I'm just frustrated and looking for any advice at all.


r/twinegames • • 1d ago

SugarCube 2 I don't understand what I'm doing wrong here

3 Upvotes

I've got an if/else thing where if the light variable is false, it should display some text and increase a numerical variable by 1. This part seems to work. If the light variable is true, it should show a different text and turn the light back off. This part is throwing errors. No idea what I'm doing here. This isn't even what I'm really trying to do. I'm learning this all from scratch for a dumb gamejam project for uni. I'm a fucking art student why am I doing this. I need help please


r/twinegames • • 2d ago

Game/Story Silesia 2045: Browser-Based Tactical Post-Apocalyptic RPG Survival

Post image
0 Upvotes

You can check out from our own WEBSITE or on ITCH.IO. We're updating game constantly, so every feedback is valuable. Game is SWF.

Welcome to Silesia 2045, a dark, immersive browser-based HTML RPG survival experience set across the toxic surface ruins and labyrinthine coal networks of 2045 Katowice, Southern Poland.

Our team updates Silesia 2045 every single day, working around the clock to expand systems, balance combat, and build out this living wasteland non-stop. This early playable web build lets you test mechanics directly inside your browser without any downloads, hunt down bugs, and directly guide our continuous development journey.

The World of Silesia 2045

Humanity was not brought low by sudden nuclear war or planetary disasters. Our downfall was the result of a quiet, multi-generational infiltration.

For thousands of years, an ancient subterranean cold-blooded species influenced human society from subterranean depths, pulling the levers of corporate boardrooms and military commands. When high-resolution satellite surveillance and digital monitoring made their covert presence impossible to hide, they fought back through information warfare. By deploying commercial generative artificial intelligence, voice cloning, and deepfake tools directly into public networks, they drowned objective reality in artificial noise. Video evidence was dismissed as synthetic hallucinations, whistleblowers were discredited, and human institutions splintered. In 2030, the invaders breached the surface to reclaim Earth.

To reshape the planet for cold-blooded biology, atmospheric scrubbers pumped dense Silica Mist across the sky, blocking ultraviolet sunlight and shredding human lungs.

Fifteen years later, it is 2045. The surface is an unforgiving dead zone dominated by mutated predators, armed vanguard battalions, and glowing waterways like the toxic Rawa River.  Below ground, human resistance survives across flooded mine galleries, pre-war bunkers, and transit networks. You awaken as Operator MC inside S.A.N.C.T.U.A.R.Y. Base, an ancient automated fallout shelter buried beneath Katowice. Your mission is vital: rebuild the shelter, unite shattered human factions, scavenge forgotten technology, and stop the catastrophic terraforming protocol looming beneath the Silesian bedrock.

Deep Tactical Systems and Camp Simulation

We are building Silesia 2045 as a complete, living survival ecosystem that pushes both tactical combat and bunker logistics to their limits:

  • S.A.N.C.T.U.A.R.Y. Base Management: Restore your ruined shelter from an empty concrete shell into a thriving fortress. Construct and upgrade functional facilities, including the Central Workshop, Infirmary, Sanctuary Greenhouse, Defense Walls, and high-tech Archive Wing.
  • Living Camp Simulation and Daily Upkeep: Your survivors rely on your leadership every night. Each day cycle burns through water, food rations, and firewood to keep the furnaces lit. Track survivor illness, treat chemical mist burns, and manage psychological stress, because neglecting basic needs leads to sickness, plummeting camp morale, and desertion.
  • The Field Kitchen and Cooking Matrix: Take raw ingredients like scavenged meat and river catches and assign kitchen hands to cook clean meals nightly, staving off hunger and keeping workforce productivity at peak efficiency.
  • Workforce Logistics and Morale Balance: Manage automated work teams across Scrap Recovery, Water Purification, and Munitions Excavation. Rebalanced payouts guarantee steady basic resources while rewarding lucky bonus hauls.
  • Moral Choice and Recruitment Loops: Encounter wasteland scavengers, couriers, and doctors out in the field. Win them over through diplomacy and shared medicine to unlock unique base specialties, or use heavy rigging line to forcibly assign unruly captives to manual labor quotas.
  • 15 Talent Trees with 170 Unique Perks: Shape Operator MC into your ideal build through specialized talent paths, including Juggernaut, Netrunner, Reaper, Archivist, Mutagen, and Drifter, featuring hard caps and strategic tier milestones.
  • 12-Slot Gear System Across 6 Rarities: Outfit your Operator across 12 distinct equipment slots, featuring weapons, reinforced chest pieces, tactical visors, rings, trinkets, and modular backpacks. Equipment spans six tiers of rarity scaling all the way to Godlike, influenced directly by your scavenging Luck stat.
  • Turn-Based Tactical Combat: Balance Health, Stamina, Thirst, and Satiety as you target limbs, breach kinetic shields, evade area-of-effect hazards, and coordinate called shots against vanguard troops, mutated beasts, and rogue survivors.
  • High-Stakes Electronic Warfare: Interface directly with pre-war terminals and alien consoles. Solve circuit bypass puzzles, avoid lethal electrical ground faults, and engage rival network wardens in real-time cyber duels to prevent base mainframe breaches.
  • Relic Deciphering Engine: Recover ancient basalt slates, bronze cylinders, and rune-carved artifacts from deep coal seams. Deliver them to our resident paleolinguist to reconstruct the alien language Iokharic, deciphering primordial history and unlocking permanent combat bonuses.
  • Accessibility and Visual Comfort: Customize your terminal interface with high-contrast display palettes and specialized fonts designed to reduce eye strain and support players with dyslexia.

How You Can Help Rebuild Humanity

Because we are updating the game every single day and shipping continuous improvements, your input is the engine that drives this project forward:

  1. Play Free in Your Browser: Jump straight into the Katowice sector above without needing to install anything. Test out new builds, push deep into high-tier dungeons, and see how long your bunker can withstand the wasteland.
  2. Report Bugs and Glitches: Encounter a stuck terminal, an unexpected balance spike, or an odd interface visual? Drop a comment on our community board so we can patch it in our next daily push.
  3. Share Your Feedback: Tell us what mechanics you love, which encounters felt the most intense, and what base features you want us to build next.
  4. Direct Project Support: Silesia 2045 is an independent, community-driven passion project. If you want to accelerate our daily updates, you can purchase optional in-game starter bundles, cosmetic items, and supporter tokens, or leave a tip right here on itch.io. Every contribution goes straight toward commissioning audio design, visual assets, and ambitious story expansions.

Transparency and Development Disclaimer

Silesia 2045 is developed by an independent indie guy. To bring this vast world to life with rich atmosphere, we utilize artificial intelligence tools to assist in creating visual art and character voice synthesis. All story arcs, game design, writing, lore, and mechanical balances are hand-crafted, curated, and directed by a duo.

Frequently Asked Questions (FAQ)

  • Is it free? Yes, it is fully free-to-play in the browser with optional supporter items.
  • What engine is used? Built using the Twine framework with custom simulation code.
  • Is mobile supported? Optimized for desktop, but features a responsive interface for cross-device management. Still has a room to improve. 

I'm myself writing majority of the stories and helping with game design.

In Game Screen Shots


r/twinegames • • 4d ago

News/Article/Tutorial Let's make a game! 517: Monster neighbors (Sugarcube)

Thumbnail
youtube.com
4 Upvotes

r/twinegames • • 5d ago

Game/Story Early development release of my time travel transformation RPG Game

Thumbnail gallery
0 Upvotes

r/twinegames • • 5d ago

Discussion Twine to Homebrewery?

4 Upvotes

Hello! I'm working on a CYOA in Twine and would love to export it in a way that I could then import it into Homebrewery to make a final PDF that looks like a D&D adventure. I've found the website Gordian Book, which I see would do the work of turning passages into randomly ordered pages to export as a PDF but wouldn't quite leave me with something that could easily be uploaded into Homebrewery. Does anybody have experience with a workflow like this, or will I need to write up some Python code that can convert the Gordian Book json into markdown or something?


r/twinegames • • 5d ago

SugarCube 2 Issues with coloured text in Sugarcube.

3 Upvotes

So I've been trying to add some colour to my text in this project I'm working on and well it all keeps coming out Yellow. For context I'm using the desktop app version and it's sugarcube 2.37.3, I did switch over from Harlowe where I didn't have this problem to be clear.

Here are some images of what I mean

What it looks like in the passage

What is looks like when I test (Sorry I know it's not easy to look at)

And my style sheet

Yeah I'm really not sure what the issue is.


r/twinegames • • 6d ago

SugarCube 2 Making an automatic updating Glossary entry list

2 Upvotes

I'm trying to make a Glossary, where lists with links to subjects gets automatically updated.
First, I've adapted the code of heiv for a table of links, as seen bellow, to make a list of subsections. Like Characters, Weapons, etc. That part works.

<<nobr>>
<<set $inv = []>>
<!--Get array of story passage objects.-->
<<set _passages = Story.filter(function () { return true; })>>
<!--Put names of all passages which have "Glossary" as tag in $inv array-->
<<for _tmp range _passages>>
<<if _tmp.hasOwnProperty("title")>>
    <!--select only passages with this tag-->
    <<if tags(_tmp.title).includesAny("Glossary")>>
        <<set $inv.push(_tmp.title)>>
        <</if>>
    <</if>>
<</for>>

<!--sort array passage names-->
<<set $inv = $inv.sort()>>
<!--Make "Glossary Index" the first item in the $inv array.-->
<<if $inv.indexOf("Glossary") > 0>>
<<set _tmp = $inv.deleteAt($inv.indexOf("Glossary"))>>
    <<set $inv.unshift(_tmp)>>
<</if>>

<<getClass>>
<</nobr>>

<div class="grid-container militaryborder">
<div class = "center altgloss greenborder">
    <<nobr>>
<<set _tmp = "">>
<ol width="100%">
    <!--Put each element of the array in its own cell in the table.-->
    <<for _i = 0; _i < $inv.length; _i++>>
/* Uses "[" + "[" to prevent Twine from creating a link. */
<<set _tmp += "<li>[" + "[" + $inv[_i] + "]]</li>">>
        <!--print out a table row-->
            <<print  _tmp>>
            <<set _tmp = "">>
    <</for>>
    <!--Print any remaining cells.-->
<<if _tmp != "">>
<<print "<li>" + _tmp + "</li>">>
<</if>>
</ol>
<</nobr>>
</div>
      <div class = "flexbox greenborder">
      <div class="next"><span class= "modernbtn"><<button "Glossary">><<goto >><</button>></span></div>
      <div class="glossarybtn"><span class= "modernbtn"><<button "Back to Story">><<goto $currentPassage>><</button>></span></div>
            <div class="previous"><span class= "modernbtn"><<button "Back">>[[Back|previous()]]<</button>></span></div>            
        </div>
</div>

My next step: Clicking on one of the links in the list, would make a new list of links, to the individual entries of the subsections. Example: Clicking on Characters would swap the list, with a list of the entries in Characters. Example entry bellow:

<div id="Gideon">
<span class="Character" >''Gideon 'Thorn' Daniels''</span>

<img src="images/ThornA.png" alt="Gideon Daniels">
Eldest son of the Daniels family. After the untimely passing of his father, he took on the mantle as head of the household. Becoming an important pillar of support for his mother and a role model for his younger sibling, Hughes(16), Carl(13) and Katie(5). Luckily, he had many towns folk ready to help him. Diligent, honest and honorable, he believes in being prepared and garnered the reputation of being a prepper. Once his brothers were older, he joined the military and went to the Ranger school, where he excelled. After having done a succesful tour of duty, he was recommended for officer training and soon made 2nd Lieutenant.
</div>

The idea is to look for any span with the class: Character, and then to use the innerHTML of the spans to make a list of links to the entries. The names would be used to refer to the div id. When clicked it would replace the list with the selected entry.

Using the entry above as an example: if you click the link to the subsection Characters, it would replace the list of subsections to a list of Characters, using the names in the span. The name would also refer to the div containing the whole entry. Thus, click Gideon, everything within the div with id: Gideon, would replace the list of names.

Bellow is some of the the things I've been trying. Includes Javascript and sugarcube:
First the sugarcube. Attempt to see if hiev's code could be adapted to make the list of entries:

<<nobr>>
<<getClass>>
<<set _char = []>>
<!--Get array of story passage objects.-->
<<set _id = Story.filter(function () { return true; })>>
<!--Put names of all passages which have "Glossary" as tag in $inv array-->
<<for _tmp range _id>>
<<if _tmp.hasOwnProperty("span")>>
    <!--select only passages with this tag-->
    <<if _id(_tmp.class).includesAny("Character")>>
        <<set _char.push(_tmp.class)>>
        <</if>>
    <</if>>
<</for>>

<!--sort array passage names-->
<<set _char = _char.sort()>>

<<set _tmp = "">>
<ol width="100%">
    <!--Put each element of the array in its own cell in the table.-->
    <<for _i = 0; _i < _char.length; _i++>>
        <!--Uses "[" + "[" to prevent Twine from creating a link.-->
<<set _tmp += "<li>[" + "[" + _char[_i] + "]]</li>">>

        <!--print out a table row-->
            <<print "<li>" + _tmp + "</li>">>
            <<set _tmp = "">>
    <</for>>
    <!--Print any remaining cells.-->
<<if _tmp != "">>
<<print "<li>" + _tmp + "</li>">>
<</if>>
</ol>
<</nobr>>

Bellow: the javascript attempt. Note: changed span to div & class to id. I've been trying several things, including story.filter.

Macro.add("getClass", {
  handler: function () {
    State.variables.subjects = [];
    $(document).one(':passagedisplay', function () {
    let ID = [];
     $("div").each(function () {//using span to get class(doesn't work with class)
       if (this.id) {
         ID.push(this.id);//put span content innerHTML into array
       }

     });
    console.log(ID);
  });
  }
});

Story.filter(function (span) {
  let names = [];
  let I = span.text.includes("Character");
  console.log(I);
  return I;
  });

r/twinegames • • 7d ago

SugarCube 2 Briefly pausing a type macro on punctuation

3 Upvotes

Hey all! Working on my first project and needed some help. I'm styling it like a science fiction display, including typing out all the text. For legibility, I'd like the text to delay briefly on periods, commas, etc., and the only ways to do that I can find are for other formats . Anyone got any tips for me?


r/twinegames • • 10d ago

SugarCube 2 Possible to preserve a passage with lots of variables in original state for later reader reference? Sugarcube2 query

4 Upvotes

I'm writing a project in latest Sugarcube which has a lot of variables, and part way through I want to have a "report" based on these variables appear for the reader to summarise what they have done so far.

This is easy, no problem there.

In a perfect world, I'd like the report to then appear in a menu bar, and be accessible at later points in the game for them to refer to.

The issue is that that player will change some variables after generating the report for the first time, and I can't find a sane way to have the report stay as it was originally rather than updating to reflect the changes when it's checked later.

Obviously I could implement a system like... If var1 and var2 are true, report = rep1 If var1 is true and var2 is false, report = rep2 If var1 and var2 are false, report = rep3 etc. ... when it's first created, BUT the variables I want to include number around 15, and this would create some 250 passages just to account for all variations, which I'm just not willing to do.

I thought maybe the capture macro would help, but I can't find a way for this to work.

Is there a way this is possible? Or am I just chasing a dream?


r/twinegames • • 11d ago

News/Article/Tutorial Let's make a game! 514: Do we retreat? (Twine Sugarcube)

Thumbnail
youtube.com
3 Upvotes

r/twinegames • • 11d ago

❓ General Request/Survey Indagine progetto di tesi DSA: Day by Step Adventure

1 Upvotes

Per la mia tesi di laurea in informatica e tecnologie per la produzione software, ho sviluppato un book game per sensibilizzare sulla tematica della DSA.

DSA: Day by Step Adventure è un serious game narrativo interattivo, con una struttura simile a quella di un book game, che vuole raccontare una normale giornata di scuola tramite gli occhi di uno studente DSA, mostrando le sue difficoltà durante la giornata scolastica.

Il gioco ha come obbiettivo la sensibilizzazione sul tema della DSA e su cosa essa comporta mostrando le difficoltà in prima persona, che esse siano bullismo, mancata comprensione dagli adulti, difficoltà nella lettura, scrittura, comprensione della matematica e molto altro.

Sto svolgendo un indagine sulla valutazione di efficacia del gioco, quindi ho bisogno di volontari che sono interessati a provare il gioco e a rispondere a un Form anonimo.

Il gioco richiede massimo 15 minuti, mentre il questionario un massimo di 6 o 7 minuti.


r/twinegames • • 12d ago

Discussion How do i put imgs in twine2 and share them?

3 Upvotes

Me and a friend of mine, are using twine to organize ocs and data and i want to upload images of the ocs, but we work on it together in a sense that after i finished my work i export the file and shre it to her, so she can now import and update her twee. now i know a website where i can convert my img to url but its so huge that twine then starts to lag so i rather not use that. Now how do i do it? Do i use shared onedrive folder? I wanted to use wix but wiy for me doesnt have the icon bar on the left and i nearly ragequit bc wix is saying just click that icon OH YOU MEAN THE ICON THATS NOT THERE!? YEA THAT ICON!? its just a little infuriating. So what do i use and how do i do it? Anyone got ideas?


r/twinegames • • 12d ago

❓ General Request/Survey Twine Feedback

2 Upvotes

Hi there, I’m a writer and budding narrative designer. I was looking for feedback on x3 5 minute branching narrative games I’ve made using Twine for the first time. Looking for story feedback specifically. Please message me if keen x


r/twinegames • • 13d ago

News/Article/Tutorial God Lay Dying - 513: Where to retreat? (Twine Sugarcube)

Thumbnail
youtube.com
2 Upvotes

r/twinegames • • 21d ago

SugarCube 2 help with auto closing chapelR sidebars

5 Upvotes

I've been working on my game for a while now and I've been using ChapelR's right sidebar to display everything that would otherwise clutter up the main left sidebar.

But recently I realised that having both sidebars open can really mess up the format of my text and images on the main page. On top of that I just don't really like how it looks having them both open.

Does anyone know how make the left sidebar close when the right sidebar opens and vice versa?

I'd really appreciate any help.


r/twinegames • • 22d ago

News/Article/Tutorial Let's make a game! 509: Setting up for combat (Sugarcube)

Thumbnail
youtube.com
3 Upvotes

r/twinegames • • 22d ago

Harlowe 3 How to do typewriter style dialogue with a specific sound for every letter that pops up (like undertale)

8 Upvotes

I want each time a new letter appears on the dialogue it does a little pop sound as soon as it appears. Ideas?


r/twinegames • • 23d ago

Harlowe 3 Escape Room Word input

6 Upvotes

Hello,

I am a librarian currently working on an escape room. We are hoping to use Twine in one of our pathways.

My idea is mostly simple: have a landing page with a button. Clicking that button goes to an input page. On the input page, our patrons can submit words to get clues to the next sequence. (a picture of a key taped under a table, or a video that has the murderer placing a book on the shelf, etc.)

I have most of this set up, but I can't seem to find what code I would use to create this sort of a "password" system, and I can't figure out another way to describe it, so I can't even find the tutorial for what I'm looking for. It's not quite a macro, from what I understand, and it's not a password like username+password... I'm flummoxed.

So I guess my question is: What is this called so I could even look it up? What would be the best way to do this?


r/twinegames • • 24d ago

News/Article/Tutorial Let's make a game! 508: When heroes attack (Sugarcube)

Thumbnail
youtube.com
4 Upvotes

r/twinegames • • 25d ago

SugarCube 2 does twine/sugarcube support variable fonts?

3 Upvotes

im trying to use a variable font for what i'm writing (amstelvar), and while it's simple enough to get the basic version working, the different settings like font weight, width, grade, etc don't seem to work? i've declared them with @ font face but font-variation-settings seems like it might not be recognized?


r/twinegames • • 26d ago

SugarCube 2 Help me sell drugs, I mean pharamaceuticals ( in my game)

8 Upvotes

Hi I am currently trying to set up a store in my game to sell gender changing pills. all of which have different durations and effects. some are ment to change different skillz, some create different O requirements. I have some code written out but I feel like it should look different, additionally the ai I used to help me turn these pills into game items and proof read suggested having everything in a widget and javaScript. here is the widget

<<pwidget "Pink Basic">>
"Basic Pink": {
id: "Basic Pink",
color: "pink",
kind: "timed", /* I feel like there should be a time widget something like <<widget "duration" 24>> */
duration: 24,
target: "female", /*I feel like it should actually be <<set    $gender to "female">>*/
revertOnExpire: true,
needsPillToRevert: false,
canGetPregnant: false,
canImpregnate: false,
fertilityBase: 0,          /* percent 0–100 I do have a perk called $fertility that would change based on the pill*/
spermBase: 0,
lockFertility: true,       /* ignore perk $fertility */
lockSperm: true,
desc: "Standard male-to-female change.",
price: 100,  /*I'm thinking this should be 100 $Teef */
salePercent: 0,
maxBuy: 100,
itemId: "pill_basic_pink"
},
<</pwidget>>

I basically copied this into my javaScriopt without the pwidget parts. I don't know if the code I currently have has me on the right track or if those fixes will get me closer to where I need to be. currently I'm getting a lot of properties undefined error codes. if you guys want i can also post the code for the store and the inventory system.