Nouveaux portages de Kas1e

Date : vendredi 27 décembre 2019 à 10:48:22 :: Sujet : Logiciels pour AmigaOS 4.1

Kas1e a profité de la sortie des nouveaux pilotes Warp3D NOVA et ogl2es pour mettre à jour ses anciens portages de jeux utilisant GL4ES et en apporter de nouveaux.



Attention : si vous utilisez une Radeon Polaris (les RX), les performances seront moins bonnes qu'avec une Radeon HD.

Tous les jeux sont disponibles sur OS4Depot.


Voici la liste des nouveautés :

1) Irrlicht Engine 1.8.4 



Voici  Irrlicht Engine, un moteur 3D temps réel écrit en C+++, utilisant D3D sous Windows et OpenGL pour les autres plateformes ainsi qu'un moteur de rendu logiciel en cas de besoin. Cette bibliothèque existe depuis une vingtaine d'années, est très documenté et est complètement gratuit.

 


De nombreux livres lui sont d'ailleurs dédiés comme ceux-ci :

 

Le moteur supporte le big-endian et de nombreux bugs relatifs à cette architecture ont été corrigés par la communauté au fil des années.

La dernière version en date est la 1.8.4 que Kas1e a portée pour AmigaOS 4.1 Le travail sur la version 1.9.0 est déjà en cours avec de nouvelles caractéristiques et de nombreuses corrections de bugs. Bien entendu, dès la disponibilité de la 1.9.0, celle-ci sera portée pour AmigaOS 4.1.

Quoiqu'il en soit, la version 1.8.4 permet déjà de faire tourner de très nombreux jeux dont 3 nouveaux proposé dès aujourd'hui.

Pour les développeurs, 2 versions sont disponibles sur os4depot :

irrlicht-1.8.4.lha - archive complète, avec toutes les sources, includes, documentation, binaire précompilés, bibliothèques linkées et fichiers médias.
irrlicht-1.8.4_minimal.lha - juste les includes, les bibliothèques et les bibliothèques linkées à la newlib. 

Pour vous donner une idée de la vitesse d'excution en comparaison avec MiniGL :



Et une video démontrant les performance du moteur :

 Youtube video of Irrlicht Engine in action on AmigaOS4, 1920x1080 full HD

2) SuperTuxKart 0.8.1 



Un des tout premiers jeux basé sur le moteur Irrlicht sur lequel Kas1e a travaillé est SuperTuxKart 0.8.1:

 


NOTE! 
Ne pas utiliser l'option "use frame buffer object" car cela occasionnera un plantage avec le message "invalid FBO attachment" au moment de choisir un véhicule. Cela n'est que très légèrement gênant au moment de sélectionner une voiture (un peu moins de fluidité) mais aucun souci dans le jeu. Le problème est connu et les développeurs cherchent à en connaître la raison. Dès la correction mise en place, une nouvelle version du jeu sera mise à disposition. 

Sur X5000 et une carte RadeonHD, vous pouvez atteindre les 60FPS sur certains niveaux et d'autres peuvent se retrouver à 15-20 FPS, la moyenne se situant aux alentours de 30-40 FPS.  

Le jeu utilise environ 350 Mo de RAM, 350 Mo de mémoire GPU, 40 Mo de VRAM et 350 Mo d'espace disque.

Ci-dessous en vidéo :

 Youtube video of SuperTuxKart 0.8.1 in action on AmigaOS4, 1920x1080 full HD


3) H-CRAFT Championship 



H-Craft Championship est un jeu de courses futuriste contenant 28 pistes. Il contient un mode championnat, un mode arcade et un mode attaque. Il est même possible de jouer à 4 sur la même machine avec le mode Rivals.

 

Le jeu était commercial mais son moteur est devenu OpenSource il y a quelques années. 

Sur X5000 avec une RadeonHD, on peut atteindre les 50-65 FPS en 1920x1080.

Comme le jeu était commercial, une documentation au format PDF est disponible.

Quelques astuces

-- affichage des FPS avec la touche F11
-- pour utiliser le mode plein écran il faut aller modifier la valeur de "fullscreen" dans PROGDIR:media/config.xml et la passer à "1".
-- basculer vers une vue différente : touche C

Le jeu a besoin de 250Mo de RAM, 300 Mo de mémoire GPU, 35 Mo de VRAM et 250 Mo d'espace disque.

Et le voici ci-dessous en action :

 video of H-CRAFT Championship in action on AmigaOS4, 1920x1080 full HD


4) Nights of The Zombies



NIGHT OF THE ZOMBIES est un jeu de tir à la première personne dans lequel vous devez survivre à des vagues continues d'attaques de zombies, ce qui vous permettra d'augmenter votre score, les points permettant d'acheter de nouvelles armes. A chaque niveau, les zombies deviennent plus forts et plus résistants.  

 

Je jeu est close-source mais l'auteur donna les sources à Kas1e pour en faire un portage AmigaOS 4.1 et, par la suite, les donna aussi à ptitSeb pour en faire un portage Pandora. 

Le jeu a nécéssité de travailler pas mal sur le moteur pour arriver au résultat actuel.

Le jeu a besoin de 450 Mo de RAM, 500 Mo de mémoire GPU, 10 Mo de VRAM et 350 Mo d'espace disque.

Les modes plein écran supportent les définitions 1280x720 (écran large) ou 1024x768 (écran 4/3).

Il suffit de répondre "y" ou "n" pour passer en mode plein écran ou non au démarrage du jeu.

Ci-dessous une vidéo du jeu (en mode expérimental 1920x1080 pas encore disponible au grand public) :

 Youtube video of Night Of The Zombies in action on AmigaOS4, 1920x1080 full HD

5) Et les mises à jour d'anciens jeux avec des améliorations sensibles :

5.1) NeverBall/NeverPutt



 

Cette nouveller version amélaiore la rapidité de +15 FPS dans Neverball en general. Utile pour les niveaux qui avaient des difficultés à maintenir un niveau d'affichage satisfaisant. 

Une ancienne vidéo du jeu en action :

 video of NeverBall 1.6.0 in action on AmigaOS4, 1920x1080 full HD


5.2) Foobillard++




 

La vitesse est doublée avec cette version. Vous pouvez donc configurer toutes les options d'affichage en "very high" et obtenir 60FPS constants.

Une vidéo de cette nouvelle version :

 video of Foobillard++ with VBO support in action on AmigaOS4, 1920x1080 full HD


5.3) FrikingShark




 

Gain de 10 FPS avec cette nouvelle version. 

Une ancienne vidéo du jeu en action :

 video of FrikingShark in action on AmigaOS4, 1920x1080 full HD


6) GL4ES SDK.



Et enfin la mise à jour du GL4ES SDK.

Rappelons-nous bien que c'est un travail d'équipe : SDL1/SDL2 par Capehill, les mises à jour gl4es sont faites par Sébastien 'ptitSeb' Chevalier et Kas1e a travaillé sur le remplacement des parties MiniGL vers GL4ES.



Les nouveautés du SDK :

General :

  •  mise à jour de la documentation GL4ES
  •  mise à jour des bibliothèques SDL1, SDL2 et GL4ES
  •  correction d'erreurs dans le readme

GL4ES (composants mis à jour, non traduit) :

  •  use -gstabs for AmigaOS4 debug builds
  •  Using real VBO now by default for glList() & glBindBuffer() (help a lot to games which use those functions, sometimes speed gain is very high). Also added LIBGL_USEVBO environment so it can be disabled/enabled. See usage.md for more details.
  •  Exposed GL_ARB_map_buffer_range extension, and fixed its behavior (help Arx Libertatis, using real VBO)
  •  Don't try to clean resources if GLES lib is already unloaded (fixed crashes with games/apps which didn't clear/free textures on exit)
  •  Fixed a nasty bugs with texture handling (when going gl(Sub)TexImage2D on other than GL_TEXTURE0 (helps eDuke32)
  •  Some FPE Fragment shader optimization on (multi)texturing
  •  Force to recalculate mipmap if needed after a glCopyTexSubImage2D
  •  Added support for GL_NV_fog_distance extension
  •  Fixed an issue with two-sided lightning (fixed ManiaDrive)
  •  Optimized Instanced drawing (should help FEZ)
  •  Fixed LIBGL_RECYCLEFBO 1 option (when that environment set to 1, then if FBO is deleted, it's then not really deleted but goes on a "pool" of unused FBO. Then if an FBO is recreated and the pool is not empty, that "unused" FBO is taken from the pool and used).
  •  Added internally some betters ways to hack shaders on the fly when that really need it.
  •  Added support for GL_R8 as internal format (helps a lot video in Desperado)
  •  FOG is now calculated per pixel (instead of per-vertex) shader (help Night Of The Zombies)
  •  Force 24/8 for LIBGL_FB=2, also always report 24/8 even if depth is 16 when stencil is 8
  •  Fixed an issue when using GL_UNPACK_BUFFER with glSubTexImage2D and some shrink mode (or automatic NPOT->POT conversion)
  •  Redone a bit a shaderconv to avoid memory overwriting

SDL1_gl4es (composants mis à jour, non traduit)

  •  A window wasn't active by default after uniconification.

SDL2_gl4es (composants mis à jour, non traduit) :

  •  Fix mouse wrapping (help Irrlicht Engine when used with SDL2)
  •  Some debug output was left unnoticed, removed.
  •  implemented SetWindowResizable()


Bravo à toutes ces personnes :

ptitSeb pour gl4es et son aide avec à peu près tout : https://github.com/ptitSeb/gl4es/
Daniel pour OpenGL ES2 et son aide avec à peu près tout : http://www.goldencode.de/
Hans pour Warp3DNova et son aide avec à peu près tout : https://keasigmadelta.com/
Capehill pour son énorme travail sur SDL1/2, glSnoop et son aide avec à peu près tout : https://github.com/AmigaPorts/SDL https://github.com/capehill/glsnoop
AEON/AmigaKit grâce à qui nous avons OpenGL ES2 et Warp3DNova : https://www.facebook.com/AEonTechnologyLtd/ 
Kas1e qui met tout ce beau monde en musique et qui nous sort des portages de qualité
Et à tous ceux qui aident et testent au fil du temps







Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x

L'URL pour cet article est : https://www.amiga-ng.org/index.php?op=edito/article.php?sid=1224