Implementando la gravedad en un juego 2D simple

Estoy haciendo un juego simple, algo así como Mario, con un personaje fijo en una posición y el suelo moviéndose hacia la izquierda, dando la ilusión de movimiento del personaje. El suelo está hecho de bloques rectangulares definidos por coordenadas superior izquierda e inferior derecha:

private int surfaceMatrix[][] = {
   {0, 100, 300, 0} // block having 100 height and 300 width
};

Saltar es solo cambiar la coordenada y del personaje mientras se mueve la superficie hacia la izquierda, por lo que el salto parece invertidoV letra.

El resto del código (animación, sprites en movimiento) es muy similar ahttp://zetcode.com/tutorials/javagamestutorial/movingsprites/

Quiero que el salto sea más real, así que mi pregunta es: ¿cómo puedo implementar la gravedad aquí? Tendría que usar dx del suelo y dy del personaje para hacerlo, ¿está bien?

¿Cuál sería la velocidad aquí? Píxeles por segundo ...?

¿Como hacer eso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta