どんな計算してるのか知らんけど
加減速とかするなら「生成してから何フレーム経過したか」、
という並列変数(例 spcnt)が必要になるんじゃなかろうか。

あと発射したときの角度を記憶する配列変数(例 adir)

こんな感じ
repeat
    es_adir cnt,adir(cnt),400-spcnt(cnt)
    spcnt(cnt)++
loop
これだと400フレーム後には移動量が0になる。