Thimbleweed Park Engines | Thimbleweed Park 2 dev blog
Thimbleweed Park Engines
Aug 8, 2026
A few people have asked what the difference with the engine we used for Thimbleweed Park 1 and what we are using for Thimbleweed Park 2.
They are basically two different engines with a few similarities, mostly in the format of the room images.
Thimbleweed Park 1 used SDL for graphics and sound and a scripting language called Squirrel.
Squirrel is a good language, but it couldn’t do the code optimizing I wanted and was missing a few convenience features.
You had to ship your game with full source and it compiled it at run-time. I wanted it to emit byte code so I could run an optimization pass.
After Thimbleweed Park 1 I started working on a early version of Death by Scrolling (called Runner back then) and in a fit of insanity I wrote a new scripting language called Dinky. It compiled to byte-code and had an optimization pass. It was still 80% compatible with Squirrel, but I added some new features and it was a lot faster.
About this time the idea of Return to Monkey island was starting to become real so I started (with David’s help) the game Delores. It was going to serve as a test bed for porting Thimbleweed Park 1 to my new engine that we’d use for Return to Monkey Island.
Thimbleweed Park 1 used the SDL sound engine which is very limited and porting to mobile and consoles required re-writing the sound engine. I initially poo-poo’d using FMOD because it would cost $6000 to use it for Thimbleweed Park 1, but in the end I spent more than $6000 porting to all the different platforms. Penny-wise, pound-foolish.
So Delores used FMOD and it’s a dream.
I also teamed up again with Derek who I had worked with on DeathSpank and he removed SDL and began a new graphics back-end that would use Vulcan, Metal, DirectX, etc. It would make porting to other platforms a lot easier and allow for better use of shaders.
We started Return to Monkey Island and basically used the Delores Engine. The big change we had to make was supporting hires images. It was just scaling the rendering, but we had to add a lot of smart caching because the texture were a lot bigger than pixel art.
I then started working on Death by Scrolling again and used the Return to Monkey Island engine with a new tile map renderer.
Death by Scrolling shipped and then Thimbleweed Park 2 became a reality.
Back to the Return to Monkey Island engine. The changes were pretty simple since we just need to scale it for pixel art again.
The big changes were in the Dinky scripting code since I want to re-look at the UI and verbs. I wasn’t happy with Thimbleweed Park 1, Delores or Return to Monkey Island and wanted to try something new, kind of a hybrid between the best of the three.
But more on that later…
So, it’s a very different engine.
Thimbleweed Park 1 -> Runner -> Delores -> Return to Monkey Island -> RPGTBD -> Death by Scrolling -> Thimbleweed Park 2 -> TBD
Comments:
Tom_ofB<br>5h ago I am really looking forward to see how the UI changes affect the feel. Having played MI2 on an Amiga 500 with it's 11 disks, I doubt we'll ever bottom out on that.<br>The FMOD situation is a little disheartening. I wish open source all the way down - as for dependencies - would be the way for game development. Of course it can be done, but some areas still seem to require compromises.<br>Please do keep those technical glimpses behind the scenes coming.
Ron Gilbert ✔<br>5h ago One of the things that makes FMOD (and Wwise) so good is they run on consoles which is very hard for open source to do given the propriety nature of the consoles. This is a problem that Godot runs into.
David Fox ✔<br>3h ago Fun to have you lay out the history and evolution of these system languages. Each generation gives us more tools and flexibility. My favorite FMOD feature is spatialized sound with fine tuning and easily adaptable parameters, not so important on single screen rooms but essential for those long Thimbleweed Park streets!
And FMOD’s live preview — while running the game I can change envelopes/parameters until I’m happy.
And after I had to upgrade my Mac during RtMI (LeChuck’s ship killed the frame rate), it’s fun returning to much lower resolution scenes.
ohGr<br>1h ago I love your work my friend, please never stop! :D
birenbergg<br>1h ago Wait, is this 3D-ish game you've been posting on Mastodon actually TP2 in progress?<br>(Just kidding. I know it isn't. I hope it isn't.)
tcmsurfer<br>1h ago "Always trying to improve things" vs. Never change a running system".
Thanks for the insights. The moat complicated part for me sounds like the graphical engine.
Got mo experience in the gaming field even though I would like to make it a passion of mine.
Just impressive that you can handle your tools this way.
Curious question though: Do your build and dependency systems also change and evolve over time?
And David: Glad you are getting more custom tools at hand...