I do this all the time.
The way I do it is with properties. I’ll typically have three movement-based props on the object that needs this gradual movement (for purposes of keeping everything simple, let’s say it’s the Player object). These props are “speed”, “maxSpeed”, and “acceleration”. They should all be floats. “speed” should stay at 0.0, “maxSpeed” should obviously be the maximum speed you can reach, and “acceleration” should be the rate at which the player will speed up/slow down.
Now I’ll attach an “always” sensor to my walk script (though it’s usually my only sensor since I get all my keypresses from the system instead of a keyboard sensor). I’ll usually have my code set up like this, so alter it to your liking:
###THIS IS PSEUDOCODE, PRETEND THE VARIABLES ARE ALL DECLARED###
if speed < maxSpeed:
speed += acceleration
speed = maxSpeed
if speed > 0.0:
speed -= acceleration
speed = 0.0
own['speed'] = speed
currentWalk = [0, speed, 0] #Depending on your selected method of applying motion to your player character; this might be Python but it might also be a logic brick, I just don't know =P
That should be it, poke me if you need help Rocky!
By the way I freakin’ LOVE Keisha so far. HUGELY inspirational for me.