by critor » 10 Sep 2021, 21:22
Oh, les graphismes ce n'est pas moi. Mis à part le personnage de Link
(Zelda), choisi parce qu'il était vert et que ça permettait d'économiser dans la palette de couleurs, ils sont issus, avec modifications, du
pack "Toen's Medieval Strategy Sprite", puis convertis avec compression RLE sur
img2calc.php .
L'exploit par contre, c'est d'arriver à faire tourner ça avec juste le
heap 32K de la NumWorks Epsilon : 9 sprites 32x32 pixels + palette de 32 couleurs + l'énorme carte du monde en 146x91 cases.
(après, si vous participez sous Omega ou Khi, ce sera toujours mieux, vous aurez davantage de libertés pour modifier et compléter le script - parce sous Epsilon, on n'est qu'à quelques lignes de l'erreur de mémoire)Le script dans sa version allégée pour NumWorks dépasse les 25Ko. Aucune erreur de mémoire malgré cela, du code ultra compact, même les données de la carte sont compressées
(selon une variation du RLE). Et donc il nous a fallu aussi coder des fonctions d'accès aux données compressées à la fois courtes et efficaces
(il est absolument impensable de décompresser toutes les sprites, et encore moins de décompresser la carte).
Malgré tout cela les performances sont très correctes
(du moins sur NumWorks).
Chaque année on repousse les limites du réalisable en Python sur l'ensemble des calculatrices, et cette année nous allons le prouver : des jeux ambitieux sont possibles en
Python.