Vue lecture

Récap 67 : Février 2025 // /home/lord

Ah ptain la relève pour Banished ? Je note : The Foundation. Quel titre en plus :). Ah je crois que JdG a présenté ça et j'en avais vu des morceaux, c'est mignon le design.

J'ai eu une grosse phase avec ce jeu, j'étais parti pour poncer tous les trophés et je suis passé à autre chose (je le garde sous le coude pour les neveux).

Je jouais au jeu et je faisais des tests, des calculs en parallèle pour voir si je pouvais modéliser certaines phases (et ça fait partie des choses à partager un jour au propre...).

Permalink

  •  

Transformez votre expérience Spotify avec Spicetify : un changement de jeu !

Spotify est mon service de streaming musical incontournable depuis près de 6 ans, et j’ai une relation d’amour / haine avec elle. C’était bon au début, mais dernièrement, ils ont commencé à montrer leurs vraies couleurs en ruinant le niveau gratuit, me forçant à payer la prime pour les fonctionnalités nus comme Song Skips, les […]

Le post Transformez votre expérience Spotify avec Spicetify : un changement de jeu ! est apparu en premier sur Moyens I/O.

  •  

Wordle #1333 Hint and Answer for February 11, 2025 – Daily Word Puzzle Game Translation: Wordle n°1333 Indice et Réponse pour le 11 février 2025 – Jeu de mots quotidien

Vous cherchez la réponse aux lots d’aujourd’hui? Eh bien, vous trouverez des conseils utiles pour le lot d’aujourd’hui # 1333 le 11 février 2025, en bas. Ne faites pas défiler trop vite, car la réponse directe est également répertoriée en bas. Cela dit, commençons! Les conseils de lot d’aujourd’hui pour le 11 février Si vous […]

Le post Wordle #1333 Hint and Answer for February 11, 2025 – Daily Word Puzzle Game
Translation: Wordle n°1333 Indice et Réponse pour le 11 février 2025 – Jeu de mots quotidien
est apparu en premier sur Moyens I/O.

  •  

Problèmes de connectivité empêchant l’accès au jeu

Le lanceur de PC en ligne d’Ubisoft, Ubisoft Connect, rencontre actuellement des problèmes de connectivité qui empêchent les joueurs d’accéder à leurs jeux. L’équipe officielle d’assistance Ubisoft a reconnu le problème mais n’a pas donné de délai pour le moment où le service sera de retour en ligne. Nous sommes conscients des problèmes affectant la […]

Le post Problèmes de connectivité empêchant l’accès au jeu est apparu en premier sur Moyens I/O.

  •  

État actuel des États-Unis en tant que parodie du jeu Papers, Please

En 2013, le jeu de simulation de puzzle, Papiers, s’il vous plaîtlancé pour PC. Son gameplay impliquant qui permettre dans le pays fictif d’Arstotzka est une critique du processus d’immigration. Maintenant, un YouTuber avisé a fait une courte vidéo affichant ce qu’un théorique Documents, s’il vous plaît: USA Edition ressemblerait. Jetez un œil au clip […]

Le post État actuel des États-Unis en tant que parodie du jeu Papers, Please est apparu en premier sur Moyens I/O.

  •  

Les meilleures graines de Lego Fortnite pour un bon départ dans votre aventure de jeu

Il est important de vous assurer que vous avez le meilleur départ dans votre Lego Fortnite voyage. Vous pouvez utiliser ces graines pour vous assurer que vous commencez le début que vous recherchez et ne vous retirez pas par RNG. Alors, voici le meilleur Lego Fortnite graines. Fiesta de la grotte du désert Graines: 0505050505 […]

Le post Les meilleures graines de Lego Fortnite pour un bon départ dans votre aventure de jeu est apparu en premier sur Moyens I/O.

  •  

Guide étape par étape pour obtenir facilement un remboursement d’un jeu sur Steam

En tant que joueur PC, vous aurez certainement un compte sur Steam. Cependant, comme pour n’importe quel magasin, il y a toujours des moments où vous effectuez accidentellement un achat et souhaitez récupérer votre argent durement gagné. Dans ce cas, Steam offre les solutions les plus suffisantes, mais tout peut sembler un peu délicat. Si […]

Le post Guide étape par étape pour obtenir facilement un remboursement d’un jeu sur Steam est apparu en premier sur Moyens I/O.

  •  

Guide des armes à arc Monster Hunter Wilds : Maîtriser l’art de l’arc dans le jeu

Alors que les armes à proximité sont super, l’arc est également un choix incroyable dans Monster Hunter Wilds. Cependant, il a une courbe d’apprentissage assez abrupte, donc les nouveaux joueurs doivent comprendre comment cela fonctionne. Guide d’armes à bow Monster Hunter Wilds Capture d’écran via des E / S Moyens Contrairement aux autres armes dans […]

Le post Guide des armes à arc Monster Hunter Wilds : Maîtriser l’art de l’arc dans le jeu est apparu en premier sur Moyens I/O.

  •  

Unvanquished 0.55, enfin là !

Après une longue attente la version 0.55 du jeu Unvanquished a été publiée le 20 octobre 2024. Deux mises à jour mineures se sont succédées le 3 novembre et le 15 décembre pour peaufiner cette version, juste à temps pour être déposée sous le sapin de Noël !

Unvanquished est un jeu vidéo libre et gratuit mêlant stratégie en temps réel et actions à la première personne dans un univers futuristique où deux factions (humains, aliens) combattent pour leur survie.

S’inscrivant dans la continuité de Tremulous (révélé en 2006) et basé sur ce dernier, Unvanquished développe cette expérience de jeu nerveuse et exigeante depuis 2013, en améliorant continuellement le moteur et explorant des variantes et ajustements de jouabilité.

Un Tyrant Laisse-moi goûter à cette version !

Sommaire

Cette version avait été promise dans le dernier article Des nouvelles de Unvanquished, et 10 mois après la version 0.54, voici la version 0.55.

Pendant cette année 2024, le jeu a fait l’objet d’un développement soutenu et vu l’arrivée de nouveaux contributeurs.

Gameplay

  • La portée du « rocket pod » a été réduite: 2000qu → 1300qu (62m → 40m).
  • Il n’est plus possible de désévoluer vers la même classe, ce qui permettait de recharger ses projectiles sans attendre.

Bots

  • Les bots aliens savent désormais éteindre les bases en feu.
  • Ils peuvent aussi utiliser le granger avancé pour atteindre des plate-formes élevées et y construire.
  • Les classes sachant marcher sur les murs le font de manière plus fiable, et le saut de mur du maraudeur est plus précis lorsqu’il escalade des murs.

D’autres améliorations sont plus subtiles, les bots peuvent naviguer dans les cartes de façon plus efficace depuis que la taille des tuiles du maillage de navigation est configurable. Les mappers (ceux qui créent ou modifient des cartes) peuvent aussi configurer d’autres aspects de la navigation.

Un déséquilibre qui rendait les bots aliens moins bons que les bots humains a été retravaillé.

La navigation dans la carte perseus a été améliorée. C’est un des patchs de la mise à jour mineure 0.55.1, c’était déjà prêt pour la 0.55 mais avait été oublié (oups !).

La 0.55.2 a donné aux bots la capacité de voler et la capacité de danser autour des ravins sans tomber.

Interface utilisateur

Il est désormais possible de se déplacer et d’utiliser certaines touches d’action alors que certains menus circulaires sont ouverts : évolution, construction, balises (beacons). Cela permet d’ouvrir le menu de construction en tant que granger avancé sans tomber. On peut aussi évoluer tout en courant ou en sautant, etc.

Les nouveaux menus Les nouveaux menus avec les options de réticules.

Traductions

La version 0.55 est la première version majeure d’Unvanquished à distribuer de nouveau des traductions ! Nous avions déjà distribué quelques traductions avec la version de correction 0.54.1, elles étaient en quelques sorte en prévisualisation. Cette version apporte les traductions pour le Français, l’Allemand, l’Italien, l’Espagnol, le Finlandais, deux variantes de Portugais, et trois variantes de Chinois.

Dans les premiers jours d’Unvanquished nous avions des traductions, mais il y a longtemps nous avons changé la technologie utilisée pour implémenter l’interface utilisateur et la prise en charge des traductions a dû être réimplémentée. Les voici de retour et nous sommes heureux de vous les distribuer de nouveau. Pour contribuer plus de traductions et les affiner, le mieux est de le faire sur Weblate.

Nouveaux visuels

De nouveaux modèles sont là : la « painsaw » d’Alex Tikkoiev et le Chaingun d’extreazz. Ils ont été intégrés au jeu par Ishq. Cela semble simple à faire mais nous n’avons pas de modeleur ni d’animateur actif et cela nous freine beaucoup, vous pouvez nous rejoindre.

Le chaingun Le nouveau chaingun d’extreazz.

La painsaw produit désormais des étincelles quand elle impacte des surfaces dures, agissant comme le Grand Communicateur de vos désirs de disperser des tripes extra-terrestres.

La painsaw La nouvelle painsaw d’Alex Tikkoiev.

Il y a dix ans nous avons reçu une fonctionnalité bien sympathique appelée particules douces (soft particles). Cela empêche certains effets comme le brouillard ou les nuages d’acides d’être affichés de manière disgracieuse lorsqu’ils touchent des murs. Initialement l’effet n’était configuré que pour une poignée de shaders. Rapidement des programmeurs paresseux se sont dits : « configurer les shaders est ennuyeux, et si nous activions la fonctionnalité pour toutes les particules ? ». Malheureusement, cela rend certaines particules invisibles, spécialement les effets d’impacts qui sont très proches de murs ou de sols. Apparemment personne n’a remarqué ça pendant 9 ans, jusqu’à ce que nous retournions à la configuration manuelle de shaders à cause de changements architecturaux liés à autosprite2. Après une revue méticuleuse de tous les systèmes de particules du jeu, nous avons corrigé, retiré ou amélioré certains effets graphiques. Par exemple le souffle du canon lucifer produit désormais une onde de choc, causant une distorsion visuelle. Un tel effet était déjà présent dans les données, mais il ne fonctionnait pas à cause d’un problème de tri des shaders. Le tir secondaire produit aussi un flash violacé à l’impact, effet qui était souvent invisible à cause des particules douces automatiques.

Un humain en cours de soin sur la médistation Le nouvel effet de soin de la médistation.

Reaper a repensé l’effet de soin de la medistation et l’a rendue plus transparente, pour que les joueurs en cours de soin puissent voir à travers.

Sweet a ajouté un nouvel effet visuel au champ de force de la carte plat23. Cela utilise l’effet de mirage de chaleur (heat haze) qui était initialement conçu pour les armes et les effets de feu, mais il se trouve que ça peut également produire des effets très sympathiques dans les cartes. Nous remercions Masmblr pour la manière dont il nous fait avancer en démontrant dans ses propres cartes communautaires comment il est possible d’exploiter de façon créative et nouvelle des fonctionnalités que nous proposons déjà !

Fichier d’entité

Le moteur prend désormais en charge les fichiers d’entité. Cela est particulièrement utile pour les cartes (niveaux de jeu) sans source (il y en a des centaines !). Un fichier d’entité permet certaines personnalisations de comment certaines entités fonctionnent (portes, ascenseurs, téléporteurs…). Il est possible d’extraire une description d’entités avec q3map2 et le fichier extrait peut être édité avec un éditeur de texte et lu par le moteur lorsqu’il charge une carte. Le fichier d’entité peut aussi être utilisé pour modifier comment la lumière d’une carte sera appliquée (il est possible d’y renseigner des variables qui configurent le moteur de rendu pour cette carte).

Le futur est lumineux

Comparaison de rendu de lumière Une vidéo démontrant la compatibilité des lumières de diverses cartes historiques (voir la vidéo complète).

Un effort aux long cours est fait pour que le moteur affiche de meilleures lumières en jeu. Les investigations ont commencé à livrer des résultats significatifs en 2020 avec l’affinage du procédé de compilation des lumières. Cet effort est multi-facettes et touche à de multiples aspects de la chaîne de production et de rendu. Ces dernières années, Illwieckz s’est assuré que différents types d’éclairage soient pris en charge. L’éclairage par vertex (vertex lighting) a été ajouté en plus de l’éclairage par grille (grid lighting) et de l’éclairage par texture (lightmap). Ainsi les cartes qui mélangent éclairage par vertex et éclairage par texture sont désormais correctement affichées. Illwieckz a aussi débuggué les styles de lumières, une sorte de lumière dynamique pré-calculée qui fusionne plusieurs textures de lumière (lightmap) au moment du rendu.

Comparaison de suréclairage Comparaison entre l'ancien suréclairage (à gauche) et le nouveau suréclairage (à droite). Comparer avec un curseur.

Après cela Illwieckz a réimplémenté le mécanisme de suréclairage (overbright) pour éviter la troncature des lumières (light clamping). Il se trouve que le moteur de rendu de Quake 3 souffrait d’une limitation qui atténuait les lumières autant qu’il les éclaircissait… Le nouveau code non-buggé est désormais activé par défaut. Cela a suscité des débats puisque comme le moteur id Tech 3 avait un suréclairage buggé depuis plus de 20 ans, utiliser un moteur de rendu non-buggé peut révéler des bugs que les créateurs de niveaux n’ont jamais vu avant, et il était même possible d’introduire des bugs dans certains logiciels de production sans que les gens ne s’en rendent compte ! Certaines personnes peuvent argumenter que l’affichage buggé est la façon dont le créateur du niveau s’attend à ce que son niveau soit vu… Cette histoire va si loin que cela mériterait un article dédié !

La prochaine étape sur ce chemin vers un meilleur éclairage sera de faire de la colorimétrie correctement et de faire de la fusion linéaire de lumière (quelque chose qu’id Tech 3 n’a jamais fait), mais cette tâche est pour le futur.

Corrections du moteur de rendu

Un battlesuit se regardant dans des miroirs Une vidéo montrant la récursion de miroirs et de portails et leur fusion (voir la vidéo complète).

  • Sprites : Les surfaces utilisant le mot clé de shader autosprite2 sont correctement affichées, c’est parfois utilisé pour afficher des effets de symétrie axiale, par exemple pour une flamme de bougie. Ce travail a été réalisé par Slipher.
  • Portails et miroirs : Reaper a terminé l’implémentation de la récursion de portail et de miroir, a implémenté la fusion de portails et la fusion alphaGen (une technique qui permet d’obscurcir un portail selon la distance à celui-ci), et a rendu possible d’avoir des portails mobiles. Il a corrigé la rotation de portail ainsi que des bugs de portails liés aux lumières, et s’est assuré que du creep extra-terrestre de taille 10 millions de fois la taille de l’univers observable n’apparaissent pas dans les portails…
  • Vidéo : Nous pouvons à nouveau jouer des vidéos sur les surfaces. Avec le temps le code s’était gâté (rotten code), était devenu cassé et avait même été enlevé tandis qu’il était cassé. Il fut ressuscité et a fait l’objet d’une profonde réécriture par Slipher, et la fonctionnalité fonctionne de nouveau — et même mieux qu’avant (avec moins de limites arbitraires) ! Cette nouvelle implémentation était déjà visible dans la version 0.54.1, la voici désormais dans une version majeure. Le seul format pris en charge est l’antique format RoQ utilisé par Quake 3 qui, par mesure de compatibilité avec les données de jeu existantes, est le codec que nous devons prendre en charge avant tout autre codec. Nous ne fermons pas la porte au fait de prendre en charge d’autres codecs, mais pour cela il faudrait que la fonctionnalité soit utilisée plus souvent pour justifier cet effort supplémentaire.
  • Brouillard : Reaper a corrigé l’effet de brouillard, qui était cassé dans la version 0.45. Oups !
  • Lumières : Les lumières dynamiques sont désormais moins pixelisées, quand bien même ce problème n’est pas encore complètement corrigé.
  • PBR : La prise en charge de textures prétendues « basées sur la physique » est désormais dans un état viable grâce à Ishq (plus d’artefacts noirs). C’est déjà utilisé avec un nouveau modèle de chaingun. Pour le rendre bon, nous avons besoin de le faire fonctionner avec les réflexions spéculaires (réflexions statiques).

Un dretch regardant Big Buck Bunny Une vidéo montrant la lecture de vidéo sur les surfaces du jeu (voir la vidéo complète).

En corrigeant le shader autosprite2, la fusion de portails et la lecture de vidéos, nous avons corrigé 3 régressions du moteur original de Quake 3 et qui étaient liées à la prise en charge de format de fichiers anciens et de techniques tout aussi anciennes. Parce que notre moteur de rendu n’est plus celui de Quake 3, corriger certaines de ces régressions requiert parfois d’écrire du code neuf plutôt que de corriger un code existant, et c’est exactement ce qui s’est produit pour les portails.

Performance améliorées

Un granger à Noël Unvanquished 0.55.2 a été publiée pour Noël !

Le moteur et le jeu sont plus rapides que jamais !

  • Simplification du ciel : Reaper a purifié par le feu le code de rendu du ciel qui était archaïque et… étrange. Ce code pouvait générer plus de 1000 triangles par trame rien que pour dessiner le ciel. Une skybox n’a pas besoin d’une géométrie aussi fine, elle est simplement modélisée comme l’intérieur d’un cube. En plus le code faisait des allers-retours mémoire entre la mémoire principale et la mémoire graphique… 🤦‍♂️️ Nous dessinons donc le ciel maintenant avec seulement 12 triangles. Inutile de dire que les performances sont significativement améliorées, et ça aurait toujours dû être comme ça.
  • Culling : Il s’agit du procédé qui élague les surfaces non-visibles pour éviter de les dessiner. Illwieckz a optimisé l’implémentation générique pour processeur central (CPU), Slipher a ciselé à la main un code SSE pour les processeurs x86, et Reaper a permis d’utiliser la carte graphique (GPU) quand le pilote et le matériel sont compatibles.
  • Réduction des délais IPC par du traitement par lots et de la mise en cache : Ces travaux accélèrent des choses comme les particules, les marques d’impact, et les ombres. Illwieckz a réduit le temps d’attente pour ces communications interprocessus en ajoutant des alternatives à nos interfaces de programmation (API) qui fonctionnent par lot. L’IPC est comme un service postal qui transporte les messages entre le processus du jeu Unvanquished et le moteur Dæmon. Pour un facteur, l’important n’est pas le nombre de pages que vous écrivez mais le nombre d’enveloppes à livrer. Vous pouvez donc alléger sa charge de travail en mettant toutes vos lettres dans une seule grande enveloppe. Pour un cas d’utilisation (déjà livrée dans la version 0.54.1), Slipher a implémenté une mise en cache côté code de jeu. Pour filer la métaphore, il n’est pas nécessaire de ré-envoyer le même courrier si le contenu est déjà connu. Sur du matériel actuel, ces optimisations peuvent augmenter le taux de trame (framerate) de plusieurs centaines de FPS quand il y a de nombreuses particules et autres choses de ce genre à l’écran (spam de grenade incendiaires, par exemple !).
  • Code de vertex flottant plus rapide : L’implémentation de vertex plein-flottant écrite par Slipher pour étendre la compatibilité à du matériel plus ancien ou de plus basse gamme qui ne prennent pas en charge les demi-flottants a aussi doublé le taux de rafraïchissement sur du matériel qui fonctionnait déjà ! La réécriture a aussi apporté de menues optimisations dans le code de modèles.
  • Placage de relief : Reaper a corrigé un bug dans le code des cartes de relief (relief mapping), ce qui a débloqué quelques centaines de FPS sur des cartes graphiques de génération actuelle.
  • Usage mémoire des images : Illwieckz a implémenté le mécanisme fitScreen pour les textures d’interfaces utilisateur : c’est une alternative à l’antique implémentation noPicMip de Quake 3 : noPicMip instruisait le moteur de ne jamais réduire la taille d’une image, fitScreen s’assure qu’elle soit réduite d’une façon qu’elle ne devienne jamais plus large que l’écran. Par exemple une capture d’écran d’une carte (niveau) utilisée dans la liste des cartes et au chargement d’une carte ne sera plus jamais chargée en pleine résolution dans la mémoire graphique si elle doit être affichée sur un écran 640×480 (pour donner un exemple extrême)… Combiné avec le mécanisme r_maxImageDimension que nous avons ajouté en version 0.52 pour les textures qui ne sont pas utilisées pour les interfaces utilisateurs comme alternative à r_picmip, ce nouveau mécanisme donne au jeu une empreinte mémoire en VRAM très très faible quand on utilise un écran avec une résolution toute petite.
  • Plus de pré-calcul : De nombreuses décisions étaient préalablement prises à chaque trame en rendant telle ou telle surface, Illwieckz s’est assuré que ces décisions soient désormais prises une fois pour toute lorsque le shader est parsé. Ce que nous appelons « shader » ici est un format de définition de matériaux utilisé par id Tech 3 et ses dérivés, ainsi que de nombreux outils d’édition de cartes. Ne pas confondre avec un « shader GLSL » qui est un programme exécuté sur la carte graphique.
  • SSAO : Le shader GLSL SSAO (Screen Space Ambient Occlusion) a été rendu un peu plus rapide par Reaper.

Le moteur et le jeu ont été profilés intensivement par Illwieckz en utilisant Orbit. Cet effort a permis d’identifier des goulots d’étranglement (bottleneck) et du code non-optimal. Au final cela nous a aidé à implémenter de nombreuses optimisations à de nombreux endroits dans le code.

Le chargement de carte a aussi été amélioré de plusieurs façons :

  • Le moteur ne calcule plus la somme de contrôle des images CRN au chargement.
  • Le moteur ne compile plus certains shaders GLSL qui sont détectés comme inutilisés.
  • De la même façon nous avons réduit le nombre de permutations de shader GLSL à compiler.
  • Les joueurs qui aiment jouer seul apprécieront notre génération « multithread » de maillage de navigation de bot (bot navigation mesh), grâce à Ishq et Slipher. Cela fait partie de la phase de chargement lorsque vous jouez une carte pour la première fois dans un jeu local. Cette génération n’utilisait avant qu’un seul fil d’exécution (thread), désormais toute la puissante de votre processeur est exploitée en mettant tous les cœurs à contribution. Les hébergeurs de serveurs peuvent également en profiter et peuvent configurer cette fonctionnalité avec la variable g_bot_navgenMaxThreads (utiliser moins de fils utilise moins de mémoire, ce qui peut être préféré sur certains serveurs).

Il y a aussi tout un ensemble de choses qui n’ont pas de lien avec le moteur de rendu qui rendent le jeu plus rapide :

  • Le préréglage « le plus bas » (lowest) pour les appareils de très bas de gamme a été optimisé encore plus.
  • Nous distribuons des modèles optionnels en faible qualité – pour le moment seulement pour les constructions, avec la seule différence que ces modèles ont moins d’articulations. Cela permet de traiter l’animation de ces modèles sur des GPUs plus bas de gamme (au lieu de basculer sur le code CPUs quand le GPU est trop bas de gamme).
  • Il a été découvert que certaines variables de configuration (cvar) étaient utilisées par le code de jeu pour envoyer des informations à l’interface du code du jeu dans le but de les afficher à l’écran. Cela signifie que le jeu s’envoyait une lettre à lui-même à travers le moteur à chaque trame… En fait cela demandait même deux lettres : une pour envoyer la donnée au moteur, une pour la récupérer depuis le moteur, tout ça pour une donnée déjà connue ! Cette horreur a été atomisée avec un préjudice extrême.
  • L’accès à une cvar de jeu par son nom depuis le jeu utilise désormais un cache local, réduisant encore le nombre de messages que le jeu et le moteur doivent échanger, accélérant de beaucoup l’interface utilisateur.

Ceux qui aiment faire tourner des benchmarks seront heureux d’apprendre que le taux de trame de la fonctionnalité timedemo n’est plus plafonné à 999 fps.

De plus, l’interface Curses peut désormais afficher les FPS.

Bien entendu que ça fait tourner Unvanquished !

Toujours du côté du moteur de rendu, l’exigence minimale est désormais OpenGL 2.1 sans extension spéciale. Cela signifie que le matériel le plus limité qui puisse faire tourner Unvanquished inclue les ATI R300, les Intel GMA 3 et 4 (sous Linux) et les Nvidia NV40. Parfois même un OpenGL 2.1 incomplet pourrait suffire !

Votre carte graphique est prise en charge. Si cela ne fonctionne pas alors qu’elle est censée prendre en charge OpenGL 2.1 (ou plus), c’est très probablement un bug de pilote.

Par exemple même le VC4 du Raspberry Pi 3B+ peut soutenir 60 fps avec la préconfiguration la plus basse (lowest) et une résolution faible. Cependant le pilote a encore besoin d’être amélioré pour être compatible avec tous les niveaux jouables.

La carte plat23 Un Raspberry Pi 3B+ dessinant la carte plat23 à 60 fps avec le préréglage « le plus bas »…

Jouer à Unvanquished sur un RPI3 n’est vraiment pas recommandé (la mémoire vive disponible sera aussi très limitante), mais si un RPI3 arrive à tenir le rang, c’est que le jeu tourne sur vraiment n’importe quoi, y compris sur un topinambour (parce que même une patate ça serait du luxe 🤭️).

Voici quelques optimisations qui ont été faites pour étendre la compatibilité du moteur :

  • L’extension GL_ARB_half_float_vertex n’est plus requise. Cela s’ajoute au fait que l’extension GL_ARB_framebuffer_object n’est plus non-plus requise depuis la version 0.54 pour être compatible avec plus de matériel. La réécriture faite par Slipher pour prendre en charge à la fois les vertex demi-flottants ou les vertex plein-flottants a même amélioré les performances du moteur (code plus concis, code plus performant, et qui permet plus de chose… tout ça à la fois) !
  • Les textures 3D ne sont plus requises. C’est quelque chose qui est obligatoire en OpenGL 2.1, mais le moteur peut faire sans lorsque l’implémentation est incomplète. De telles implémentations incomplètes peuvent être trouvées avec certaines puces graphiques embarquées conçues pour OpenGL ES, et Mesa se permet de fournir « autant qu’il peut » d’OpenGL pour faire fonctionner les compositeur de bureau. Le moteur Dæmon sait désormais se satisfaire lui-aussi d’une telle implémentation incomplète.
  • Une collection de codes de détection a été implémentée pour identifier des pilotes buggés ou lent, ainsi que des matériels lents. Quand c’est possible, un code moins buggé ou plus rapide est activé lors de l’exécution. Par exemple lors de ce cycle de développement nous avons mis le pied dans ce que les développeurs Intel caractérisent comme un défaut matériel de l’architecture Iris (l’actuelle…), et ont suggéré un contournement qui limite les défauts visuels la plupart du temps. Il y a quelques années nous avions identifié que le dernier pilote Nvidia pour toute une génération de carte donnée ment sur la présence d’une extension, et plante si on tente de s’en servir, et ne sera jamais mis à jour… donc depuis un moment déjà on le détecte pour corriger ses prétentions. Il y a aussi une génération de vieilles cartes ATI qui sont plus rapides en flottants qu’en demi-flottant (la prise en charge annoncée par le pilote est très probablement une émulation pour permettre de faire fonctionner d’autres logiciels qui n’ont pas d’implémentation alternative), donc on détecte et on utilise le code le plus adapté à cette architecture. Il y a d’autres types de contournements mais ces trois-là sont représentatifs. Nous avions déjà quelques-uns de ces contournements implémentés (comme celui pour certaines Nvidia), mais désormais nous avons un procédé standardisé pour implémenter de tels contournements et pour pouvoir les désactiver (pour que les fabricants de matériel et/ou développeurs de pilotes puissent reproduire les bugs, par exemple).

Bien sûr toutes les améliorations de la vitesse d’exécution ont étendu la compatibilité en transformant des équipements « capable de faire le rendu » en « quelque chose avec lequel on peut jouer ».

Nous avons aussi ajouté la possibilité de compiler et exécuter un moteur Dæmon natif sur FreeBSD. Les binaires NaCl exécutés dans le bac à sable tournent toujours dans le mode de compatibilité Linux, mais le moteur peut désormais être natif FreeBSD. Une telle astuce doit probablement être utilisable sur d’autres systèmes qui ont une compatibilité Linux intégrée (NetBSD par exemple, mais nous n’avons pas testé), en utilisant un binaire natif pour le moteur et la compatibilité Linux pour la machine virtuelle du code du jeu.

Un point que nous aimerions améliorer dans le futur au niveau du moteur est l’utilisation mémoire.

Nouveaux joujoux

Reflets sur des tuyaux dans la carte Chasm Remarquez les reflets sur les tuyaux !

Placage de reflet (très expérimental) : Tandis que notre moteur de rendu progresse, les reflets statiques qui étaient complètement cassés sont désormais en meilleur état. Une fois activés, vous pourrez apercevoir votre environnement dans les matériaux réfléchissants, comme des tuyaux métalliques, des plastiques brillants, et des surfaces excessivement polies… Puisque cela est statique, seule la géométrie stationnaire de la carte est pour le moment reflétée, bien que cela soit suffisamment subtil pour que les différences ne soient pas trop évidentes, surtout au beau milieu de l’action. En outre, les données de reflets sont enregistrées et chargées depuis le disque quand vous activez la mise en cache dans les options. Le code du moteur en charge de sélectionner les reflets pour chaque surface a aussi été amélioré, apportant des reflets plus corrects et de grandes améliorations de performance.

Système de matériaux (très expérimental) : Une autre étape vers la modernisation du moteur est l’ajout d’un système de matériaux. Lorsque le matériel et les pilotes sont compatibles, cela déplace de nombreuses tâches de rendu depuis le CPU vers le GPU, produisant ainsi un flux de travail centré sur le GPU. Bien que cela ajoute un peu plus de travail au GPU, cela élimine une forte pression mise sur le CPU, ainsi que de nombreux aller-retours entre le moteur et le pilote et entre le CPU et le GPU. Sur les cartes les plus exigeantes pour le CPU (en particulier celles avec un “vis” mauvais, le vis est une représentation de la carte générée par le compilateur de carte qui détermine quelle partie devrait être visible selon le point de vue) cela peut doubler le taux de trame comparé au moteur de base. Ce système est encore incomplet et de nombreuses améliorations sont à venir.

Reaper est celui qui se cache derrière la réalisation de ces chantiers impressionnants.

Pour pouvoir en profiter il vous sera nécessaire d’avoir OpenGL 4.6 et (en plus) l’extension GL_ARB_bindless_texture. Il reste cependant des problèmes avec certains matériels et pilotes : tout devrait fonctionner avec Nvidia, le système de matériaux et le « frustum culling » devraient fonctionner avec Mesa (radeonsi pour AMD, etc.) quand la dernière version de Mesa est utilisée (l’ « occlusion culling » ne fonctionne pas encore et pourrait planter avec un Mesa qui ne vient pas de la branche de développement main…). Cela ne fonctionne pas avec le pilote propriétaire AMD à cause de bugs. Des contournements pour ces problèmes sont planifiés, mais tous n’ont pas été implémentés à temps pour la sortie de cette version.

À venir

Parmis les développements qui sont déjà testables sur certains serveurs et qui seront disponibles dans la prochaine version, il y a le mode « vampire », qui est un mode alternatif de gestion des ressources : plutôt que de miner du point de construction, chaque équipe se voit dotée d’un lot déterminé de points en début de partie et lorsqu’une équipe détruit une construction adverse elle s’approprie les points de construction associées. Ce mode « vampire » est évalué comme une solution potentielle au problème de certaines parties qui sont trop longues ou semblent bloquées avec des équipes trop bien fortifiées de chaque côté. Ce mode de jeu peut être testé en avant-première sur des serveurs comme Map&Bot Testing, Der Bunker, ou Bug Squash Central.

Il est temps de jouer !

Le jeu Unvanquished se télécharge ici et les parties en cours sont listées ici !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Sortie de GCompris 25.0

Pour ses 25 ans (la première version 0.1 étant sortie le 12 juin 2000), nous avons le plaisir de vous annoncer la publication de la nouvelle version majeure de la suite éducative GCompris.
Cette nouvelle version, sortie le 30 janvier 2025, contient entre autres cinq nouvelles activités, listées dans la suite de la dépêche, ce qui porte le nombre d’activités à 195.

Nouvelles activités

« Croquis » est une activité pour dessiner librement avec de multiples outils pour permettre aux enfants d’explorer leur créativité.
activité Croquis
« Utilise les compléments à 10 » est la continuation des activités de complément à 10 existantes. Celle-ci aide les enfants à échanger les nombres pour calculer facilement une somme.
activité Utilise les compléments à 10
« Addition verticale » est une activité pour écrire une addition et la résoudre.
activité Addition verticale
« Soustraction verticale » est similaire à l’activité d’addition mais pour la soustraction avec la méthode de l’emprunt par regroupement.
activité Soustraction verticale
« Soustraction verticale (méthode de l’emprunt par compensation) » est similaire à celle dessus mais avec la méthode de l’emprunt par compensation.
activité Soustraction verticale (méthode de l’emprunt par compensation)

Améliorations d’ergonomie

Un écran de chargement a été rajouté sur les versions bureau. Nous avons eu des remontées de problèmes car sur certains ordinateurs, GCompris mettait du temps à se lancer et aucun indicateur visuel n’était affiché (GCompris attendait d’avoir chargé toutes ses données avant d’afficher le menu principal).

Lors d’un changement de langue dans le panneau de configuration, celle-ci sera maintenant appliquée directement à la sortie de la configuration, il n’y a plus besoin de redémarrer GCompris pour qu’elle prenne effet.

Côté technique

Cette version est la première version majeure développée avec Qt 6. Elle nécessite un compilateur gérant C++17. Cela implique des changements au niveau des versions des plateformes prises en charge :

  • Il n’y a plus de version 32 bits pour Linux et Windows. Qt ne fournit plus de version pré-compilées et nous n’avons pas le besoin de créer une version 32 bits pour le moment.
  • Android seulement à partir de la version 8.
  • Plus de macOS non plus : les développeurs principaux n’ont pas accès à un ordinateur récent sous macOS permettant de compiler, packager et surtout tester et maintenir la version générée. Un développeur KDE a proposé son aide, nous allons voir où cela nous mène.
  • Plus de Windows 7 et 8.

Sous Windows, le moteur de rendu par défaut a été modifié à Direct3d11.
Une nouvelle option en ligne de commande permet de choisir le moteur de rendu: « --renderer=opengl/software/direct3d11/direct3d12/metal » selon le système d’exploitation utilisé et son support.

Traductions

Toutes les activités ont eu leurs descriptions mises à jour. Cette grosse mise à jour de fond a été effectuée par Anne-Françoise, Emmanuel et Rachel, tous les trois professeurs des écoles de la circonscription de Saumur.

Au niveau localisation, deux nouvelles langues font leur apparition (sanskrit, géorgien) portant le total de langues (traduit à au moins 80 %) à 44 !

Nous remercions toutes les personnes qui nous ont aidé à faire cette nouvelle version !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Blades in the Dark - Deep Cuts - Nouvelles règles | Forum 500 nuances de geek

En novembre dernier, John Harper a sorti une extension officielle de ~120 pages pour BitD : Deeps Cuts.
Voici un extrait de 3 pages de nouvelles règles traduites en français.
L'extension est très complète et contient plein de nouvelles intrigues et de factions.
Si vous êtes anglophone et que vous menez Blades in the Dark, je vous encourage vivement à l'acheter, car elle vaut vraiment le coup :)
Et voici également un petit texte décrivant la chasse aux Léviathans que j'ai traduit en français .


Permalink
  •