Skip to content

Releases: endlessm/threadbare

v0.1.8

17 Dec 20:48
a2f39fa

Choose a tag to compare

What's New

New StoryQuests

Six new StoryQuests have been added:

Renya Beyond Sorrow by @Aleinadsf, @nicnic1520, @BiancaPierina, @Buxx05

El Abrigo by @JanusCross15, @Kaiser19-G, @dicooo-disco, @Cristopher552

El Ojo Revelador by @Shiro-Vs, @trujilloerasmo44-coder, @JAZE30, @Foxito777, @trujilloerasmo44-coder, @LeoSle4

After the Tremor by @Andrle0600, @AMAI1505, @Zer0LoL

Eldrune StoryQuest by @josuemurga, @x1xSergiox1x, @Ozzyman10, @lljhonnyll

Also Champ StoryQuest by @felixwalberg is in progress. And existing StoryQuests El Juguete Perdido and Sueños Nocturnos have been updated too with cleanups and bug fixes.

We know that many more StoryQuests have been done in forks. We invite authors to submit them so they can be part of the main game.

Lore Quests

The Void quest continues to be developed. @Stregoica777 updated the narrative by changing the dialogue lines and the character names. The aesthetic has been updated too, with more level dressing. A dialogue explanation has been added for the buttons that can be collected but don't serve any purpose.

@russell-cj added three new ink combat levels to the placeholder quest, to explore new mechanics and variations. Like fragile vases, or speeding the shooting time period. @Omar071201 added the artwork. Also for those new combat levels @Gatorrante added behavior to the Mothsache enemy. @Omar071201 added new animations to this enemy.

Overall Improvements and bug fixes

New Credits

@Gatorrante redesigned the Credits scene because the single screen design couldn't contain all the contributors anymore. It is now vertically scrolling list.

Revamped Input Hints

@AlealarcViva improved the input hints by switching to the Kenney input prompts asset pack, after a big refactor.

Captura desde 2025-12-17 17-31-08 Captura desde 2025-12-17 17-30-40

Simplified and Improved Tiles

The foam is now a single tile:

image

The animation is also randomized, which looks much better.

Also the template elevation tileset has an easier terrain. Is a joy to paint elevations this way:

Grabacion.de.pantalla.desde.2025-11-16.17-17-58.webm

We hope to simplify the main elevation tileset soon too.

And much more!

We also got the following changes, many of them from new contributors:

What's Changed

  • New ink combat rounds 4 and 5: Fix 4 elevation tiles by @manuq in #1515
  • Don't unconditionally build Flatpak by @wjt in #1519
  • Implement Ink Drinker Level 6 Base Design by @russell-cj in #1514
  • Ink Drinker levels 4 and 5: Visual Improvements by @russell-cj in #1527
  • LICENSES: Replace MPL symlink with copy of license by @wjt in #1520
  • New defeat sprite for mothsache by @Omar071201 in #1533
  • Standardize Ink Drinker root nodes to match file name by @russell-cj in #1540
  • Storyquest automation: Add external link to guide by @manuq in #1541
  • Add third Elder to Fray's End by @Alexander3242G in #1542
  • Fix player can be moved after completing Sokoban puzzle by @sebastianangulod in #1553
  • Follow ups after moving NO_EDIT to its own path by @manuq in #1562
  • InkDrinker_3: Adjust camera limits and enhance scene presentation by @russell-cj in #1571
  • InkDrinker_1: Adjust camera limits and improve visuals to prevent out-of-bounds area by @russell-cj in #1566
  • InkDrinker_2: Adjust camera limits and enhance scene presentation by @russell-cj in #1568
  • Switch background music when ink combat completed by @wjt in #1573
  • Eternal Loom: Fix crash after jumping into the middle of a quest by @wjt in #1576
  • Input hints:Refactor input hint system to use resource-based textures by @AlealarcViva in #1517
  • ElJuguetePerdido_Combat: Map fixes, camera adjustments, and visual improvements by @russell-cj in #1579
  • El Juguete Perdido - SequencePuzzle: Camera2D adjustments, boundary replacement, and gray-area fixes by @russell-cj in #1580
  • ElJuguetePerdido_Outro: Map expansion and visual improvements for non-16:9 aspect ratios by @russell-cj in #1581
  • ElJuguetePerdido_Intro: Map expansion and improved tree placement by @russell-cj in #1574
  • ElJuguetePerdido_Stealth: Map adjustments and visual improvements by @russell-cj in #1577
  • Directional input hint: Fix inexisting action name by @manuq in #1585
  • Add Intro, minigame1,2 and outro of Renya by @Aleinadsf in #1561
  • Renya combat: Fix starting the game by @manuq in #1594
  • NO_EDIT_intro: Fix visual issues on non–16:9 aspect ratios by @russell-cj in #1617
  • NO_EDIT_stealth: Fix visual issues on non–16:9 aspect ratios by @russell-cj in #1618
  • NO_EDIT_combat: Fix visual issues on non–16:9 aspect ratios by @russell-cj in #1619
  • Add Champ StoryQuest by @felixwalberg in #1620
  • Input hints: Stop ignoring Steam controller assets by @manuq in #1624
  • Add Intro, Minigame 1 and Outro of El Abrigo by @JanusCross15 in #1560
  • New musician sprite by @Omar071201 in #1590
  • NO_EDIT_outro: Fix visual issues on non–16:9 aspect ratios by @russell-cj in #1634
  • NO_EDIT_sequence_puzzle: Fix visual issues on non–16:9 aspect ratios by @russell-cj in #1629
  • Solve musician sprite in music puzzle by @Omar071201 in #1642
  • Void grappling hook levels: Dress the levels by @manuq in #1643
  • InkCombatRound4: Progressive Speed Increase Mechanic by @russell-cj in #1639
  • Void pins sublevel: Add dialogue explanation for buttons by @manuq in #1644
  • Input hints: Re...
Read more

v0.1.7

06 Nov 15:05
6ca04b5

Choose a tag to compare

What's New

Improved storybook

by Diego Alonso Miñano Lavado

Diego continued working on the storybook from which the player can pick a quest. It looks more like a real book, and less like a user-interface menu: there is a table of contents at the start, and separate pages for each quest, with an illustration included:

storybook.webm

If you look closely, you might notice that the book itself is now cel-shaded rather than dithered, matching our visual style.

Better input hints

by Alexandra Alarcon Vivanco

Alexandra made further improvements to the on-screen display that shows players which actions can be taken with their keyboard or controller, and switched to use the Kenney Input Prompts asset pack:

dpad input hints arrow key input hints

Space to repel LB to run

We have found through playtesting that these hints are quite important – we plan to make them visible throughout the game in future.

New ink combat levels

by Carlos Juniors Chiroque Silva

Carlos is implementing new levels for combat, based on previous level designs and ideas for new mechanics:

Screenshot from 2025-11-06 09-57-56 Screenshot from 2025-11-06 09-56-51

Find these in the “Placeholder” LoreQuest.

New enemy: “Mothsache”

by Omar Franco Mendez Contreras

Mothsache_Idle Mothsache_Attack

Omar continued animating the Mothsache and added the enemy to the gym testing scene. Hopefully we'll see this new enemy soon in actual levels!

mothsache.webm

What's Changed

  • storyquest_bootstrap: Copy template recursively by @wjt in #1344
  • linux: Add 0.1.6 to releases file by @wjt in #1351
  • Player: Repurpose stopping and moving steps by @manuq in #1352
  • Void particles: Make visibility rect big enough by @manuq in #1353
  • Prefix quest files (not dirs) with quest name by @wjt in #1357
  • Player: Set wall min slide angle to one degree by @manuq in #1362
  • Refactor input actions by @manuq in #1356
  • Make the barley and tomatoes bigger by @wjt in #1364
  • HookControl: Use a timer to allow D-pad diagonal aiming by @manuq in #1369
  • Void spreading enemy: Defeat player while patrolling by @manuq in #1367
  • Complete the skeleton of the lore second quest by @manuq in #1371
  • Void spreading enemy: Add defeat method by @manuq in #1370
  • Nora: Reset combat & stealth camera zoom to 1× by @wjt in #1329
  • Remove wobble hints from sequence puzzle by @wjt in #1382
  • Add stealth/sequence puzzle combo level by @wjt in #1380
  • Replace icon by @wjt in #1381
  • Musician dialogue: Remove call to stop_hints() by @manuq in #1394
  • Grappling hook: Add Void enemy lurking around by @manuq in #1377
  • Grappling hook: allow / disallow going to previous sublevels by @manuq in #1392
  • Project settings: Setup movie file in user data folder by @manuq in #1397
  • Void quest: Add music to levels by @manuq in #1400
  • Player: Add one pixel of safe margin by @manuq in #1396
  • Fray's End: Remove y_sort_enabled from two trees by @wjt in #1401
  • Add ThrowProjectileBehavior by @manuq in #1308
  • Void runner: Allow enemy to consume starting starting island by @wjt in #1402
  • Use Threadbare logo in bootsplash by @wjt in #1407
  • Mark El Juguete Perdido team as owners of their quest by @wjt in #1414
  • El Juguete Perdido: Refactor TileMapLayers to only use one "kind" of tile each by @wjt in #1416
  • Add clues when Void enemy starts chasing by @manuq in #1422
  • Void initial narrative by @manuq in #1415
  • Decouple cinematic from combat by @manuq in #1432
  • Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #1443
  • Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #1442
  • Adjust tile map layers by @wjt in #1447
  • README: Update web URL by @wjt in #1446
  • tileset: Add missing "walls" collision polygon by @wjt in #1445
  • Have the correct elder congratulate the player after solving Sokobans by @wjt in #1451
  • Improve void_grappling scene (quest_002): fix out-of-bounds issue and layout adjustments by @russell-cj in #1441
  • Grappling hook level: Add intro cinematic by @manuq in #1434
  • storyquest_bootstrap: Copy TileSets by @wjt in #1449
  • Void runner: improve tree collisions by @Omar071201 in #1436
  • Remove invisible barrier in lorequest 1 stealth challenge by @sebastianangulod in #1453
  • storyquest_bootstrap: Forbid "story" and "quest" words by @manuq in #1452
  • Implement InkDrinker Level 4 Design by @russell-cj in #1455
  • Player: Add defeat() method by @wjt in #1456
  • REUSE: match .uid files anywhere in the source tree by @wjt in #1458
  • Split big TileSet into 6 smaller TileSets & update all scenes by @wjt in #1448
  • Ink combat round 1: Fix another cliff collision on the right side by @sebastianangulod in #1461
  • Ink Drinker Level 4: Camera, decoration, and Teleporter adjustments by @russell-cj in #1463
  • Mothsache enemy: Update Aseprite source file with walking animation by @Omar071201 in #1462
  • feat: implement unified directional key support using the new input p… by @AlealarcViva in #1464
  • feat: update input hint labels (#1… by @AlealarcViva in #1465
  • Grappling hook level: Redesign start and end scenes by @manuq in #1454
  • Storybook Visual Redesign implementing two pages per quest by @Gatorrante in #1466
  • Cinematic: Do not wait for animation finished by @manuq in #1471
  • Repositions intro concept art by @Gatorrante in #1474
  • Consistently bind all joypad devices to actions by @wjt in #1480
  • ci: Cache Git LFS objects by @wjt in #1484
  • Integrate Mothsache idle attack and move by @Omar071201 in #1477
  • Implement the design of Ink Drinker Level 5 by @russell-cj in #1473
  • Input hint: Fix generic controller showing keyboard directional hint by @AlealarcViva in #1482
  • ci: Don't fetch all LFS objects for Flatpak build by @wjt in #1492
  • Change the introductory dialogue for the Sokoban puzzle. by @JuaniCargnel in #1493
  • Replace animations with illustrations for quests 001 and 002 by @Gatorrante in http...
Read more

v0.1.6

14 Oct 16:31
@wjt wjt
cfe2a43

Choose a tag to compare

What's new

This is a relatively small release, mainly to fix a few annoying bugs that were found or fixed shortly after v0.1.5.

Intro dialogue no longer plays after respawn

In some stealth challenges (such as in Stella and the Missing Star), some introductory narration is played at the start of the level. Previously, if you were defeated in the level, the narration would be shown again each time you respawned.

This is now fixed: the narration only plays the first time you spawn. Thanks to @JSobero for contributing this fix!

Show keyboard hints when no gamepad is connected

In the previous release, we introduced a new feature where on-screen control hints adjust to show gamepad or keyboard symbols depending on which device was last used. But a bug meant that if you had no gamepad connected at all, the gamepad hints, not keyboard hints, would always be shown on screen. (Introduced and fixed by @wjt.)

New logo

We have a new logo displayed on the title screen!

A spindle of thread with the word Threadbare spelled out in the loose thread

Smaller HUD

While you are on a quest, there is an indicator at the top-right of the screen that shows how many spools of thread you have collected so far. Since we changed the game resolution in v0.1.4, this was too large and could obscure important parts of the scene, such as one of the guards in the lorequest stealth challenge. It is now smaller, thanks to @manuq!

What's Changed

  • Fix: prevent intro dialogue from replaying on respawn in stealth challenges by @JSobero in #1211
  • Document the components of the fill-matching game mechanic by @manuq in #1325
  • build(deps): bump astral-sh/setup-uv from 6 to 7 by @dependabot[bot] in #1326
  • CODEOWNERS: Make Learning team co-owners of template quest by @wjt in #1340
  • Move template tiles out of NO_EDIT StoryQuest by @wjt in #1339
  • ci: Let amalgamate-pages set commit status by @wjt in #1337
  • Fix default input device when no joypad is connected by @wjt in #1328
  • Grappling hook level: Use blue StoryWeaver by @manuq in #1343
  • HUD: Reduce its size by @manuq in #1342
  • Title screen: Replace logo in main menu by @manuq in #1341

New Contributors

Full Changelog: v0.1.5...v0.1.6

v0.1.5

10 Oct 10:51
a52ddd9

Choose a tag to compare

What's New

Two new StoryQuests…

In Fray's End, talk to the StoryQuest Elder (to the right of the Eternal Loom) to try two new StoryQuests contributed by our community:

Sueños Nocturnos

by Gian Piero Daniel Cano Espejo, Leopoldo Josue Brito Ruiz, Joseph Montes de Oca Untiveros, Leonardo Jesus Contreras Moriano, and Shirley Torres at Universidad Tecnológica del Perú

Screenshot from 2025-10-10 11-23-13

Nora and the Impossible Homework

by Aurelia Kornheiser, Spenser Kramer, and Felix Walberg at VERSO

image

…in a storybook

When you talk to the elders in Fray's End, they now offer you stories from a book drawn and implemented by @Gatorrante and @amaximilianorodri.

storybook.webm

Input hints for controllers

At various points in the game there are on-screen hints for the controls to use. Previously these always displayed keyboard keys (arrows, space, shift) even though the game is playable with a gamepad controller. Now, when you use a controller, these switch automatically to display the right icons for your Xbox, PlayStation, Switch, or Steam Deck controller. (Contributed by @pierinamb and @AlealarcViva.)

New grappling mechanic

We are developing a new grappling mechanic, where StoryWeaver throws a line of thread to collect unreachable objects or pull themself across a chasm. There is a series of test levels for this mechanic as part of the A Void quest, which you can play by talking to the LoreQuest Elder to the left of the Eternal Loom.

You will have to outrun the void to get there – fortunately, this release has also tweaked the difficulty of that level to be a bit fairer. Alternatively you can jump directly to the grappling levels.

Give it a try and let us know what you think!

needles.webm

…and more!

The full list of changes is below, but here are some more highlights:

  • In Fray's End, admire the new crops (drawn by @shiroidK) and then talk to the farmer next to the field of carrots to hear a joke (@SergiLS19)
  • Staircases are now made of wood and fit better with the visual style of the game (@159adrian)
  • In the music puzzle (and other sequence puzzles in the game), enjoy the nicer, more consistent sounds that the rocks make (@JoaquinPando)
crops

New Contributors

What's Changed

  • Make Fray End's Farmer interactive by @SergiLS19 in #1130
  • Factor NavigationFollowWalkBehavior out of void_spreading_enemy.gd by @wjt in #1178
  • Add sprite sheet for new enemy idle state by @Omar071201 in #1182
  • Add custom mouse pointer by @wjt in #1187
  • AreaFiller: Support undo/redo by @wjt in #1184
  • Sokoban HUD: Don't override mouse cursor shape by @wjt in #1188
  • Add 0.1.4 release to appstream releases file by @wjt in #1191
  • Assets: Add sprite sheet for new enemy attack state by @Omar071201 in #1202
  • Audio: Implement 18-note handbell scale for puzzles by @JoaquinPando in #1165
  • Add grappling hook mechanic and intro level by @manuq in #933
  • Issue template: prevent unwanted breaks in descriptions by @cassidyjames in #1217
  • Void runner: Fix zoom-out extending past the scene by @wjt in #1215
  • Fix first-import errors by @wjt in #1218
  • Add development status to quest resource by @Fabriciowwwwwwwwwww in #1155
  • Add wooden staircase tiles by @wjt in #1221
  • Import HTML shell from export template by @daff2 in #1201
  • Void chromakey: remove unused wipe_progress parameter by @wjt in #1220
  • Store .mp3 files in Git LFS by @wjt in #1229
  • pre-commit: Disable style checks for StoryQuests by @wjt in #1230
  • Stella: Cleanup assets by @manuq in #1231
  • REUSE: annotate first-party ogv/piskel/wav files by @wjt in #1232
  • Stella Stealth: Remove stray grass tile by @wjt in #1233
  • Record which quests have been played to completion by @AlexanderV24 in #1176
  • pre-commit: Exclude StoryQuests from whitespace checks by @wjt in #1236
  • Feat: Auto-detect SequencePuzzle steps by @WhoD-S in #1196
  • Set all CharacterBody2D nodes to Floating by @manuq in #1238
  • Split Elders into two scenes by @wjt in #1240
  • Tweak void runner difficulty by @wjt in #1239
  • Game state: Fix type error if completed_quests is not defined by @wjt in #1244
  • Fade out when quitting by @wjt in #1245
  • Default to fullscreen in non-web, non-editor builds by @wjt in #1241
  • Hookable area: Make anchor_point optional by @manuq in #1248
  • Walk behaviors: Warn if character motion mode is grounded by @manuq in #1247
  • Add an “Abandon Quest” option to the pause menu by @wjt in #1249
  • Fray's End: Remove stacks of bushes by @wjt in #1250
  • Fix ObjectDB & StringName leaks on exit by @wjt in #1253
  • Add Aseprite file for Elder by @wjt in #1252
  • docs: Split LICENSING out of CONTRIBUTING by @wjt in #1255
  • Fray's End: Add cliff tiles below grass by @wjt in #1251
  • Rename template to NO_EDIT by @manuq in #1243
  • Add new crops to Fray's End by @shiroidK in #1258
  • Add tomato, carrot, barley prop scenes by @wjt in #1259
  • Transitions: Add missing function return type by @wjt in #1260
  • LICENSING: Add Incompetech as acceptable example by @wjt in #1262
  • Add non-placeholder storybook by @manuq in #1263
  • Intro: Play dialogue at normal speed by @wjt in #1267
  • Add AnimationPlayer version of CharacterSpriteBehavior by @manuq in #1242
  • Fix: dynamic on-screen control hints by @pierinamb in #1177
  • Storybook: Remove panel from description by @manuq in #1270
  • Update project to Godot 4.5 by @wjt in #1226
  • Remove debug print()s from input hint code by @wjt in #1278
  • Add Sueños Nocturnos StoryQuest by @xXLeopoldoXx in #946
  • Add CODEOWNERS for Stella & Sueños Nocturnos by @wjt in #1293
  • pre-commit: Recognise piskel files via exclude_types by @wjt in #1289
  • shjourney: Replace xylophone sound effects by @wjt in #1292
  • Replace godot_git_describe with minimal export-only plugin by @wjt in #1294
  • Reimport Sueños Nocturnos assets with Godot 4.5 by @wjt in #1298
  • Re-enable threadbare_project_settings plugin by @wjt in #1295
  • Reindent REU...
Read more

v0.1.4

12 Sep 13:49
@wjt wjt
13b84ae

Choose a tag to compare

What's New

Base resolution changed to 720p

Screenshot of game with dialogue balloon, showing new game resolution & font

Previously, the game would always run at 1920×1080, and would be scaled down to fit a smaller window/screen if necessary. This made the game hard to play or read on smaller screens, such as laptops with 1366×768 displays, or the Steam Deck’s 1280×800 display.

In this release, we have changed the base resolution of the game to 1280×720. Since most levels in the game were previously zoomed in by 150%–200%, this has not appreciably changed how much of each level can be seen on screen at once, but it significantly improves the appearance of text on smaller displays.

Accompanying this change, we have switched the game's font to Jersey, part of a collection of typefaces by Sarah Cadigan-Fried designed for knitting. Multiple scales are available so we can adjust the font size in different UI elements.

If you find cases in the game where the user interface has not been updated for this change, please check that it is not already tracked on #1137, and report a bug if not!

Experimental character movement behaviors

Screencast.from.2025-09-12.14-29-08.webm

We are developing a new approach to character movement, using “behavior” nodes that can be attached to a CharacterBody2D node. The hope is that this approach will make it easier to define new kinds of enemies while reusing existing movement and animation logic.

These are not currently used in-game, but you can open the new “gym” area in Godot editor to see these in action: res://scenes/game_elements/characters/components/gym_area_test.tscn. In the future, we plan to adjust the player scene, and the enemies in the game which move, to use these behavior nodes.

Experimental “void runner” level

Screencast.from.2025-09-12.14-27-45.webm

We are developing a new challenge, where the player must outrun an expanding area of nothingness that is chasing them through the map. Try it out by talking to the LoreQuest Elder, and give us feedback!

Many improvements from many new contributors

Around a dozen new contributors made their first contribution in this release. Look out for a higher level of polish in the game, including leftwards motion in Sokoban puzzles, several fixed collisions, improvements to doors and transitions between scenes, crash fixes, and more!

Congratulations to our new contributors:

New documentation for contributors

Building on our existing contributing guidelines, we have added documentation on acceptable content and how contributions are reviewed.

What's Changed

  • Project: Add tags by @manuq in #1072
  • Miscellaneous fixes to improve the next version published to Flathub by @wjt in #1077
  • Remove 'bug' label from Bug issue template by @wjt in #1081
  • Add gym area for characters by @manuq in #1073
  • Reorder fields of project.godot by @wjt in #1082
  • README: Link to Flathub by @wjt in #1078
  • Template: Add tileset by @manuq in #1080
  • Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1088
  • LoreQuest: Remove shadow square from closing transition by @Andersonu1290 in #1087
  • mailmap: Map @endlessos.org committers to @endlessaccess.org by @wjt in #1090
  • Ignore temporary files ending with ~ by @wjt in #1091
  • Add new Void Runner level by @wjt in #1085
  • SceneSwitcher: Respond to manual hash changes by @wjt in #1086
  • ci: Update amalgamate-pages to v2 by @wjt in #1092
  • ci: Run Discord merge hook in target branch context by @wjt in #1093
  • scene_switcher: Allow relative paths without res:// prefix by @wjt in #1106
  • Music puzzle: Remove unused trees.gd script by @wjt in #1107
  • Flip player horizontally when moving left in Sokoban by @Gimms11 in #1097
  • REUSE: Treat MP3s in assets/first_party as first-party by @wjt in #1115
  • Collectible: Sync physical collision with 'revealed' state by @JoaquinPando in #1118
  • Fix getting stuck behind targets in template combat level by @sebastianangulod in #1119
  • Fix door assets and scale by @sebastianangulod in #1121
  • Add sound effect to mushrooms by @ValePS81 in #1111
  • Limit camera in music puzzle by @DonSeja06 in #1126
  • Fix cliff collision in first round of ink combat by @Fabriciowwwwwwwwwww in #1109
  • Reverse frame order so targerts star visible by @daff2 in #1127
  • Sokoban: Fix player movement during introductory dialogue by @AlealarcViva in #1124
  • Add scene to debug aspect ratio issues by @manuq in #1084
  • Change game base resolution to 720p by @manuq in #1133
  • Settings global: Use base resolution for minimum window size by @manuq in #1140
  • Void: Improve dust cloud particles & remove placeholder enemy by @manuq in #1125
  • Void runner: swap to black dust cloud, without placeholder sprite by @wjt in #1116
  • Main Menu: Fit 720p resolution by @wjt in #1141
  • Add character walk behaviors by @manuq in #975
  • Vertical wipe transition between LoreQuest ink combat rounds by @DonSeja06 in #1145
  • Add step_solved signal to SequencePuzzle by @jhanp12 in #1146
  • Update pre-commit hooks by @wjt in #1148
  • Walk behaviors followup by @manuq in #1144
  • Aspect ratio debugger: Fix static type warnings by @wjt in #1149
  • Factor out a "speeds" resource for walk behaviors by @wjt in #1153
  • Shake component: Consider that the target object could be freed by @luisdev20 in #1134
  • icon: Replace black border with dark green by @wjt in #1159
  • Change font to Jersey by @wjt in #1162
  • Update theme for 720p resolution by @wjt in #1168
  • docs: Add a REVIEWING guide by @wjt in #1169
  • On Fray's End, the elders collision shape doesn't seem to include the staff by @Gimms11 in #1132
  • docs: Add content guidelines by @wjt in #1172

Full Changelog: v0.1.3...v0.1.4

v0.1.3

11 Aug 20:12
32c4fc6

Choose a tag to compare

Compared to v0.1.2, this release comes with the first contributed StoryQuest, improvements for developing the game and a couple new systems added. Plus the usual minor improvements and bug fixes.

What's New

"El Juguete Perdido", first StoryQuest contributed

Join us in celebrating the first StoryQuest contributed by learners @OutsiderChikito and @Omar071201 from UTP (Universidad Tecnológica del Perú).

Captura desde 2025-08-11 13-46-59

StoryQuest automation

We did a first step towards automating the creation of new StoryQuests. Please note that the previous workflow of duplicating and renaming the full template directory still works. To create a new StoryQuest through the automation, use the menu: Project ➙ Tools ➙ Create StoryQuest from template... .

Captura desde 2025-08-11 13-34-02

This will open a pop-up window:

Captura desde 2025-08-11 13-34-35

In which you can type the StoryQuest title and description. The directory name containing the StoryQuest will be derived from the title.

After that, the StoryQuest directory will be selected in the Filesystem dock. It currently contains just the intro and outro scenes. You should copy one or more levels from the template folder into it, and then chain the scenes accordingly. For example:

  • Copy 3_template_sequence_puzzle
  • Set the sequence puzzle scene as Next Scene in the Cinematic node of the intro scene.
  • Set the outro as Next Scene in the CollectibleItem node of the sequence puzzle scene.

The Void

A new tileset starfield that is combined with a fragment shader to provide a whimsical illusion, with parallax and twinkling stars effects.

the-void.webm

Example scenes

What is better than documentation? Interactive documentation! The new The Void effect above has a test scene. And also the AreaFiller has a new test scene with in-game dialogue explaining how to use it.

Captura desde 2025-08-11 14-37-45

Display changes

We changed the game viewport to expand when the aspect ratio doesn't match 16:9. This means that the black bars at the sides are gone when playing fullscreen in displays with different aspect ratio. Also when playing from a web browser in a 16:9 display there were black bars, because of the browser tabs and window title bar were discounting to the game height. This is now fixed.

The minimum window size is now 1280×720 (720p), while the base resolution keeps being 1920×1080. This setting is ignored by the web build but helps with the expand viewport in desktop PC or when playing from the Godot Editor.

Talk Behavior node

We landed the first node that should improve the development using behavior components. With this new node, you can now add talk capability to any game entity, it doesn't have to inherit from the Talker class. You can follow the discussion on behavior components here.

Captura desde 2025-08-11 14-49-36

Optional run animation

As feedback from a team creating their StoryQuest, the player now supports a run animation, different from the walk animation. If not set, the walk animation playing at 2x speed is still used.

Pull requests merged in this release

  • README: Document Git LFS requirement briefly by @wjt in #930
  • gitignore: Ignore *.tmp by @wjt in #929
  • Add “El Juguete Perdido” StoryQuest by @wjt in #937
  • Add parallax effect for void starfield by @wjt in #940
  • Show project version on main menu by @wjt in #942
  • Use consistent color for InteractArea CollisionShape2Ds by @wjt in #943
  • README: Link to branches index by @wjt in #945
  • Track *.ogv files in Git LFS by @wjt in #948
  • Player: Add attack_02 animation by @manuq in #932
  • Update copyright owner to Endless Access LLC by @wjt in #951
  • Support modulating trees by @wjt in #952
  • pre-commit: Enforce editorconfig rules by @wjt in #955
  • Consistently indent shaders with tabs by @wjt in #954
  • HTML export: Add social card metadata by @wjt in #958
  • Player: Add optional run animation by @manuq in #961
  • Player: Check length of run animation if provided by @wjt in #962
  • Add Talk Behavior node by @manuq in #965
  • Play from Fray's End when running from the Editor by @manuq in #966
  • Talk behavior followup by @manuq in #968
  • InteractArea: Warn if it doesn't belong to its collision layer by @manuq in #969
  • Default dialogue: Remove reference to npc_name by @manuq in #971
  • Use fabric water rock by @wjt in #972
  • Stealth: Remove stray shadow under bridge by @wjt in #973
  • Fix EditorInterface parse error bug by @manuq in #977
  • Stella files cleanup by @manuq in #974
  • Revert loader script by @manuq in #986
  • Update to Godot Dialogue Manager 3.7.1 by @wjt in #985
  • Make games + community teams joint owners of Discord workflow by @wjt in #984
  • Bump Ilshidur/action-discord from 0.3.2 to 0.4.0 by @dependabot[bot] in #983
  • Add plugin to automate the creation of StoryQuests by @manuq in #909
  • Project: Remove snap transforms to pixel by @manuq in #990
  • Project: Expand aspect ratio by @manuq in #992
  • AreaFiller: Add test scene by @wjt in #999
  • splash: Keep centred in viewport by @wjt in #996
  • Remove rocks from AreaFiller test screen by @wjt in #1000
  • Set minimum window size to 1280×720 (720p) by @wjt in #1009
  • Clean up Fray's End scene tree by @wjt in #1008
  • Project: Default to nearest texture filter by @manuq in #988
  • Add cat fellow by @manuq in #1011
  • CONTRIBUTING: Document how to cite AI-generated images by @wjt in #925
  • Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #1059

Full Changelog: v0.1.2...v0.1.3

v0.1.2

07 Jul 10:16
@wjt wjt
v0.1.2
da8f5c8

Choose a tag to compare

Compared to v0.1.1, this release is largely minor fixes, build system changes, and general clean-up.

We have refactored the Guard entity used in stealth challenges; fixed some cosmetic issues with the tileset and collectible thread stacking; and addressed a few issues that made it easy to accidentally commit unwanted files or changes.

Play Threadbare in your browser and give us your feedback, either on our Discussions board or in our public Discord channel.

What's Changed

  • Teleporter: Detect instances of spawn_point.tscn by @wjt in #792
  • Fray's End: Simplify serialised flowers in scene by @wjt in #793
  • Create CODEOWNERS by @cassidyjames in #815
  • PR template: remove by @cassidyjames in #814
  • REUSE: Fix duplicate annotation for aseprite files in scenes/ by @wjt in #825
  • Logo: Cite use of Midjourney by @wjt in #829
  • ci: Only run release CI when release is published by @wjt in #858
  • Add web and Flatpak builds to releases by @wjt in #866
  • tree: Don't randomise scale when editing tree scene itself by @wjt in #867
  • Guard refactor by @manuq in #868
  • Ignore macOS system files; and zip and rar files by @wjt in #872
  • Project: Add color codes to filesystem folders by @manuq in #873
  • Physics layer fixes by @wjt in #886
  • Guard: Use correct class for Player by @manuq in #888
  • Consolidate theme resources by @wjt in #913
  • AreaFiller: Allow larger separation by @wjt in #918
  • CollectibleItem: Fix collision & stacking by @wjt in #919
  • tileset: Remove z_index -1 from water & foam by @wjt in #922

Full Changelog: v0.1.1...v0.1.2

0.1.1

13 Jun 16:24
@wjt wjt
4e40d71

Choose a tag to compare

0.1.1 Pre-release
Pre-release

In the past 3 weeks since the first pre-release of Threadbare, the rate of development has slowed to provide stability for learning programmes we're running using Threadbare, and as we reflect on what we have built so far and plan the next steps for this project. But we've still had some nice improvements and bug fixes in that time!

Play Threadbare in your browser and give us your feedback, either on our Discussions board or in our new public Discord channel.

What's New

Previously, the stealth challenge used placeholder assets from Tiny Swords for the guards you need to evade. Now they have been replaced with this creature: the Storyvore. (Art by Pixel Frog.)

Storyvore_run

Your progress through the game is now saved. This means that if you leave the game midway through a quest, then when you next start the game you can pick up where you left off.

We have added the first non-template StoryQuest, created by our team at Endless Access: Stella and the Missing Star. Talk to the StoryQuest Elder to the right of the Eternal Loom to become Stella and discover her story.

stella_player_walk

We have added the ability to skip the Sokoban-style puzzles at the Eternal Loom. Some players have found these extremely challenging, so after some time has passed, or the player has reset the puzzle a certain number of times, you can skip that puzzle. But they are all solvable, so we encourage you to challenge yourself to complete them!

We have also added a forest & flowerbed generator, which makes it easier to create large filled areas of trees or other scenes when designing a level.

Screencast.from.2025-06-13.17-20-01.webm

Pull requests merged in this release

  • Pause overlay: Add button to go back to title screen by @manuq in #700
  • Player: move walk sound to sfx bus by @JuanFdS in #710
  • Merge Stella quest by @manuq in #717
  • Settings: Revisit prints by @manuq in #715
  • Save game progress by @manuq in #716
  • Add flowerbed/forest generator by @wjt in #699
  • Fullscreen option by @manuq in #732
  • FixedSizeLabel: Resize container to label by @manuq in #726
  • Guard: Add Storyvore by @manuq in #721
  • Template: Hint that it should be used in the editor by @wjt in #751
  • Make sokoban puzzles skippable by @manuq in #691
  • README: Add community links by @wjt in #775
  • Add initial PR and issue templates by @cassidyjames in #778
  • README: add description and expand get-involved section by @cassidyjames in #779
  • Warn if the project has been cloned without Git LFS by @wjt in #773

Full Changelog: v0.1...v0.1.1

0.1 (MVP)

23 May 19:12
@wjt wjt
c1dab27

Choose a tag to compare

0.1 (MVP) Pre-release
Pre-release

After less than three frenetic months of design and development, this is the first pre-release of Threadbare!

Forces unknown have caused the fabric of the world to unravel. Only by telling stories can the world heal.

StoryWeaver_run inkdrinker_move_purple

As StoryWeaver, embark on a quest to recover the threads of Memory, Imagination, and Spirit and return them to the Eternal Loom, solving a musical riddle, defeating fearsome InkDrinkers, and evading detection by StoryVores along the way. Then, discover a template for telling your own stories in the game.