Nals, Naux,
Il y a peu, Super Meat Boy a été adapté sous Linux pour le Humble Indie Bundle 4.
Comme LinusqueFR est un site en faveur du logiciel porcprio et pas hallal, je n'ai pas honte de dire que j'adore jouer à ce jeu.
Mais, il y a un mais, qui empêche les linusquiens de jouer à Super Meat Boy librement :
"Graphics: May not work with Intel Integrated Graphics"
http://humble.assistly.com/customer/portal/articles/261150-humble-indie-bundle-4-system-reqs#smb
Qui en fait ne touche pas que les utilisateurs de cartes graphiques Intel. En gros, quand vous lancez Super Meat Boy en mode console, ça vous sort une insulte :
Fatal Error: MojoShader compile failed!
Et puis le programme s'arrête.
Icculus, la boite qui a adapté le jeu, a utilisé MojoShader (c'est sous licence zlib) pour faciliter la récupération du code basé sur le windowsien Direct3D. Malheureusement, pour Super Meat Boy il devait y avoir un couac, puisque MojoShader ne faisait pas son travail si on utilisait Mesa ou certaines cartes graphique ATI. Les utilisateurs de cartes nvidia avec le driver proprio étaient tranquilles.
Après avoir vérifié que le problème ne venaot pas de MESA puisque les utilisateurs ATI étaient affectés, mais de MojoShader, un développeur d'Icculus s'est attelé au problème :
Having read the bug report against Mesa, they are correct, this is definitely a
MojoShader bug.Can those triggering this bug please try this build?
http://treefort.icculus.org/smb/smb-linux-mesa-hotfix-test.tar.bz2
Unpack that in your game installation, so it overwrites the game binaries.
L'archive contient les binaires du jeu qui ont été modifiés (et uniquement des binaires, pas les données). Si on remplace les binaires défectueux par ceux de l'archive, on n'a plus d'insulte à base de MojoShader.
On peut désormais se faire hacher menu 42 fois par niveau sur Super Meat Boy avec son GNU/Linux !
J'ai téléchargé le jeu la semaine dernière, le correctif date d'une semaine encore avant, cependant le site de l'Humble Indie Bundle 4 contient toujours une version à problème sur le serveur. Afin de donner plus de visibilité à ce correctif, je viens faire partager l'information.
# Artillerie lourde
Posté par devnewton 🍺 (site web personnel) . Évalué à 1.
Est-ce bien nécessaire de sortir les shaders pour un jeu 2D?
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
[^] # Re: Artillerie lourde
Posté par Zarmakuizz (site web personnel) . Évalué à 2.
On peut faire des jeux avec un rendu 3D et des déplacements en 2D uniquement. En tête il y a comme exemple la série des Super Smash Bros ou récemment les New Super Mario Bros.
Je ne sais pas à quel niveau les shaders entrent en jeu dans Super Meat Boy.
Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/
[^] # Re: Artillerie lourde
Posté par Narishma Jahar . Évalué à 5.
C'est plutôt l'inverse, non ?
Étant donné que (depuis longue date) il n'existe pratiquement plus de puces graphiques avec des fonctionnalités 2D, et que (depuis longtemps aussi) tout le rendu 3D passe par les shaders, je dirais que c'est ne pas utiliser de shaders qui équivaut à sortir l'artillerie lourde puisque ton code va dans ce cas devoir être traduit en shaders par les drivers/MESA en arrière plan. Si tu utilise les shaders directement dans ton code tu évites cette étape.
[^] # Re: Artillerie lourde
Posté par devnewton 🍺 (site web personnel) . Évalué à 2.
Pour des graphismes simples (en regardant les captures d'écran Super Meat Boy me semble loin de Battlefield 3), tu peux toujours utiliser OpenGL 1.0 qui fonctionne bien même sur les cartes graphiques bas de gamme.
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
[^] # Re: Artillerie lourde
Posté par ahuillet (site web personnel) . Évalué à 1.
Tu peux toujours faire un truc plus moche, oui. Si les développeurs ont écrit le jeu avec des shaders alors que c'était faisable en fixed-pipe, c'est pas forcément très malin (d'autres viendront m'affirmer péremptoirement le contraire, mais ça reste OpenGL 1 qui offre le plus de compatibilité, même si c'est de moins en moins vrai avec OpenGL ES sur les plateformes mobiles).
Si les développeurs ont utilisé des shaders pour faire plus joli, ma foi, c'est leur droit.
Note : un jeu comme SuperMeatBoy devrait vraiment être en OpenGL 1 le plus basique de la terre pour être compatible avec le maximum de machines. Mais c'est pas moi qui l'ai écrit donc...
[^] # Re: Artillerie lourde
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 1.
Pas seulement sur les plate-formes mobiles : OpenGL ES est en train de s'imposer comme socle commun partout en fait, parce qu'il comble un besoin qui n'était pas limité aux plate-formes mobiles justement.
[^] # Re: Artillerie lourde
Posté par pasScott pasForstall . Évalué à 2.
Tu peux aussi faire le jeu en ascii art, ça résoudra le problème.
Et les aveugles pourront jouer sur leur clavier en braille en plus.
If you can find a host for me that has a friendly parrot, I will be very very glad. If you can find someone who has a friendly parrot I can visit with, that will be nice too.
# Ça fonctionne !
Posté par ianux (site web personnel, Mastodon) . Évalué à 3.
Le jeux est fluide en plein écran en 1280x800 sur chipset Intel GM965 (une vieillerie).
Par contre la gestion du pad est un peu relou (modification d'un fichier de conf dans le répertoire d'installation, et uniquement pour le gameplay).
À noter que le même patch existe pour Shank (également dans le HIB4) : http://treefort.icculus.org/shank/shank-linux-mesa-hotfix-test.tar.bz2
# Cool
Posté par MCMic (site web personnel) . Évalué à 2.
C'est packagé dans aur :-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.