Please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Carnivores 2

From The Cutting Room Floor
Jump to: navigation, search

Title Screen

Carnivores 2

Developer: Action Forms
Publishers: WizardWorks Software, Infogrames
Platform: Windows
Released in US: October 31, 1999

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

Carnivores 2 is the sequel to Carnivores with more dinosaurs, a better engine, and more features. This game was used as a base for Carnivores Dinosaur Hunter on iOS, PSN, and Android platforms.

Debug Mode

As with the previous title, Carnivores 2 has a debug mode. To access it type DEBUGUP during a hunt. The debug mode in Carnivores 2 has more features than the one of the original game. Here's a list of them:

  • Shift + T: Display Frame Rate
  • Shift + L: Fly
  • Shift + F: Fog Mode
  • Shift + S: Slow Motion
  • Shift + M: Toggle Graphics
  • Ctrl: Super Run
  • Space + Ctrl: Super Jump
  • ]: Increase View Range
  • [: Decrease View Range
  • P: Phong Mapping
  • I: More Trees
  • U: Straight Trees
  • Shift+E: Environment Mapping
  • Shift+C: Clouds Shadows Off
  • Shift+F: V. Fog
  • Shift+G: Gourad Mapping

As with the last game, the player is also granted unlimited ammo and dangerous dinosaurs will not see them unless the player shoots at them or they hear the player's gunshot. Harmless animals will still flee from the player however if they catch sight.

Carnivores 1 Leftovers

The game engine has numerous leftovers of the Carnivores 1 source. Many of which are just commented out. These leftovers are also still present in Carnivores Ice Age.

Menu Ranking System

Among the things leftover in the menu data is the Carnivores 1 ranking system. Carnivores 2 lacks this in the final iteration, but a prototype menu EXE that came with Alt Editor II (Action Forms' old map editor/maker program for Carnivores 2 and Ice Age) still has this intact. Alt Editor II was given to the Carnivores Fan Community as a gift by Tatem games (one of Action Forms' Child companies and the one in charge of the iOS and Android ports). The menu system still works in the final version, but it has simply been commented out in favor of displaying the player's points only instead.

Old Resource Entries

In the semi-private source code of Carnivores 2 is a bunch of old entries that predate the final release. These entries are commented out and were scrapped in favor of the _RES.txt file. A lot of these are leftover things from Carnivores 1. Here's the list:

   WeapInfo[0].Name = "Shotgun";
   WeapInfo[0].Power = 1.5f;
   WeapInfo[0].Prec  = 1.1f;
   WeapInfo[0].Loud  = 0.3f;
   WeapInfo[0].Rate  = 1.6f;
   WeapInfo[0].Shots = 6;
WeapInfo[1].Name = "X-Bow"; WeapInfo[1].Power = 1.1f; WeapInfo[1].Prec = 0.7f; WeapInfo[1].Loud = 1.9f; WeapInfo[1].Rate = 1.2f; WeapInfo[1].Shots = 8;
WeapInfo[2].Name = "Sniper Rifle"; WeapInfo[2].Power = 1.0f; WeapInfo[2].Prec = 1.8f; WeapInfo[2].Loud = 0.6f; WeapInfo[2].Rate = 1.0f; WeapInfo[2].Shots = 6;

DinoInfo[ 0].Name = "Moschops"; DinoInfo[ 0].Health0 = 2; DinoInfo[ 0].Mass = 0.15f;
DinoInfo[ 1].Name = "Galimimus"; DinoInfo[ 1].Health0 = 2; DinoInfo[ 1].Mass = 0.1f;
DinoInfo[ 2].Name = "Dimorphodon"; DinoInfo[ 2].Health0 = 1; DinoInfo[ 2].Mass = 0.05f;
DinoInfo[ 3].Name = "Dimetrodon"; DinoInfo[ 3].Health0 = 2; DinoInfo[ 3].Mass = 0.22f;

DinoInfo[ 5].Name = "Parasaurolophus"; DinoInfo[ 5].Mass = 1.5f; DinoInfo[ 5].Length = 5.8f; DinoInfo[ 5].Radius = 320.f; DinoInfo[ 5].Health0 = 5; DinoInfo[ 5].BaseScore = 6; DinoInfo[ 5].SmellK = 0.8f; DinoInfo[ 4].HearK = 1.f; DinoInfo[ 4].LookK = 0.4f; DinoInfo[ 5].ShDelta = 48;
DinoInfo[ 6].Name = "Pachycephalosaurus"; DinoInfo[ 6].Mass = 0.8f; DinoInfo[ 6].Length = 4.5f; DinoInfo[ 6].Radius = 280.f; DinoInfo[ 6].Health0 = 4; DinoInfo[ 6].BaseScore = 8; DinoInfo[ 6].SmellK = 0.4f; DinoInfo[ 5].HearK = 0.8f; DinoInfo[ 5].LookK = 0.6f; DinoInfo[ 6].ShDelta = 36;
DinoInfo[ 7].Name = "Stegosaurus"; DinoInfo[ 7].Mass = 7.f; DinoInfo[ 7].Length = 7.f; DinoInfo[ 7].Radius = 480.f; DinoInfo[ 7].Health0 = 5; DinoInfo[ 7].BaseScore = 7; DinoInfo[ 7].SmellK = 0.4f; DinoInfo[ 6].HearK = 0.8f; DinoInfo[ 6].LookK = 0.6f; DinoInfo[ 7].ShDelta = 128;
DinoInfo[ 8].Name = "Allosaurus"; DinoInfo[ 8].Mass = 0.5; DinoInfo[ 8].Length = 4.2f; DinoInfo[ 8].Radius = 256.f; DinoInfo[ 8].Health0 = 3; DinoInfo[ 8].BaseScore = 12; DinoInfo[ 8].Scale0 = 1000; DinoInfo[ 8].ScaleA = 600; DinoInfo[ 8].SmellK = 1.0f; DinoInfo[ 7].HearK = 0.3f; DinoInfo[ 7].LookK = 0.5f; DinoInfo[ 8].ShDelta = 32; DinoInfo[ 8].DangerCall = TRUE;
DinoInfo[ 9].Name = "Chasmosaurus"; DinoInfo[ 9].Mass = 3.f; DinoInfo[ 9].Length = 5.0f; DinoInfo[ 9].Radius = 400.f; DinoInfo[ 9].Health0 = 8; DinoInfo[ 9].BaseScore = 9; DinoInfo[ 9].SmellK = 0.6f; DinoInfo[ 8].HearK = 0.5f; DinoInfo[ 8].LookK = 0.4f; //DinoInfo[ 8].ShDelta = 148; DinoInfo[ 9].ShDelta = 108;
DinoInfo[10].Name = "Velociraptor"; DinoInfo[10].Mass = 0.3f; DinoInfo[10].Length = 4.0f; DinoInfo[10].Radius = 256.f; DinoInfo[10].Health0 = 3; DinoInfo[10].BaseScore = 16; DinoInfo[10].ScaleA = 400; DinoInfo[10].SmellK = 1.0f; DinoInfo[ 9].HearK = 0.5f; DinoInfo[ 9].LookK = 0.4f; DinoInfo[10].ShDelta =-24; DinoInfo[10].DangerCall = TRUE;
DinoInfo[11].Name = "T-Rex"; DinoInfo[11].Mass = 6.f; DinoInfo[11].Length = 12.f; DinoInfo[11].Radius = 400.f; DinoInfo[11].Health0 = 1024; DinoInfo[11].BaseScore = 20; DinoInfo[11].SmellK = 0.85f; DinoInfo[10].HearK = 0.8f; DinoInfo[10].LookK = 0.8f; DinoInfo[11].ShDelta = 168; DinoInfo[11].DangerCall = TRUE;
DinoInfo[ 4].Name = "Brahiosaurus"; DinoInfo[ 4].Mass = 9.f; DinoInfo[ 4].Length = 12.f; DinoInfo[ 4].Radius = 400.f; DinoInfo[ 4].Health0 = 1024; DinoInfo[ 4].BaseScore = 0; DinoInfo[ 4].SmellK = 0.85f; DinoInfo[16].HearK = 0.8f; DinoInfo[16].LookK = 0.8f; DinoInfo[ 4].ShDelta = 168; DinoInfo[ 4].DangerCall = FALSE;

From this alone we can see how development was progressing at that point. This old RES data is located in the source file labeled Game.cpp. These were left intact albeit commented out. As you can see, by this point in production Dimetrodon and Brachiosaurus were added (note that Brachiosaurus was spelled as Brahiosaurus at this point as well), Chasmosaurus had replaced Triceratops, and Pachycephalosaurus hadn't been replaced by Ankylosaurus yet. Also, note that the Pteranodon, Ceratosaurus, and Spinosaurus had yet to be put in yet and none of the new weapons were added. All the old weapon values from Carnivores 1 are present as well.

In addition, note that Brachiosaurus is listed after T-Rex. In the final version, it's placed at the top with the other ambients. This hints it was planned as huntable at one point. It probably would have had a mortal spot like the T-Rex seeing as how it had (and still has in the final) 1024 health. More on the Brach later though as there's other special things about it.

Also, these entries are still using the old smellk, lookk, and heark values instead of the final's hear and smell. The smellk, lookk, and heark are still present in the final _RES.txt as well and still work but they aren't supposed to be in it as the new smell, look, and hear RES values are present as well making them redundant to use but the devs still did it anyway.

(Source: Carnivores wiki info provided by Dinoguy1000)

Unused Accessory Prices

Despite not having any prices, the accessories have price values in the _RES.txt.

acces  = 0
acces  = 0
acces  = 0
acces  = 0
acces  = 0

It seems at one point Action Forms intended to make you earn points to use the accessories but decided not to use it for whatever reason.


As stated above, there are several indications that the ambient and immortal Brachiosaurus was originally planned to be huntable. First off, the entry in the Game.CPP data that was commented out above. It was listed after the T-Rex which is where slot 10 of the huntable animals (which isn't used normally in the final game) is located. In addition, it has a basescore value. Even in the final RES. You can see that entry here:

 name = 'Brachiosaurus'
 file = 'BRACHI1.CAR'
 ai        = 6
 mass      = 9
 length    = 12
 radius    = 400
 health    = 1024
 basescore = 0
 smell     = 0.4
 hear      = 0.8
 look      = 0.6
 shipdelta = 168

The basescore value is interesting to note because no other non-huntable animal in the game has one. The Brachiosaurus is the only Ambient to have such a value making it unique. Why it was scrapped is open for debate but it may have something to do with it being too difficult to shoot its weak point. In the final, it can be killed with cheats or by modifying a weapon's damage value. However, it has no death animation so it still acts as if it was alive. However, its name will no longer be displayed in the binoculars and its shadow will disappear. A new Brach will also spawn on land nearby. This may mean they changed it to an ambient because they ran out of time to make a death animation. However, no real reason for it becoming an ambient animal is known at this time.