First, any need can be viewed as a progress bar. Hunger, Fun, Energy, everything. Even non-need related things, like Fear. How the value of the progress bar increases or decreases, is up to the function manipulating the need behind it. The Sims clearly shows this:

abstract Need
{
numeric CurrentValue;
external function IncreasingRule;
function Update()
{
IncreasingRule.Apply(this, Params);
}
...
}
Increasing rules are functions that change the state of the needs attached to them. Params
in my pseudocode above contains info that the increasing rule needs to use to apply changes to the need.
I do not believe such things as "standard" increasing rules exist. You pretty much have to come up with your own solutions or just copy other people's. Basic examples, to give you an idea:
IncreasingRule HungerRule.Apply(HungerNeed, Subject)
{
if (Subject.Eating)
{
HungerNeed.CurrentValue -= Subject.FoodBeingEaten.HungerValue;
}
else
{
//Linear development as time passes.
HungerNeed.CurrentValue = Subject.TimeSinceLastMeal;
}
}
IncreasingRule FunRule.Apply(FunNeed, Subject)
{
if (Subject.DoingSomethingThatCanBeFun)
{
//If the thing the subject is doing is among his favorites, the fun
//need goes down based on their favorite rank. If, instead, they're
//doing something boring, or if they absolutely hate what they're doing,
//the fun need goes up (return value of CalculateFun is negative).
FunNeed.CurrentValue -=
CalculateFunBasedOnListOfFavoriteThings(Subject.FunObjectInUse);
}
else
{
FunNeed.CurrentValue = Subject.TimeSinceLastDidSomething;
}
}
//Similar to the one in The Sims.
IncreasingRule RoomRule.Apply(RoomNeed, Subject)
{
if (Subject.JustEnteredRoom)
{
if (Subject.CurrentEnvironment.ContainsNewDecorations)
{
RoomNeed.CurrentValue -=
CalculateBeautyBasedOnSubjectPreferences(Subject,
Subject.CurrentEnvironment.NewDecorations);
}
}
else
{
RoomNeed.CurrentValue = Subject.TimeSinceSeenSomethingNew;
}
}
Needs' current values should be kept under control, obviously, with a min/max boundary.