“Cheap” models are something that get used quite often in game development, but many people don’t see the point in using them. This is just a quick overview of what these cheap models are for, why they’re available and when they’re worth using.
A cheap object is something that doesn’t take up much power or effort to render. A six-sided cube is cheaper than an object with eight sides (even if it’s only by a marginal amount), and more detail almost always leads to an increased strain on a game’s engine or the user’s computer. Most of the time, you’ll want the best quality possible, but that’s not always the case. If the player will never get a close look at something, there’s no point making it hyper-detailed unless you’re going to use the same model or object up-close later on.
Male_Cheaple is used multiple places during Half-Life 2, mostly situations where a nondescript citizen is seen from a distance or through a camera filter. These are mostly throwaway details and events where the player isn’t able to get close to the citizen or interact with them in any way.
Compared to a normal citizen model, Male_Cheaple is a close approximation, but doesn’t have any of the important details like poseable fingers, defined eyes or the ability to open his mouth. All of his textures are heavily reduced in size, and you can clearly see areas where colours don’t match or different body parts clip into one another. Ironically, this has made him a popular model for horror-themed mods, since he looks kind of disturbing against the fairly realistic setting and characters of Half-Life 2.
Why Does Cheaple Matter?
At the time of release, Half-Life 2 had some impressive features that the general gaming public had never really seen en masse. The way faces (and characters in general) were handled was extremely impressive, but it also means that older PCs would struggle to deal with too much at once. The Source Engine, despite it’s limitations by modern standards, was literally too intense for many people to run at above-middling performance. Even a single extra human NPC could make a huge difference.
So what made Cheaple different? Well, for a start, it didn’t have a “face” by the engine’s standards. There was no mouth to move, no eyes to rotate and no simulated muscles for things like nose flares or blinking. It’s fingers were also locked in a certain position relative to the hand, rather than moving and posing like other citizens. The lower textures were another detail, reducing the amount of effort it would take for the engine to process the NPC or ragdoll.
As a side note, Cheaple also had very limited set of animations. It could walk, crouch down and perform a handful of canned animations for taking cover and hiding behind things, but there was hardly anything for the engine to load compared to a fully-fledged citizen NPC.
All of this worked together to reduce the amount of load that Cheaple put on the engine (and by extension, the player’s computer). Valve could use him to add more detail to an area from a distance without having to unload other NPCs or scale back their ideas, and he wouldn’t look strange unless the player got close.
Should I Use Them?
Generally, if your players are never going to see a certain citizen up close, there’s no reason to not use the Cheaple’s model where possible. It saves on resources and makes them easy to distinguish in the editor, both of which are useful in different ways. The limited animations may mean that this isn’t always possible, especially in distant fight scenes, but there are other ways to minimise resource usage during these anyway.
It’s also possible to set up a system that replaces distant Cheaples with normal NPCs once the player gets close. This might take some effort, but it can be useful in certain circumstances. For example, maybe the player sees a group of citizens in a town square in the distance, then go through a building to get there. As they’re about to leave, they hit a trigger that disables all of the Cheaples and brings in real NPCs instead.