We just reached 25,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Crazy Machines

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Crazy Machines

Also known as: Заработало! (RU)
Developer: FAKT Software GmBH
Publisher: Pepper Games
Platform: Windows

CodeIcon.png This game has unused code.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
Sgf2-unusedicon1.png This game has unused abilities.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.

PrereleaseIcon.png This game has a prerelease article

Crazy Machines is a puzzle game of Rube Goldberg contraptions, and revolutionized the genre of "games you randomly find on a school PC".

Where's my screwdriver?

To do:
  • Find and commit exact release dates.
  • Add info about USA bundle releases.


Read about prerelease information and/or media for this game.
Prerelease Info


The game had four main releases, with the latter three introducing new elements, puzzles, and bugs:

  • Crazy Machines: Inventor's Workshop (2004)
  • Crazy Machines: New Challenges (September 27, 2004)
  • Crazy Machines: New From The Lab (October 15, 2005)
  • Crazy Machines: Inventor's Training Camp (October, 2006, co-released with Oetinger Entertainment)

By unique elements and features, New Challenges is a superset of Inventor's Workshop, while both New From The Lab and Inventor's Training Camp are supersets of New Challenges (internally, Inventor's Training Camp is based on the New From The Lab-era engine with features cut). New From The Lab and Inventor's Training Camp have their own mutually-exclusive features.

Quirks of all versions are described on the same page, as the internal differences between them are minor.

Debug Features

Debug Screen

To do:
  • More specifics about enabling debug screen
  • Explain more obscure values

Present in all versions. It cannot be enabled legitimately and instead is controlled by two values in memory (one for FPS display and another for debug screen). If the latter is active, the following values are shown:

  • Main: time elapsed since start
  • Game: time since last game mode change
  • nMode: current active dialog window
  • Number of objects present (not necessarily rendered)
  • Conn: number of power/belt/rope connections, counted by endpoints. Equals 2 when two elements are connected with one cord
  • Elements: number of elements (objects placed by level creator or player) on the field
  • MOFuze: possibly the pointer to the object of a fuze being edited right now
  • Sel: number of elements being in selection, posrel indicates whether they are being dragged around.
  • Belts: number of power/belt/rope connections, counted by cords. Equals 1 when two elements are connected with one cord
  • PSs: particle systems. Examples include flames, windmills, bombs, etc.
  • FMs: unknown
  • ZoneBorder: corner. Not present in Inventor's Workshop, as zones were not a feature yet.
  • InGoal: number of elements with hit goals
  • Drawn: number of objects drawn to the screen.
  • SVB: unknown, possibly related to shadow volume recalculation.

CM NFTL Debug.png CM NFTL FPS.png

Physic Model Display

To do:
This is definitely present in New Challenges and New From The Lab. Its presence and functionality in Inventor's Workshop is to be confirmed.

For every model, the game uses a collider composed of spheres and boxes. Much like with the debug screen, there is an option to render these hitboxes but it is buried in the code.

CM NFTL Hitbox.png

Some 3D UI elements (editor tabs, buttons, etc.) also use hitboxes despite not being processed by the physical engine. In this case, hitboxes are used to determine a hit when the player's inputs are raycasted.

Unused Assets

Inventor's Workshop

Centrifugal Belt

Since the first release an unimplemented element is mentioned in a translation file (scripts/strings/main.txt).

tmo_belt_centr { FLIEHKRAFTMESSER }

This oddity is carried into localized versions ("Centrifugal belt" in English, "ИЗМЕРИТЕЛЬ ЦЕНТРОБЕЖНОЙ СИЛЫ" [Centrifugal force meter] in Russian). Its design and purpose is unknown.

Golf Ball

All versions include a "golf ball" model (data/models/ball_golf.ucm). There is no texture, shader, or other references to it outside of model loading script. It was most likely replaced by the tennis ball because of similar size, easier recognition, and the naturally-complicated texture of a golf ball.

Chain Link

Inventor's Workshop and Inventor's Training Camp (they have a similar title screen, but the latter lacks the start screen lamp) include an unused model named (data/models/startscreen_lamp_chainlink.ucm). This may indicate the start screen lamp in Inventor's Workshop was originally meant to be hanging on a chain, as opposed to a blue power cord.

New Challenges

Unused Gravity-Related Texture

The textures directory contains a file named power_gravity_disc.ucm (not used anywhere). It is notable this is the first finished texture for New Challenges (official demos preserve modification datetime of files), indicating it was used for an early version of the gravity machine.

power_gravity_disc.tga, converted to .png

Zeppelin Motor/Rotor

elements.fsc code for the zeppelin refers to to_wind_zeppelin_rotor (spinning yellow propeller). However, there is an identical section of code describing to_wind_zeppelin_motor which refers to a nonexisting motor model. This may indicate the zeppelin used to look differently. It might also be just a simple name change, though.

ID 57

New Challenges and later games have items for a continuous series of IDs (1 to 79 at least) except for 57. It is unknown if this ID was used for a removed element or it was just an accidental number skip.

New From The Lab


An unfinished bell element with a model (data/models/bell.ucm and data/models/bell_clapper.ucm), ringing sound (data/sounds/fx/bell.wav), and element description:

Bell, bell clapper is also movable, element objective has been attained when the bell rings, ropes can be attached to the lugs

...and a definition in scripts/elements/elements.fsc. However, it lacks a shader and a texture. It is not assigned an ID and is not accessible from within the game.

CM NFTL Bell (debug).png CM NFTL Bell (example use).png


elements.fsc files for New From The Lab and Inventor's Training Camp contain a definition for rope_pulley element, commented out. The element is not referenced anywhere outside this file. The reason for removal is most likely the restrictive nature of rope physics in the game.

Picot wheel and ID 85

New From The Lab uses ID 83 for its bucket_wheel element. However, its code also treats ID 85 as a functionally identical (or at least very similar) element. The game also contains an unused model named belt_picot_wheel.ucm, not referenced in any .fsc or .vsc file. It has no corresponding texture, and its UV map is incorrect (most probably autogenerated and never fixed). This model has four hooks for attaching ropes along with a standard-sized wheel for drive belts (no other element contains both). Most probably, ID 85 was used for this element before its partial removal.

Picot wheel standard.png Picot wheel example.png

Revisional Differences

Starting with New Challenges, it is possible to place elements in invalid positions (out of bounds or overlapping) by causing the context menu to pop up, press-holding any yellow button, and dragging the element by it.