If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

User:Heran Bago/Bad Rats: the Rats' Revenge

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Bad Rats: the Rats' Revenge

Developer: Invent4 Entertainment
Publisher: Strategy First
Platform: Windows
Released internationally: Jul 20, 2009


CodeIcon.png This game has unused code.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


Bad Rats is very poor physics puzzle game in the style of the Incredible Machine. Most all of the information on this page was discovered by EntranceJew of Something Awful. The game's author is Brazilian and most of its code in in Portuguese.

Console Commands

  • The console code "go*" where * is any number between 1 and 44 will load that level.
  • The console code "kill" or "killme" will kill the player(?).
  • The console code "sol" will show the solution.

Unused and Debug Code

  • There are remnants of online multiplayer using servers, maps, and clients in the debug code.
  • The debug code was originally from a project titled "HORSE CLUB".
  • Alternate subtitles for "Bad Rats: Rats Revenge" include: MAD RATS / BAD RATS / BLOOD RATS
  • There were originally plans for haptic feedback.
  • Bad Rats has code to determine if the player is stuck. All it does is print debug text.
  • There was a point in time where all of Lung Rat's imparted force was calculated from the X axis.
  • Every single math operation is multiplied by a unit called TIME, presumably for frame normalization. TIME never receives a formal definition and isn't listed in the development kit's guide.

Bad Code

  • Every single time the code needs to figure out what level it is dealing with, it performs 44 consecutive IF statements instead of using a SWITCH or calling a function with an argument. This is a coding pattern that appears in the code a lot.
  • None of the custom functions use parameters.
  • In spite of most of the rats being numerically ID'd, they are all accessed by names like "rato1" instead of on a lookup.
  • The code is littered with GOTOs -- usually to escape a function, in spite of RETURN being available.
  • When Bad Rats exits, it launches a program called "ratsend.exe".
  • Bad Rats uses the RANDOM() function 206+/-2 times, 98 of which are in the rats' physics definitions.
  • The cat's ("gato") 'will die' ("vaimorre") animation consists of 4 frames, using the engine's morph function (similar to a tween) to blend between them.

Camera

  • The "Super Nail" earned after completing the campaign is a Steam exclusive bonus.
  • The End and Delete keys change the FOV or zoom of the camera. If the player zooms in too far it will zoom out again but with the playing field mirrored horizontally.

Hand Model

Level 1 zoomed way out.

On certain levels such as the first, zooming out far enough reveals a model of a hand with a brown texture from the wrist down. There is evidence that it's not made by the game's author. The file name "Hand.MDL" is unique in that it uses the English word for hand rather than the Portuguese "mao." Its three animations (stand: idle, catch: kunckles bent, hit: open palm) are also in English.

Bad rats hand.gif