Releases: yell0wsuit/cuttherope-dx
Cut the Rope: DX v2.20.0.0
Description
This update delivers faster startup, new Om Nom skins and cut trace options, conveyor rewrite, and a bunch of fixes ✨.
Highlights
- 🎨 New customization options for Om Nom’s appearance and cut trace.
- ⚡ Significantly faster loading times—game startup and level loading now take under 3 seconds!
- ⚙️ Improved resource loading and memory handling for smoother performance and lower memory usage.
- 🧪 Fixed bamboo tube behaviors.
- 🎬 Animated ZeptoLab logo replaces the static splash, inspired by Cut the Rope: Time Travel.
- 🌍 Expanded language support—now includes Spanish, Japanese, Korean, Chinese, and more.
- 🔁 Rewritten conveyor system for improved accuracy, matching the iOS behavior more closely.
- 🪢 Fixed rope shading issue affecting non-default rope skins.
Downloads
🪟 Windows
- Windows x64
🍎 macOS (Apple silicon)
-
macOS build with FFmpeg backend
Recommended for macOS < 26 -
macOS Tahoe (26+) – AVFoundation backend
Note
Apps downloaded from the internet are usually flagged as "can't be opened" / "damaged" due to macOS security.
Remove it with xattr -dr com.apple.quarantine <appname.app>
🐧 Linux
-
AppImage (x86_64) – Recommended
-
Debian / Ubuntu
What's Changed
- enhancement: Reduce boot time and fix resource disposal by @yell0wsuit in #174
- enhancement: Reduce loading time with XML-driven resource discovery by @yell0wsuit in #175
- refactor: Decouple
ParseIntOrZeroandParseFloatOrZeroto make them as public APIs by @yell0wsuit in #176 - fix: Candy thrown out from bamboo candy bug by @yell0wsuit in #178
- feat: Support Flash animation, add Om Nom skin selection by @yell0wsuit in #172
- feat: Add outdated Windows version popup by @yell0wsuit in #179
- feat: Replace startup splash with animated ZeptoLab logo + disclaimer by @yell0wsuit in #180
- enhancement: Sprite optimization by @yell0wsuit in #181
- Conveyor rewrite by @yell0wsuit in #177
- refactor: Refactor and de-hardcode box pack code by @yell0wsuit in #182
- feat: Add trace customization by @yell0wsuit in #184
- fix: Sleeping sound timer and mouse animations by @yell0wsuit in #185
- fix: Disable Christmas bell sound ringing for non-default skin by @yell0wsuit in #189
- fix: Only apply shading for default rope color, reimplement Christmas lights on rope by @yell0wsuit in #187
- fix: Adjust bouncer path for 14-23 from Famobi version by @yell0wsuit in #190
- feat: Split locale string file for translation service, add support for other languages by @yell0wsuit in #188
- fix: Use
pt_brlanguage code for Brazilian Portuguese language by @yell0wsuit in #191
Full Changelog: v2.12.0.0...v2.20.0.0
Cut the Rope: DX v2.12.0.1
Description
This version fixes an oversight where the version number is not set.
No functionality changes.
Downloads
🪟 Windows
- Windows x64
🍎 macOS (Apple silicon)
-
macOS build with FFmpeg backend
Recommended for macOS < 26 -
macOS Tahoe (26+) – AVFoundation backend
Note
App downloaded from Internet is usually marked as "can't be opened" / "damaged" due to macOS security.
Remove it with xattr -dr com.apple.quarantine <appname.app>
🐧 Linux
-
AppImage (x86_64) – Recommended
-
Debian / Ubuntu
Cut the Rope: DX v2.12.0.0
Description
This version brings all Cut the Rope: Experiments objects[^1] to DX! You can now use rockets to launch candy through the air 🚀, bamboo tubes that shoot candy out 🎍, or ants that carry candy around 🐜.
Note
Levels from Cut the Rope: Experiments are not yet included in this version.
In addition, mobile physics is now available[^2] if you want the same feel as the mobile version. We also recommend enabling mobile physics when working with the rocket and water elements from Cut the Rope: Experiments, as their PC physics tuning is unofficial and unverified.
This version also introduces changes to the save file structure. Instead of storing all game settings and game data in a single file, they are now split into two files: one for global settings and one for game-specific data, making the save system easier to manage. Moreover, enabled/disabled options now use true and false values instead of binary numbers, making them more intuitive to read.
Warning
Save files from this version are not backward compatible. Make a backup of your existing saves before updating if you plan to downgrade.
Highlights
- Ported all Cut the Rope: Experiments objects to DX.
- Added mobile physics support.
- Bundled FFmpeg libraries so the game is portable—no more script installations required. This is especially useful in environments where script installations are limited, such as Steam Deck.
- Fullscreen preference is now saved and read from the save file.
- Changed the save file structure to separate game settings and game data.
Save files from this version are not backward compatible. Make a backup of your existing saves before updating if you plan to downgrade. - Spider can no longer grab non-candy objects (e.g., light bulbs).
- Half candy can no longer bypass spikes under certain circumstances.
- Music sets can now be changed in the pack configuration.
- Tightened bouncer and spike collision checks. Candy can no longer phase through them under high rope tension.
- Smoother ZZZ animations when Om Nom is sleeping, matching the mobile version.
- Fixed spider behavior with movable hooks and half candy:
- It no longer stays stationary with hooks while dormant.
- Fixed the glitch where it could grab full candy incorrectly.
Downloads
🪟 Windows
- Windows x64
🍎 macOS (Apple silicon)
-
macOS build with FFmpeg backend
Recommended for macOS < 26 -
macOS Tahoe (26+) – AVFoundation backend
🐧 Linux
-
AppImage (x86_64) – Recommended
-
Debian / Ubuntu
What's Changed
- feat: Add rope gun and suction-cup to rope properties by @yell0wsuit in #101
- fix: Restore grab radius fade blend state by @yell0wsuit in #119
- fix: Handle zero-radius R* mover paths by @yell0wsuit in #118
- fix: Disable bouncer skip to prevent candy phasing through by @yell0wsuit in #120
- Switch to Ffmpeg for unified video playback backend, bundle Ffmpeg for Linux + macOS by @yell0wsuit in #123
- Unify render target scaling for windowed and fullscreen modes by @yell0wsuit in #107
- Move FFmpeg playback to background thread, and improve end-of-playback handling by @yell0wsuit in #125
- refactor: Simplify paths across codebase by @yell0wsuit in #126
- Replace
volatilewithInterlockedfor thread-safe field access for UpdateChecker by @yell0wsuit in #127 - Replace
volatilewith Volatile.Read/Write in VideoPlayerAVFoundation by @yell0wsuit in #128 - refactor: Remove GL naming, consolidate overloads, use float consistently by @yell0wsuit in #129
- Bump FontStashSharp.MonoGame to 1.5.3 by @yell0wsuit in #130
- Simplify fullscreen toggle and fix dormant startup/F11 bugs by @yell0wsuit in #131
- Fix game starting in fullscreen by default on first launch by @yell0wsuit in #132
- Fix seam between vinyl sticker halves in DJ disc by @yell0wsuit in #133
- feat: Add rocket object by @yell0wsuit in #124
- Use
decalsLayerfor suction cup’s stain by @yell0wsuit in #134 - Fix
NullReferenceExceptionwhen starting with fullscreen preference enabled by @yell0wsuit in #135 - Fix FFmpeg crash on startup by @yell0wsuit in #136
- feat: Add water and snail by @yell0wsuit in #137
- feat: control music in box config by @Bingies24 in #138
- fix: Prevent half candy merge race condition with spikes by @yell0wsuit in #140
- Fix spider behavior with movable hooks and half candy by @yell0wsuit in #141
- feat: Add robohand by @yell0wsuit in #139
- Fix some rocket interactions by @yell0wsuit in #142
- Refactor finger cut trails code to be more readable + thicker trail by @yell0wsuit in #143
- refactor: Replace MenuButtonId string mapping with enum + bit-packed IDs by @yell0wsuit in #144
- refactor: Remove legacy int resource IDs and standardize on string-based resource APIs by @yell0wsuit in #145
- refactor: Use switch statement for LoadMetadata instead of if-else chain by @yell0wsuit in #146
- refactor: Standardize render/math helper APIs on float and remove redundant double bridges by @yell0wsuit in #147
- refactor: Replace magic numbers with named constants and math APIs by @yell0wsuit in #149
- refactor: Demange decomplication code by @yell0wsuit in #150
- Fix spider behavior when non-candy items enter rope by @yell0wsuit in #82
- refactor: Remove double/float shim overloads and redundant casts by @yell0wsuit in #151
- fix: Restore float/double casts removed in PR #151 to prevent integer division by @yell0wsuit in #152
- refactor: Replace
DynamicArray<T>with BCLList<T>by @yell0wsuit in #153 - refactor: Replace leftover Objective-C XML parsing by @yell0wsuit in #154
- refactor: Decouple physics constants by @yell0wsuit in #156
- refactor: Derive Bungee.cs's
drawPtsbuffer size fromPhysicsConstantsby @yell0wsuit in #157 - fix: Swept collision detection for spikes and bouncers under high rope tension by @yell0wsuit in #160
- fix: Optimize tiled rendering path to eliminate water-level stutter on PC by @yell0wsuit in #161
- refactor: Use
ParseFloatOrZerofor XML attribute parsing for consistency by @yell0wsuit in #162 - feat: Add ants code by @yell0wsuit in #159
- fix: Guard hat from snatching candy captured by lantern by @yell0wsuit in #164
- fix: Ghost cycling bugs with 0 or 1 transformation properties by @yell0wsuit in #165
- feat: Add bamboo code by @yell0wsuit in #163
- enhancement: Implement iOS-accurate mechanical hand clap behavior by @yell0wsuit in #166
- refactor: Extract Om Nom animations into pluggable backend architecture by @yell0wsuit in #168
- enhancement: Add smooth ZZZ sleep animation and show them only while sleeping by @yell0wsuit in #169
- refactor: Move pack config to JSON, and split preferences by save slot and global setting by @y...
Cut the Rope: DX v2.7.12.0
Description
This version addresses an issue where Discord RPC fails to connect due to the way the game is built. In addition, we also fix a potential startup performance issue with Discord RPC initialization.
Downloads
🪟 Windows
- Windows x64
🍎 macOS (Apple silicon)
-
macOS build with FFmpeg backend
Recommended for macOS < 26 -
macOS Tahoe (26+) – AVFoundation backend
🐧 Linux
-
AppImage (x86_64) – Recommended
-
Debian / Ubuntu
Note
Video playback requires external system libraries, depending on your platform.
Linux:
sudo apt install libvlc-dev vlc libx11-dev
macOS < 26:
brew install ffmpeg
To use brew command, you need to have Homebrew installed.
For macOS 26 (Tahoe) and later, AVFoundation builds can be downloaded and used without additional dependencies.
What's Changed
- Reimplement a portion of Discord RPC without relying on external dependency by @yell0wsuit in #112
- fix macos bundle script missing icon by @yell0wsuit in #113
- Revert "Reimplement a portion of Discord RPC without relying on external dependency" by @yell0wsuit in #114
- Reimplement a portion of Discord RPC without relying on external dependency [reopen] by @yell0wsuit in #115
Full Changelog: v2.7.11.0...v2.7.12.0
Cut the Rope: DX v2.7.11.0 - Final Phase 2 Update
Description
The long-awaited Final Phase 2 Update is… finally here! 🎉
For the first time ever, this release introduces Cheese, Pillow, and Mechanical Boxes on PC. On top of that, video playback is now available on Linux and macOS, completing cross-platform media support.
Highlights
- 🧀🛏️⚙️ Cheese, Pillow, and Mechanical Boxes added to the game.
- 🎨 New custom DX icon.
- 🎬 Video player support for Linux and macOS.
Note
Video playback requires external system libraries, depending on your platform.
Linux:
sudo apt install libvlc-dev vlc libx11-dev
macOS < 26:
brew install ffmpeg
To use brew command, you need to have Homebrew installed.
For macOS 26 (Tahoe) and later, AVFoundation builds can be downloaded and used without additional dependencies.
- 🔔 Update checker that prompts users to visit GitHub Releases—no more asking for ETAs!
- 📦 AppImage support on Linux, useful for distros where DEB installs are not available (e.g. Steam Deck),
- 🐞 Fixed light bulb collision with half candy.
- 🖼️ True 2K (2560x1440) in-game backgrounds from the original macOS version on Mac App Store.
- 🔧 Pump flow visuals now correctly match their hitbox.
Downloads
🪟 Windows
- Windows x64
🍎 macOS (Apple silicon)
-
macOS build with FFmpeg backend
Recommended for macOS < 26 -
macOS Tahoe (26+) – AVFoundation backend
🐧 Linux
-
AppImage (x86_64) – Recommended
-
Debian / Ubuntu
What's Changed
- Centralize language code string comparisons into
LanguageHelperby @yell0wsuit in #73 - Optimize OpenGL rendering with vertex buffers by @yell0wsuit in #74
- Refactor SoundMgr to decouple from CTRSoundMgr and improve APIs by @yell0wsuit in #76
- Safely fallback to first box pack and first Om Nom sitting platform when out of range by @yell0wsuit in #78
- Remove unused fields and members (CS0649) by @yell0wsuit in #77
- hotfix: coming soon box has lock by @yell0wsuit in #81
- Add: Cheese Box, Pillow Box and Mechanical Box to the game by @yell0wsuit in #80
- Add Appimage building script, organize build scripts by @yell0wsuit in #79
- More build warning cleanups, part 2 by @yell0wsuit in #83
- Refactor to fix CA1051: Do not declare visible instance fields by @yell0wsuit in #84
- Exclude MGCB building for CI environment by @yell0wsuit in #85
- Resolve IDE0060, remove Branding.cs by @yell0wsuit in #86
- Fix light bulb not colliding with half candy by @yell0wsuit in #90
- Migrate backgrounds and sprites to TexturePacker JSON format, remove
res_data_phone_full.xmlby @yell0wsuit in #87 - Rename
OpenGLtoOpenGLRendererby @yell0wsuit in #92 - Use true 2560x1440 level backgrounds, update scaling by @yell0wsuit in #93
- Add video playback support for DesktopGL backend by @yell0wsuit in #94
- Refactor reflection-based JSON serialization to AOT-compatible patterns by @yell0wsuit in #95
- Bump to .NET 10, add dirty versioning for debug build, and improve build script configuration by @yell0wsuit in #96
- Implement AVFoundation for video playback on macOS by @yell0wsuit in #97
- Implement FFmpeg backend for macOS < 26 by @yell0wsuit in #98
- fix: swap ghost eyes and body rendering order by @yell0wsuit in #100
- Implement native mouse cursor with custom texture by @yell0wsuit in #99
- enhancement: Extend pump flow visual to actually match with its hitbox by @yell0wsuit in #103
- fix: macOS video path creation and guard video teardown by @yell0wsuit in #104
- feat: Update credits and new icons by @yell0wsuit in #106
- Update RPC assets by @AdrianDrummis in #105
- Refactor popup UI to template-based system with fluent builder by @yell0wsuit in #108
- feat: Update checker by @yell0wsuit in #109
- chore: fix build scripts by @yell0wsuit in #110
Full Changelog: v2.4.10.1...v2.7.11.0
Cut the Rope: DX v2.4.10.1 - Dawn of Phase 2 Update
Description
The start of the Phase 2 Update! For the first time ever, the PC version of Cut the Rope is now available on Linux. You can now enjoy Cut the Rope: DX on Windows, Linux, and macOS 🪟🐧🍎!
Version v2.4.10.1 also brings a bunch of sweet new additions:
- 🥚 Easter Egg Candy, previously only available in mobile Cut the Rope in version 1.3
- 💬 Discord Rich Presence, show your in-game status to your Discord friends and servers
- 🎄 Improved Christmas background
- 🎨 Colored box hole backgrounds, inspired by classic Cut the Rope versions
- ⭐ 3-star box pack badge, just like in the mobile and web versions
Alongside the new contents, this release includes a number of behind-the-scenes improvements to boost the overall experience for everyone.
Please note that the intro and outro videos are not yet implemented for Linux and macOS.
What's Changed
- Refactor special tutorial trigger logic by @yell0wsuit in #50
- Smooth frame-time visual stutter across movers, camera, and scrolling by @yell0wsuit in #51
- Add script to auto-register assets in
content.mgcbby @yell0wsuit in #52 - feat: Add egg candy by @AdrianDrummis in #53
- Refactor to remove leftover
gotostatements by @yell0wsuit in #54 - Make game scene freeze after winning a level by @yell0wsuit in #55
- Hotfix: prevent freeze when next/replay clicked quickly after winning by @yell0wsuit in #56
- Update christmas menu background to widescreen holiday gift by @AdrianDrummis in #57
- chore: beautify xmls, compress pngs, fix stereo and remove redundant background by @yell0wsuit in #58
- feat: Add dynamic colored box hole background by @yell0wsuit in #59
- feat: Add 3 star badge when getting all stars in a pack by @AdrianDrummis in #65
- feat: Basic cross platform support by @Bingies24 in #64
- fix? Remove hardcoded disabled tutorial text on 1-2 and add mobile tutorial text by @AdrianDrummis in #66
- Refactor localization system to use JSON-based string lookup by @yell0wsuit in #69
- Refactor localization state into
LanguageHelperand centralize UI language cycling by @yell0wsuit in #70 - feat: Add Discord RPC by @AdrianDrummis in #62
- hotfix: Add alsoft.ini for DesktopGL builds by @Bingies24 in #71
Full Changelog: v2.4.0.0...v2.4.10.1
Cut the Rope: DX v2.4.0.0 - Final Phase 1 Update
Description
v2.4.0.0 introduces the Lantern Box to the PC version! 🏮🏮
Place the candy into one of the lanterns, then click any lantern to drop the candy out.
This release marks the final update of Phase 1. Stay tuned for more exciting updates coming next! 🚀
Please note that the game is only available on Windows 10 and later. More platforms are planned in the future.
What's Changed
- Implement lantern object by @yell0wsuit in #48
Full Changelog: v2.3.0.0...v2.4.0.0
Cut the Rope: DX v2.3.0.0
Description
v2.3.0.0 now brings you candy and rope customization! Inspired by the free version of Cut the Rope on iOS and Android, you can click on the candy and choose your favorite candy skin and rope color.
Alongside the new content, this release also adds support for mouse wheel scrolling support. You can now scroll naturally on PC without the awkward drag-to-scroll for mobile-like scrolling.
Please note that the game is only available on Windows 10 and later. More platforms are planned in the future.
What's Changed
- feat: Add mouse wheel scrolling support for scrollable containers by @yell0wsuit in #45
- Implement rope and candy skin customization by @yell0wsuit in #46
Full Changelog: v2.2.0.0...v2.3.0.0
Cut the Rope: DX v2.2.0.0
Description
v2.2.0.0 brings a lot of changes, including:
- New: Steam Box!
- Christmas theme and decorations, only available in December and January every year. Don't miss out!
- New font for the UI -- GoodDog New.
- Video now properly plays instead of skipping.
Alongside the new content, this release includes a number of behind-the-scenes improvements to boost the overall experience for everyone.
Please note that the game is only available on Windows 10 and later. More platforms are planned in the future.
What's Changed
- Rename
resourceNamesandcoverResourceNamestoboxBackgroundandboxCoverrespectively by @yell0wsuit in #32 - Use borderless fullscreen, fix minimizing restores window to default resolution by @yell0wsuit in #34
- Fix missing Om Nom idle animations by @yell0wsuit in #35
- Video Player Fixes by @Bingies24 in #37
- Centralize game content location by @yell0wsuit in #38
- Refactor pack selection to use explicit quad mapping with safe fallbacks by @yell0wsuit in #39
- Use
TitleContainerfor json texture path by @yell0wsuit in #40 - Fix rope stress sound effects by @yell0wsuit in #41
- Smoother loading animation, add explicit resource cleanup after quitting level by @yell0wsuit in #43
- Switch to use new font system by @yell0wsuit in #36
- Add Christmas theme and animations by @yell0wsuit in #42
- Implement Steam Box by @yell0wsuit in #25
Full Changelog: v2.1.10.0...v2.2.0.0
Cut the Rope: DX v2.1.10.0
Description
Introducing the first official release of Cut the Rope: DX! 🎉
This milestone marks the debut of the Spooky Box on PC, its first appearance on the platform ever. Alongside the new content, this release includes a number of behind-the-scenes improvements to boost the overall experience for everyone.
Please note that the game is only available on Windows 10 and later. More platforms are planned in the future.
What's changed
- Remove Windows Forms dependency by @yell0wsuit in #1
- Enable analyzers and cleanup by @yell0wsuit in #2
- Refactor Preferences.cs and migrate old binary save data to JSON by @yell0wsuit in #3
- Refactor
GameScene.csto make it modular by @yell0wsuit in #4 - Detect formatting, and properly decouple
GameScene.Show()by @yell0wsuit in #5 - Update code to use new
DynamicArray<T>type by @yell0wsuit in #6 - Remove iOS abstraction layers with native C# calls by @yell0wsuit in #7
- Organize directive name by @yell0wsuit in #8
- Load data from XML instead of embedding in
ResDataPhoneFull.csby @yell0wsuit in #9 - Support for TexturePacker JSON format by @yell0wsuit in #10
- Add 4th in-game music, organize music and sound effect files by @yell0wsuit in #11
- (Fix) Restore original menu music by @AdrianDrummis in #12
- Refactor menu strings to read directly from
menu_strings.xml, fix missing characters crashing by @yell0wsuit in #16 - Refactor to load box data from XML by @yell0wsuit in #17
- Fix result text not appearing, fix latter box selection does not play tap sound by @yell0wsuit in #18
- Implement Ghost element by @yell0wsuit in #14
- Stubbed Spooky Box achievement, add check to prevent crashes by @yell0wsuit in #22
- Swap ghost eyes and body rendering order by @yell0wsuit in #23
- Fix ghost morphing effects by @yell0wsuit in #26
- Rework resource system from numeric IDs to string-based lookup by @yell0wsuit in #27
- Refactor
MenuButtonIdto use string-based lookup with auto-assigned numeric IDs by @yell0wsuit in #28 - Switched textures and sounds to use MonoGame Content Builder by @Bingies24 in #24
- Update the project info, add version to the title bar by @yell0wsuit in #29
New contributors
- @yell0wsuit made their first contribution in #1
- @AdrianDrummis made their first contribution in #12
- @Bingies24 made their first contribution in #24
Full Changelog: https://github.com/yell0wsuit/cuttherope-dx/commits/v2.1.10.0