1.
well in this case you must use the Z axis to convert a 3D Dimension to a Sizes' Dimension... just nearer = larger and farer = smaller.
The second example of Bplus cover just this theme about Z axis for the third dimension. You'll keep X and Y but change Size by Z axis...
if movement is linear to infinite far or vice versa for the objects that run toward the camera.
The same ideas with different tecniques are developed in this thread
https://www.qb64.org/forum/index.php?topic=1146.msg103690#msg103690 using the great p5js.bas (the porting to QB64 of P5JS used also by The code train programmer) here you can find it
https://www.qb64.org/forum/index.php?topic=1146.msg103690#msg103690 and if you like its performance you can use for graphic effects.
2. back to your original code you must add before SpawnMeteors a SUB MoveMeteors in which you use the Z axis and MAP of P5js.bas to change the size/dimension of meteor OR calculate the new size/dimension of meteor manually by an your function like Bplus had done!
Good Programming