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
Crazy Machines |
---|
Also known as: Заработало! (RU) This game has unused code. 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:
|
Sub-Page
Prerelease Info |
Versions
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:
|
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
- Os, MOs: number of primitive objects and composite objects. Same for TOs and TMOs, except they are templates (objects with constant properties newly created objects copy data from)
- MP, MPS: mouse position in game coordinates and in screen coordinates respectively
- 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. Used by candles, windmills, bombs, cannons and other particle-emitting elements
- FMs: flag managers. If editor mode is entered, one flag manager is always present as there is a flag template element in the Wind tab
- 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.
Hitbox Display
To do: This is definitely present in New Challenges, New From The Lab and Inventor's Training Camp. 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.
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 scripts/gfx/gfx.vsc
, the model loading script. It could have been 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 (having a similar title screen, except the latter lacks the lamp hanging from above) 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.tga
(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.
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 78 at least) except for 57. It is not referenced in scripts/elements.fsc
, but decompilation shows a check for ID 57 happens together with other checks for ID 48, 49, 51, 76, 77 and 78, all being fire-related elements. ID 76, 77 and 78 are the three timed bombs — way out of the ID range for heat/fire elements, actually the last three IDs in New Challenges. The official website (in German) has an interesting hint in the Screenshots section:
UPDATE: Traum aller Kegler Mit gezündeter Lunte rollt die Kugelbombe ihrem Ziel entgegen und räumt so Hindernisse aus dem Weg. Nun wird es in der finalen Version drei unterschiedliche Kugelbomben mit verschiedenen Detonationszeiten geben. So kannst du den rollenden Sprengsatz auf einen längeren Weg schicken, bevor er explodiert.
translating to:
UPDATE: Every bowler's dream With the fuse ignited, the ball bomb rolls towards its target, clearing obstacles out of the way. Now in the final version there will be three different ball bombs with different detonation times. This allows you to send the rolling explosive device a long way before it explodes.
This suggests originally there was only one timed bomb, but two more bombs were implemented closer to final release. The three bombs were assigned high IDs because the change was very late and adjacent IDs were already used by other elements. It is therefore most likely ID 57 was just the bomb element before it was split into three differently timed bombs.
New From The Lab
Bell
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.
Pulley
scripts/elements/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. It's likely the element was never implemented, as no code suggests there was any element interacting with the rope in any ways different from directly attaching to it.
Disc
data/models/disc.ucm
is an unused and unreferenced model from New From The Lab. If to be placed into the level, it would face the player in the same way gear or wheel elements do. There's no indication of its purpose: it could have been related either to the unimplemented pulley or to a completely unknown element.
Picot wheel and ID 85
New From The Lab uses ID 83 for its tmo_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, data/models/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.
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.
- Pages missing developer references
- Games developed by FAKT Software GmBH
- Pages missing publisher references
- Games published by Pepper Games
- Windows games
- Games with unused code
- Games with unused objects
- Games with unused graphics
- Games with unused models
- Games with unused abilities
- Games with unused sounds
- Games with unused text
- Games with debugging functions
- Games with regional differences
- Games with revisional differences
- Windows pages missing date info
- To do
Cleanup > Pages missing date info > Windows pages missing date info
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
Games > Games by content > Games with debugging functions
Games > Games by content > Games with regional differences
Games > Games by content > Games with revisional differences
Games > Games by content > Games with unused abilities
Games > Games by content > Games with unused code
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused models
Games > Games by content > Games with unused objects
Games > Games by content > Games with unused sounds
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by FAKT Software GmBH
Games > Games by platform > Windows games
Games > Games by publisher > Games published by Pepper Games