Space Sim est un petit système solaire à explorer dans le navigateur : un trou noir, 5 étoiles, 10 planètes et 16 lunes, chacun en orbite autour de son parent. Quand je clique sur un astre, la caméra s'y rend et s'adapte à son échelle ; le bouton retour ou la touche Échap ramènent à l'astre précédent, et deux curseurs règlent le zoom et la vitesse du temps.
Aucun astre n'utilise de texture : leurs surfaces sont calculées en temps réel par des shaders GLSL, à partir de bruit simplex sur plusieurs octaves. Les étoiles, les planètes avec leurs nuages et les lunes ont chacune leur shader, et le rendu en demi-résolution avec des couleurs quantifiées donne au tout un aspect pixelisé. Le côté des planètes et des lunes tourné vers l'étoile la plus proche est plus lumineux, le reste plus sombre.
Un bouton en haut à droite fait passer tous les astres en proportions réelles, calées sur des références comme le Soleil, la Terre, la Lune et Sagittarius A*. La plupart deviennent alors plus petits qu'un pixel : des marqueurs cliquables et des anneaux d'orbite les situent, et la distance réelle s'affiche sous le nom de l'astre. Le zoom devient exponentiel pour parcourir ces distances, et son facteur s'affiche à côté du curseur. Seules les tailles et les distances sont réelles : la vitesse des orbites reste réglée par le curseur du temps.
J'ai aussi travaillé les performances : une seule mise à jour des matrices par image, une géométrie partagée entre tous les astres, et une image de fond passée de 5,5 Mo à environ 200 Ko.
Akira Valade, Portfolio