There seem to be two major scripts that are used for scaling: Scaler.sc and ScaleTo.sc.
Scaler appears to be the script that we will want to make use of in order to scale the ego (and presumably other actors as well) depending on where they are along the y axis. So that is the one we are going to focus on for now.
As with most functionality, to make use of it, you will need to use the scaler script in your room. So like always, up at the top where the other uses are defined add in:
(use "scaler")
And now assuming that you are going to want the ego to scale, we need to add the setScale to the ego. Presumably from the point of initialising the room, even though really it could be applied at any point. The syntax is really pretty simple. The paramaters that are sent accross represent the Front size, the Back size, the Front Y and the Back Y.
So as long as the ego is between the front and back y it will take on a size between the front and back size, relative to where it is between the y's. In the public instance of your room, where the ego is inited go ahead and change that line to:
(send gEgo:init()setScale(Scaler 110 85 190 72)) // theFrontSize theBackSize theFrontY theBackY
And there you have it, the ego will now scale as you move up and down the screen. You can play around with the values to get the ego to fit the room scale making the scaling more dramatic or subtle as you see fit or changing it up as the ego moves down the screen he gets smaller instead of larger. The code above is not a really huge change, an example of it's result can be seen in this screenshot