|
|
This game is still under active development. |
|
|
This game is receiving new content, by way of Expansion Packs and/or Downloadable Content. |
Contraption Maker is the spiritual successor to the Incredible Machine series, made for modern computers. It features a robust physics engine faithful to classical Newtonian physics. There is also Steam Workshop integration so players can share puzzles and contraptions with others around the world.
|
|
To do:
|
File Format#
A lot of content below will reference CML files, which are the puzzles, help nodes, Steam Workshop entries, or any game mode where the player has access to the playfield, where data is loaded into it, saved in plain text format, which can be edited in any text editor.
Steam Early Access Leftovers#
Some Steam Workshop entries predate the official release date of Contraption Maker. In the description of a puzzle, a warning message appears to the player, stating the entry may no longer function as originally intended. Anything published postdate release will not display this warning message. Later versions of Contraption Maker maintain older versions of physics engines to keep things from breaking over time. These CML files contain a physics version parameter.
Old UI Graphics#
Labeled Layers#
There is no ability in the game to rename scenery layers, and always defaults to "Scenery X", where X is substituted with a number starting with 1. The CML can be edited to label the layers. Maker Lab easily loads the named layer.
Improperly Formatted CMLs#
If loading a CML not in Maker Lab mode, the screen briefly flashes with an error message Error loading level before returning to the level select screen. This doesn't happen with loading CMLs in Maker Lab. Instead it allows the player to interact with the dialog box, stating Unable to load this level - file is corrupted.
|
Outside Maker Lab |
Inside Maker Lab |
|---|---|
|
|
Help Node#
Missing#
When clicking a part, a green ? help node button is available. A CML loads and gives a quick demonstration what the part does. If no help node exists, No help for this part displays instead. The Battling Cards DLC parts does not have a help node available, but this is very likely a developer oversight.
Bowling Ball Mistake#
|
|
'...But does it make sense?' |
The game used to have an official English description for the bowling ball, but was broken some time before 2018. The help node now uses Simplified Chinese, which doesn't display correctly playing the game in English. The below translation and accompanying picture is a mock-up.
保龄球大而重 并且不喜欢反弹
Translated
The bowling ball is big, heavy, and doesn't bounce much.
|
Current |
Mock-up |
|---|---|
|
|
Developer Console#
Pressing the tilde key ~ brings up the developer console.
Command |
Description |
|---|---|
joinserver [IP:port] [password] |
Join a server. Password is optional |
kick [userid/username] |
Kick the specified user from the server |
ban [userid/username] |
Ban the specified user from the server |
kickban [userid/username] |
Kick and ban the specified user from the server |
removeban [userid/username] |
Remove ban for the specified user |
listusers |
List the current users on the server including id and username |
listbanned |
List the users which have been banned from the server (persistent) |
resetpuzzles |
Reset the puzzle solved state |
stats |
Toggles stats |
enablemods [false] |
Enables or disables Javascript mods |
screenshot width height |
Saves a large png with the name of the contraption to level dir |
resetAchievements |
Resets all stats and achievements on STEAM |

Unused Sounds#
Sound |
Notes |
|---|---|
Waldo used to meow, complete with animation, in promotional material, but no longer does this in-game. Likely due to it being seemingly random and may have interfered with keeping the physics simulation consistent across subsequent running. |
|
No sound plays during the cranking of the Jack-in-the-Box part. It is unknown why this sound never plays. The original game series never had this, unless viewing the help node. |
Starting at 1:16 in the trailer, Waldo meows.
Unused Graphics#
3D Model Texture of Tim#
There is a C3B file along with a 3D model texture of Tim, but Tim in the game is not a 3D model at all but a rendered 2D PNG that has many frames. This is likely a developer file that was accidentally left in the games assets.
Squash and Stretch Big Crate and Recycling Box#
There are drawn graphics for big crate and recycling box squashing and stretching, but is never used in-game.

Waldo Meowing#
As previously mentioned, Waldo used to meow.
Scaredy Dog#
There is a magenta version of Tinker's animations. This could be an unused graphic relating to being afraid of Milton or Zoe's Camera flash. This is similar to the effect seen by the Mischievous Ghost where it turns blue. There is even a parts bin icon for it.

Early Fraction Blocks#
With the newly released number blocks, there is a fraction block that allows the player to define a numerator and a denominator for mass with set dimensions, leaving these icons only for speculation what the parts would have looked and behaved like.
Early 8-Ball#
The 8-ball was going to look more like the one found in The Incredible Machine.
|
Early |
Final |
|---|---|
|
|
|
Unused Part Images#
Just some miscellaneous images that don't have anything more to them.
happyforest#
\assets\clipart\happyforest\
\assets\clipart\happyforest2\
In older builds of the game, happyforest scenery pieces used to be available to add to puzzles and contraptions in Maker Lab. Some scenery pieces reappear in happyforest2 folder, but are larger versions, and are officially available to use. There is even accompanying developer text file README.txt with info on the scenery:
This art has been deprecated. It will not appear in the tray since there are no icons,
but the art remains behind for levels that used it, at least for now.
It is still possible to get happyforest assets into new CML files since the files are just PNGs that can be referenced like a file path. These official puzzles are still referencing the otherwise inaccessible scenery pieces:
\assets\levels\demo\demo1.cml
\assets\levels\demo\demo2.cml
\assets\levels\official\pack15\106 - Drop the Bucket.cml
\assets\levels\official\pack15\138 - Hit 2 Bumpers.cml
\assets\levels\official\pack15\18 - Send Milton Home.cml
\assets\levels\official\pack15\21 - Climbing a Hill.cml
\assets\levels\official\pack15\66 - Knock it Off.cml
\assets\levels\official\pack15\73 - A Pirate's Life for Me.cml
\assets\levels\official\pack2\Angry Tims.cml
\assets\levels\official\pack2\bounce in the box.cml
\assets\levels\official\pack2\Topple the Tower.cml
\assets\levels\official\pack3\Bowling Blender.cml
\assets\levels\official\pack3\Get Tim Home.cml
\assets\levels\official\pack3\knock tim out.cml
\assets\levels\official\pack3\montana tim.cml
\assets\levels\official\pack4\break the ice.cml
\assets\levels\official\pack4\Bridge Crossing.cml
\assets\levels\official\pack4\bright idea.cml
\assets\levels\official\pack4\factory opening.cml
\assets\levels\official\pack4\playing with fire.cml
\assets\levels\official\pack4\pop the balloon.cml
\assets\levels\official\pack4\revenge of the clones.cml
\assets\levels\official\pack4\self destructive.cml
\assets\levels\official\pack4\shed construction.cml
\assets\levels\official\pack4\tim is lost.cml
\assets\levels\official\pack4\yardwork.cml
\assets\levels\official\pack6\Bucket Ball.cml
\assets\levels\official\pack6\Solar Living.cml
\assets\levels\official\pack6\the pretty good escape.cml
\assets\levels\official\pack6\tug o war.cml
\assets\levels\templates\contraptions\Main Menu Contraption.cml
\assets\levels\templates\puzzles\Angry Tims.cml
\assets\levels\templates\puzzles\bounce in the box.cml
\assets\levels\templates\puzzles\Custom Location Goal.cml
\assets\levels\tests\Angry Tims.cml
\assets\levels\tests\bounce in the box.cml
\assets\levels\tests\Bowling Blender.cml
\assets\levels\tests\break the ice.cml
\assets\levels\tests\Bridge Crossing.cml
\assets\levels\tests\bright idea.cml
\assets\levels\tests\Bucket Ball.cml
\assets\levels\tests\factory opening.cml
\assets\levels\tests\Get Tim Home.cml
\assets\levels\tests\knock tim out.cml
\assets\levels\tests\montana tim.cml
\assets\levels\tests\playing with fire.cml
\assets\levels\tests\pop the balloon.cml
\assets\levels\tests\revenge of the clones.cml
\assets\levels\tests\self destructive.cml
\assets\levels\tests\shed construction.cml
\assets\levels\tests\Solar Living.cml
\assets\levels\tests\the pretty good escape.cml
\assets\levels\tests\tim is lost.cml
\assets\levels\tests\Topple the Tower.cml
\assets\levels\tests\tug o war.cml
\assets\levels\tests\yardwork.cml
Sandbox Mode Oddities#
\assets\levels\scenarios\pack1\
Thumbnail#
Tutorial Puzzles thumbnail is duplicated, possibly as a placeholder, for pack1 sandbox pack. However, only puzzle mode uses packs to sort puzzles and has a corresponding thumbnail for each pack.
Late Night Lab Work#
There is an unused sandbox mode level called Late Night Lab Work. There is also a puzzle.pak file that is a plain text file and it improperly references the level as Latenight Labwork. A simple correction restores the scenario and it will appear.
It's time for Tim to head home after working in the lab all day. Get him off the right side of the screen.
Before Change |
After Change |
Late Night Lab Work Playing |
|---|---|---|
![]() |
![]() |
![]() |
Test Levels#
There are 234 CML files in a folder called tests.
\assets\levels\tests\Aerial Counter Combat.cml
\assets\levels\tests\Alpine Offense.cml
\assets\levels\tests\Angry Tims.cml
\assets\levels\tests\Anti-Gravity.cml
\assets\levels\tests\Avalanche Control.cml
\assets\levels\tests\Balloons.cml
\assets\levels\tests\Balls.cml
\assets\levels\tests\Basement Blender.cml
\assets\levels\tests\Be Free Phil Fish!.cml
\assets\levels\tests\Beginner's Brunch.cml
\assets\levels\tests\Big Pipes.cml
\assets\levels\tests\Blast Off.cml
\assets\levels\tests\blimp be free.cml
\assets\levels\tests\Blimps & Flying Saucers.cml
\assets\levels\tests\Boom!.cml
\assets\levels\tests\bounce in the box.cml
\assets\levels\tests\Bouncy.cml
\assets\levels\tests\Bowling Blender.cml
\assets\levels\tests\Break the Bowl.cml
\assets\levels\tests\break the ice.cml
\assets\levels\tests\Bridge Crossing.cml
\assets\levels\tests\bright idea.cml
\assets\levels\tests\Bucket Ball.cml
\assets\levels\tests\Buckets.cml
\assets\levels\tests\Bunker Bamboozled.cml
\assets\levels\tests\Candle Conundrum.cml
\assets\levels\tests\Cannon.cml
\assets\levels\tests\Cannonball!.cml
\assets\levels\tests\Captain Tim.cml
\assets\levels\tests\cat disposal.cml
\assets\levels\tests\cat shipment.cml
\assets\levels\tests\Cat Trap.cml
\assets\levels\tests\cat v mouse.cml
\assets\levels\tests\catervator.cml
\assets\levels\tests\Clicker & Bobber.cml
\assets\levels\tests\Creators & Disposals.cml
\assets\levels\tests\Dominoes.cml
\assets\levels\tests\egg crusher.cml
\assets\levels\tests\Egg Timer.cml
\assets\levels\tests\Eggcellent Transfer.cml
\assets\levels\tests\factory opening.cml
\assets\levels\tests\fan blocker.cml
\assets\levels\tests\Feed the Beast.cml
\assets\levels\tests\feed waldo.cml
\assets\levels\tests\free the 8 ball.cml
\assets\levels\tests\free the balloon.cml
\assets\levels\tests\Gears.cml
\assets\levels\tests\Get Tim Home.cml
\assets\levels\tests\Going Up.cml
\assets\levels\tests\GTAntiGravity.cml
\assets\levels\tests\GTAntiGravityInactive.cml
\assets\levels\tests\GTBalloonNotPopped.cml
\assets\levels\tests\GTBalloonPopped.cml
\assets\levels\tests\GTBlenderOff.cml
\assets\levels\tests\GTBlenderOn.cml
\assets\levels\tests\GTBlimpNotPopped.cml
\assets\levels\tests\GTBlimpPopped.cml
\assets\levels\tests\GTBombExploded.cml
\assets\levels\tests\GTBombNotExploded.cml
\assets\levels\tests\GTBottleRocketExploded.cml
\assets\levels\tests\GTBottleRocketNotExploded.cml
\assets\levels\tests\GTCandleLit.cml
\assets\levels\tests\GTCandleNotLit.cml
\assets\levels\tests\GTCannonFired.cml
\assets\levels\tests\GTCannonNotFired.cml
\assets\levels\tests\GTCatomaticOff.cml
\assets\levels\tests\GTCatomaticOn.cml
\assets\levels\tests\GTConveyorBeltRunning.cml
\assets\levels\tests\GTConveyorBeltStill.cml
\assets\levels\tests\GTCustomLocation.cml
\assets\levels\tests\GTDoubleLighterLit.cml
\assets\levels\tests\GTDoubleLighterNotLit.cml
\assets\levels\tests\GTDoubleStrikerLit.cml
\assets\levels\tests\GTDynamiteExploded.cml
\assets\levels\tests\GTDynamiteNotExploded.cml
\assets\levels\tests\GTElectricGeneratorNotRunning.cml
\assets\levels\tests\GTElectricGeneratorRunning.cml
\assets\levels\tests\GTFanOff.cml
\assets\levels\tests\GTFanOn.cml
\assets\levels\tests\GTFlashlightLit.cml
\assets\levels\tests\GTFlashlightNotLIt.cml
\assets\levels\tests\GTHamsterCageResting.cml
\assets\levels\tests\GTHamsterCageRunning.cml
\assets\levels\tests\GTHouseNotOccupied.cml
\assets\levels\tests\GTHouseOccupied.cml
\assets\levels\tests\GTInsideObject.cml
\assets\levels\tests\GTJackintheboxNotPopped.cml
\assets\levels\tests\GTJackintheboxPopped.cml
\assets\levels\tests\GTKettleNotSteaming.cml
\assets\levels\tests\GTKettleSteaming.cml
\assets\levels\tests\GTLaserInverterOff.cml
\assets\levels\tests\GTLaserInverterOn.cml
\assets\levels\tests\GTLightBulbLit.cml
\assets\levels\tests\GTLightBulbNotLit.cml
\assets\levels\tests\GTLightBulbPlug.cml
\assets\levels\tests\GTLightBulbPlugNotLit.cml
\assets\levels\tests\GTMatchDeviceLit.cml
\assets\levels\tests\GTMatchDeviceNotLit.cml
\assets\levels\tests\GTMissileExploded.cml
\assets\levels\tests\GTMissileNotExploded.cml
\assets\levels\tests\GTMotorNotRunning.cml
\assets\levels\tests\GTMotorRunning.cml
\assets\levels\tests\GTMouse.cml
\assets\levels\tests\GTMouseDoor.cml
\assets\levels\tests\GTMouseHoleEmpty.cml
\assets\levels\tests\GTMouseNotInHole.cml
\assets\levels\tests\GTMultiple.cml
\assets\levels\tests\GTNitroExploded.cml
\assets\levels\tests\GTOffBottom.cml
\assets\levels\tests\GTOffLeft.cml
\assets\levels\tests\GTOffRight.cml
\assets\levels\tests\GTOffScreen.cml
\assets\levels\tests\GTOffTop.cml
\assets\levels\tests\GTPaperLantern.cml
\assets\levels\tests\GTPaperLanternNotLit.cml
\assets\levels\tests\GTPinWheelOn.cml
\assets\levels\tests\GTPinWheelStill.cml
\assets\levels\tests\GTPunchingFistNotPunched.cml
\assets\levels\tests\GTPunchingFistPunched.cml
\assets\levels\tests\GTRayGunFired.cml
\assets\levels\tests\GTRayGunNotFired.cml
\assets\levels\tests\GTRemoteBomb.cml
\assets\levels\tests\GTRemoteBombNotExploded.cml
\assets\levels\tests\GTRemoteBombPlunger.cml
\assets\levels\tests\GTRemoteBombPlungerNotTriggered.cml
\assets\levels\tests\GTRocketFlying.cml
\assets\levels\tests\GTRocketNotFlying.cml
\assets\levels\tests\GTState.cml
\assets\levels\tests\GTSteamWhistleOff.cml
\assets\levels\tests\GTSteamWhistleWhistling.cml
\assets\levels\tests\GTSwitchOff.cml
\assets\levels\tests\GTSwitchOn.cml
\assets\levels\tests\GTToasterNotToasted.cml
\assets\levels\tests\GTToasterToasted.cml
\assets\levels\tests\GTToolmanTimFalling.cml
\assets\levels\tests\GTToolmanTimRunning.cml
\assets\levels\tests\GTToolmanTimSleeping.cml
\assets\levels\tests\GTToolmanTimStanding.cml
\assets\levels\tests\GTTrapdoorNotSprung.cml
\assets\levels\tests\GTTrapdoorSprung.cml
\assets\levels\tests\GTVacuumOff.cml
\assets\levels\tests\GTVacuumOn.cml
\assets\levels\tests\Happy Birthday to Steve.cml
\assets\levels\tests\Helping Hand.cml
\assets\levels\tests\hot waldo.cml
\assets\levels\tests\Hungry Hungry Crocs.cml
\assets\levels\tests\Inverse Lasers.cml
\assets\levels\tests\King of the Jungle.cml
\assets\levels\tests\Kitty Captive.cml
\assets\levels\tests\knock tim out.cml
\assets\levels\tests\Large Nitro Collider.cml
\assets\levels\tests\Laser Mixer.cml
\assets\levels\tests\laser outlet.cml
\assets\levels\tests\Laser Repeater.cml
\assets\levels\tests\Light in the Night.cml
\assets\levels\tests\Lights.cml
\assets\levels\tests\loading dock.cml
\assets\levels\tests\lunch break.cml
\assets\levels\tests\make an omlette.cml
\assets\levels\tests\Making Fire.cml
\assets\levels\tests\Martian Launch.cml
\assets\levels\tests\Mice Can Fly.cml
\assets\levels\tests\Mile High Mouse Trap.cml
\assets\levels\tests\Milton.cml
\assets\levels\tests\Mirrors & Splitters.cml
\assets\levels\tests\Mission Control.cml
\assets\levels\tests\montana tim.cml
\assets\levels\tests\Motors & Generators.cml
\assets\levels\tests\mouse in the house.cml
\assets\levels\tests\Normal Lasers.cml
\assets\levels\tests\over the top.cml
\assets\levels\tests\Paper Lantern.cml
\assets\levels\tests\Paper Preparations.cml
\assets\levels\tests\playing with fire.cml
\assets\levels\tests\Plugs & Switches.cml
\assets\levels\tests\Poking & Punching.cml
\assets\levels\tests\Pop It!.cml
\assets\levels\tests\pop the balloon.cml
\assets\levels\tests\Precision.cml
\assets\levels\tests\Ray Gun.cml
\assets\levels\tests\recycling day.cml
\assets\levels\tests\Rescue Lantern.cml
\assets\levels\tests\revenge of the clones.cml
\assets\levels\tests\Rewire the Rocket.cml
\assets\levels\tests\Rocket School.cml
\assets\levels\tests\rocket science.cml
\assets\levels\tests\Rockets.cml
\assets\levels\tests\Rope Boards.cml
\assets\levels\tests\running tim.cml
\assets\levels\tests\Scissors.cml
\assets\levels\tests\self destructive.cml
\assets\levels\tests\Set the Sequence.cml
\assets\levels\tests\shed construction.cml
\assets\levels\tests\Sibling Rivalry.cml
\assets\levels\tests\simple pop.cml
\assets\levels\tests\Solar Living.cml
\assets\levels\tests\Space Madness.cml
\assets\levels\tests\Space Station Alpha.cml
\assets\levels\tests\Spelunking.cml
\assets\levels\tests\Spike Pit Woes.cml
\assets\levels\tests\Springtime for Tim.cml
\assets\levels\tests\Start the Reactor.cml
\assets\levels\tests\Status- Hungry.cml
\assets\levels\tests\Steve the Crocodile.cml
\assets\levels\tests\Target Practice.cml
\assets\levels\tests\Teeter Totters & Ropes.cml
\assets\levels\tests\Temporary Laser.cml
\assets\levels\tests\The Great Heist 2.cml
\assets\levels\tests\The Great Heist.cml
\assets\levels\tests\The Little Hamster That Could.cml
\assets\levels\tests\the pretty good escape.cml
\assets\levels\tests\The Puzzle Fan's Finale.cml
\assets\levels\tests\The Sky is Falling.cml
\assets\levels\tests\Three Point Shot.cml
\assets\levels\tests\tim is lost.cml
\assets\levels\tests\Tim's Fireworks Show.cml
\assets\levels\tests\toast time.cml
\assets\levels\tests\Toaster.cml
\assets\levels\tests\Toolman Tim.cml
\assets\levels\tests\Topple the Tower.cml
\assets\levels\tests\trapdoor tea.cml
\assets\levels\tests\Trapdoors.cml
\assets\levels\tests\Trapped!.cml
\assets\levels\tests\Trouble on the Tracks.cml
\assets\levels\tests\tug o war.cml
\assets\levels\tests\tutorial testing 2.cml
\assets\levels\tests\tutorial testing.cml
\assets\levels\tests\Underwater Entrance.cml
\assets\levels\tests\Waldo.cml
\assets\levels\tests\Walls & Inclines.cml
\assets\levels\tests\Wind Powered House.cml
\assets\levels\tests\Wind.cml
\assets\levels\tests\yardwork 2.cml
\assets\levels\tests\yardwork.cml


