Version Amiga classique
  ACCUEIL   ARTICLES   PODCASTS   LIENS   LOGICIELS   JEUX   À PROPOS
Actualités pour les utilisateurs d'AmigaOS, AROS et MorphOS
www.amigaimpact.org

2024 2023 2022 2021 2020 2019 2018 2017

 Athanor 2 : quelques informations techniques (13.05.21)


Astrofra continue ses "indiscrétions" et, après un cahier de développement de Pâques, il s'est de nouveau laissé aller à donner des informations dans les forums de nos confrères d'AmigaFrance pour l'Ascension.


Quelques informations techniques, que j'ai pu extraire à l'occasion d'un échange avec des confrères (du coup je les re-partage ici, ça peut intéresser des gens) :

En quel language est écrit Athanor 2 Amiga ?
Le jeu est écrit en C, intégralement.
Les deux seules exceptions sont le player de modules et les routines de dépacking (NRV2 et Shrinkler) qui sont en ASM (mais pas écrites par moi).
Le scénario & les interactions sont initialements écrits en SafarScript (un langage maison conçu par Eric) mais tout a été traduit en C à l'aide d'une moulinette Python.



Quelle taille fait le projet ?
16040 lignes de .C (dont 2797 de commentaires).
1880 lignes de headers .H (dont 571 de commentaires).
284 lignes d'assembleur.
Le binaire final (l'exécutable du jeu) pèse 150Ko non compressé.

La répartition peut se voir ici (là ce sont les .o bruts en sortie du compilo, mais on a les grandes masses) :




« world.o » c'est le jeu, scénaristiquement parlant. Toute l'histoire, les interactions avec les lieux, zones de clics, personnages, sprites, tout est la dedans.
« special.o » ce sont les trucs spécifiques à ce jeu là, page d'intro, page de fin, game over, puzzles intermédiaires.
« game, gui, vue.o » c'est la logique « jeu d'aventure » (y'a rien de spécifique au scénario d'Athanor là dedans).
« frwk.o » c'est l'API d'abstraction video/io (écran, blit, draw rect, pixel, texte, souris, clavier) et le reste c'est globalement l'implémentation de l'api.

En fait, le plus gros c'est vraiment le code « scenario » (sur Atari ST, le script maison en « SafarScript » est chargé sectoriellement et executé par un interpréteur, donc ça prend probablement moins de RAM). Le fichier world.c est complètement généré en offline, via un script Python.

Quelles différences de rendu entre les versions Atari et Amiga d'Athanor ?
On peut comparer les deux en lançant les 2 trailers côte à côte :
https://www.youtube.com/watch?v=fA_KUtSsbsI

Ou en comparant sur le base des images brutes du jeu (pour ne pas induire le biais de la compression Youtube) :








Dans l'ordre : STF, STE, AMIGA OCS.
16 couleurs sur 512, 16 couleurs sur 4096, 32 couleurs sur 4096.

En fait, j'ai essayé de contraster à mort les images sur STF à cause de sa palette plus limitée. La version STE peu sembler la plus « colorée » parce que j'ai ajouté un point de bleu ou de rouge sur la moitié des teintes de gris (pour mettre en valeur le RGB444 du STE), et par effet de bord, ça teinte les images (un peu comme un filtre Instagram).
Entre le STF et le STE, c'est le même bitmap, seule la palette change, on a créé un format custom dérivé du format Neochrome, qui stocke les 2 palettes.

Sur Amiga c'est plus « pastel », plus « soft », mais la machine permet ça, il y a le double de nuances sur toutes les couleurs, donc j'en ai tiré parti.

Au final, ce sont des interprétations différentes de la même image (True Color à l'origine), pour essayer de tirer parti au maximum des spécificités de chaque machine. Donc c'est sans doute un peu moins contrasté parfois sur Amiga, mais aussi beaucoup plus nuancé.

Voici ce que contient la boite de la version Atari ST.
La version Amiga aura une disquette supplémentaire (bitmaps plus gros, modules protracker, ...) :





Enfin côté volume de données, voici quelques chiffres :
- 60 écrans distincts (256×144 en 32 couleurs).
- 510Ko de modules ProTracker.
- une 15aine de samples audio pour bruiter l'action (enfin, « action », on se comprend :)).

Et pour finir, question date de disponibilité, haha, non, je n?annoncerai pas de date, mais on se dépêche !

Si vous avez des questions, n'hésitez pas :)


2024 2023 2022 2021 2020 2019 2018 2017