Existen librerías gráficas para la mayoría de los lenguajes de programación, la mayoría están orientadas a juegos, pero no significa que no puedan ser usados para otros fines, he visto aplicaciones del tipo que mencionas hechas con pygame una librería para desarrollo de juegos en python, y lo mismo con Java2D.
Por ejemplo en pyton está pygame, pyOpengl e incluso puedes usar wxPython. En java como te comenté puedes usar Java2D, Java3D, JOGL, JGL. También hay librerías multiplataforma como SDL, que además la puedes usar en varios lenguajes.
Saludos