|
|||||||||||||||||||||||||||||||||||||||||||
|
Note : traduction par David Brunet. Il a fallu beaucoup de temps pour publier cette entrevue. Désolé, mais durant les derniers mois, je n'avais pas accès à mon Amiga. Mais maintenant, vous pouvez lire cette grande entrevue de ce grand homme ! Il nous parle de jeux intéressants et d'autres choses. C'est un bon point de vue du côté développeur. Savourez-la ! Hugues "HunoPPC" Nouvel nous amuse beaucoup. Ses portages sont l'occasion de jouer à des jeux assez modernes sur AmigaOS 4. Mais Hugues Nouvel n'est pas que focalisé sur le jeu ! Il a aussi créé : une bibliothèque qui fait office d'adaptateur pour EGL (OpenGL ES 2.0), GPMark SDL (tests de performances SDL) et FinalBurn Alpha (émulateur d'arcade). Il est également membre de l'équipe French Amiga Team. ![]() Hugues Nouvel ![]() Mon premier contact avec un ordinateur personnel fut avec un Sinclair ZX81, j'ai commencé à faire des petits programmes dessous et c'était une super découverte. Le problème avec cette machine était la sensibilité de l'extension mémoire, qui se déconnectait souvent quand vous bougiez trop l'ordinateur. La sauvegarde sur cassette à bande magnétique était devenue un parcours du combattant avec des problèmes de randomisation de la tête de lecture : c'était le système D (déconnexion) comme on le dit chez nous. Par la suite, j'ai eu un Amstrad CPC 464 qui fut rapidement remplacé par mon premier Amiga. ![]() La configuration de mon premier Amiga était un A500 avec une extension mémoire de 512 ko et un lecteur de disquette externe. Vint ensuite un Amiga 1200 avec une carte accélératrice MTec 030 et 8 Mo de mémoire, qui fut rapidement remplacé par une carte accélératrice 68060 de Phase 5 avec 64 Mo de mémoire, puis arriva un Amiga 4000 doté d'une carte accélératrice CyberStormPPC/060 et d'une carte graphique CyberVision. Je dispose dans ma collection personnelle des machines suivantes : Amiga 500, Amiga 500+, Amiga 1200/68060, Amiga 2000/68030, Amiga 3000D/68040, Amiga 4000/68040, CDTV, Casablanca/68060, CD32/SX32. ![]() Pour la petite histoire, je vais vous surprendre : ma première machine NG fut un Pegasos 1. Je fus l'un des premiers bêta-testeurs français à posséder cette machine (bêta-testeur numéro 003 exactement). Mais j'ai eu beaucoup de problèmes avec les vendeurs de cette machine qui me prirent pour la poule aux oeufs d'or. Il y eut beaucoup de promesses (accords de non-divulgation), je me suis retrouvé avec une machine boguée inutilisable et j'ai dû payer pour la plupart des retours et des changements de cartes alors que, normalement, tout devait être pris en charge. J'ai dû pleurer pour avoir le correctif Articia, les bêta-testeurs 2 avaient accès directement à une machine corrigée ainsi que le lot de logiciels, alors que moi, j'ai dû attendre pour avoir les logiciels et ma carte processeur PowerPC G4, tous mentionnés dans mon contrat. Suite à cette histoire, j'ai fait un blocage complet et je ne voulais plus entendre parler de cette machine, par dégoût, même si MorphOS est un très bon système d'exploitation et que je m'entends très bien avec sa communauté (j'ai aussi travaillé sur des projets MorphOS comme Hurrican, 1941Dx, Gngeo NG, Candy Crisis...). En ce qui concerne AROS, je n'ai réalisé que le portage de 1941DX. J'ai du mal à me concentrer sur plusieurs systèmes, donc je préfère me limiter à AmigaOS 4 que j'adore. C'est mon système de prédilection (c'est une chance pour les utilisateurs de ce système, non ?). ![]() Tout a commencé à l'époque où j'avais téléchargé plusieurs jeux sur OS4Depot. En double-cliquant sur leur icône, je me suis retrouvé avec des erreurs, des plantages, pas de gestion de la manette, pas de plein écran, pas de son, une énorme consommation processeur et pas de documentation. Je ne pouvais pas me satisfaire de cela, la plupart des portages étaient bâclés et j'étais vraiment frustré. J'ai alors commencé à me documenter, à acheter des livres sur le langage C# et à téléphoner à mon ami Frédéric Rignault (alias Polymère dans l'équipe MorphOS). Peu à peu, j'y suis arrivé, j'ai eu beaucoup d'échecs et d'incompréhensions mais je me suis accroché car je suis une personne très tenace. J'ai pu réaliser mon premier portage qui fut REminiscence, puis celui de la série de Zelda. ![]() Comme je l'ai mentionné plus haut, c'est pour des raisons personnelles et aussi pour mieux me concentrer sur une tâche, et donc ne pas me disperser et faire du mauvais travail. Je suis plus favorable à un travail bien fait qu'un travail bâclé. Non, il n'est pas difficile de faire des jeux pour les trois systèmes NG (même si parfois vous devez écrire un peu de code supplémentaire), mais on doit faire un choix et le mien est de me focaliser sur AmigaOS 4. MorphOS dispose de plein de bons développeurs comme Mark "Bigfoot" Olsen, Nicolas "Henes" Sallin, Fabien "Fab1" Coeurjoly, SixK et plein d'autres... ![]() La technologie BoostGFX est vraiment très simple : toutes les routines de rendu ont été réécrites et ne passent plus par SDL. Les filtres graphiques font la même chose et cela me permet d'avoir plus d'images par seconde et plus de flexibilité pour mon travail. J'ai dû programmer cette bibliothèque car, à un moment donné, je me suis retrouvé dans une impasse et je ne pouvais plus avancer. J'ai donc fait un choix, j'ai pris le temps de programmer cette bibliothèque qui m'a ensuite permis d'économiser beaucoup de temps. ![]() Je pense que c'est faux, SDL est une solution plus que bonne. C'est juste que nos versions manquent de maturité, d'optimisations et de rendu matériel (par exemple, j'ai dû faire ma LibBoost pour pallier ces lacunes). La version de SDL2 de Juha "capehill" Niemimaki le prouve, c'est la version la plus aboutie que nous puissions avoir et je l'encourage à poursuivre le travail. D'ailleurs, je lui ai fait un cadeau car je respecte son beau travail (avant cela, il avait réalisé d'intéressants projets, encouragez-le). ![]() Les difficultés les plus importantes sont : les solutions de contournement de bogues dans nos bibliothèques natives, le manque de fonctions dans notre SDK, des OpenGL et Nova limités (en développement), la limite de la mémoire graphique pour les gros jeux (256 Mo), le manque de bibliothèques supplémentaires comme GLEW, etc. ![]() Mon adaptateur EGL fonctionne bien mais beaucoup de limitations sont encore présentes. J'y ajoute des fonctions tous les mois selon mes besoins, mais c'est très difficile et long d'avancer seul dans cette aventure. Quand Warp3D Nova aura progressé et pourra utiliser des nuanceurs modernes, alors, oui, le portage de Doom 3 et d'autres grands jeux sera possible. Mais encore une fois, je ne peux pas vous donner de date, je ne connais pas l'avenir. Gardez à l'esprit que ma bibliothèque tire parti d'OpenGL ES qui, à son tour, utilise Warp3D Nova : tout est lié, donc si un maillon de la chaîne n'est pas complet, alors nous ne pouvons pas réussir. ![]() Oui, j'ai réalisé tout mon travail seul. Mes bêta-testeurs sont là pour signaler les problèmes et, sans eux, je ne pourrais pas avancer. Mon équipe de bêta-testeurs est composée de personnes provenant de plusieurs pays : France, Italie, Espagne, Suisse, Allemagne, Belgique, Grèce... Je pense notamment à Lionel "Lio" Muller, Mehdi "K-L" Boulahia, Mumu, Javier De Las Rivas, Alan "Pseudaxos" Kerjean, Nicola "Salternaos" Raffinatore, Samir "Samo79" Hawamdeh, Philippe "Elwood" Ferrucci, Tony "Sinisrus" Canazza, Thomas "TommySammy" Blatt, George Sakianos, Alain Thellier, Emmanuel Rey, Loïc "CrashMidnick" Secrétant, Julien "Crisot" Cervellera, David "DaveBraco" Braconier et mes enfants Matthis et Sorhenn. ![]() Oui, mon travail est gratuit car je ne peux pas évaluer le prix de mes productions. La communauté Amiga me le rend bien et je remercie encore une fois tous les donateurs et leurs beaux cadeaux. Mes machines de développement sont un AmigaOne X1000 avec carte graphique Radeon R280X Toxic et un AmigaOne X5000/20 avec carte graphique Radeon R7770 (acheté récemment suite à la vente de mes Sam460ex et Sam440ep). ![]() FinalBurn Alpha a encore évolué ces derniers jours. La version du moteur restera en 0.2.97.40 car seule la correction du problème de gros-boutisme sera ma priorité ; cet émulateur restera stable et pourra profiter de plus de 10 000 jeux. Les derniers émulateurs qui y ont été ajoutés sont la NES, la SNES et le MSX. Je prévois juste d'ajouter l'émulation du système d'arcade Taito F3 car j'adore les jeux de cette plate-forme. ![]() Je pense que s'il n'y avait pas de jeux à code source ouvert, nous n'aurions rien à jour. C'est une chance que d'avoir des logiciels à code source ouvert. D'accord, c'est gratuit, mais ce n'est pas parce que j'ai réalisé le travail de portage que vous ne pouvez pas faire un don à l'auteur d'origine. Ce serait bien également, non ? ![]() Je prévois de réécrire complètement le jeu Hydorah de Locomalito en version composite et Warp3D Nova (bibliothèque EGL), avec son éditeur de niveau et tous les nouveaux bonus. ![]() ![]() Hydorah ![]() Nous manquons de beaucoup d'outils de développement qui nous permettraient d'avancer plus vite dans notre travail. Cela éviterait également d'utiliser d'autres systèmes en parallèle. La limite de mémoire vive et de mémoire graphique sera une véritable barrière pour les prochains jeux haut de gamme car les textures sont de plus en plus grandes et la mémoire est rapidement saturée. ![]() Je pense que les bibliothèques dynamiques pourraient être utilisées (comme pour Odyssey) et que l'interface graphique devrait disposer des mêmes appels afin de rester rétrocompatible, comme un petit SDL. Mais puisque tout le monde veut faire son propre logiciel, il n'est malheureusement pas compatible. Je discutais avec Mathias Parnaudeau à propos des versions des objets partagés (Shared Objects). Il y a un gros problème, il suffirait d'indiquer en interne le numéro de version au lieu de nommer les fichiers ".so.1", ".so.2", etc. C'est incompréhensible et surtout ingérable, tout mettre dans le répertoire "SObjs" devient vite le bazar. ![]() Oui, il manque un bon navigateur Internet sur nos machines. Je n'utilise cependant pas Odyssey (il plante trop souvent et je n'ai pas le temps de m'amuser à redémarrer plusieurs fois pour une simple recherche pour un développement). A la place, j'utilise NetSurf (version "Dev"), qui ne plante pas mais qui est actuellement moins complet et moins compatible. Il me suffit cependant pour mes recherches sur Internet. ![]() ![]() Legacy ![]() J'ai répondu en partie à cela dans la question précédente. Je suis désolé de le dire, mais une question me vient à l'esprit : les utilisateurs Amiga qui déclarent que le portage n'est pas une bonne solution pour notre avenir sont-ils prêts à donner tous leurs week-ends et soirées pour développer ou aider au développement ? Je pense qu'ils ne réalisent pas le travail, le temps, les tests, les débogages, les adaptations nécessaires : c'est un travail colossal. Prenez cette critique comme constructive. C'est vrai, mon avons QT (qui est à améliorer) ainsi que de nombreuses applications provenant du monde Unix ou Windows. Pourquoi réinventer la roue quand elle existe déjà et qu'elle marche ? Bien sûr, certaines parties doivent être réécrites (problème de gros-boutisme) mais nous perdons moins de temps que le développement de A à Z d'un nouveau programme ou la reprise de quelque chose de complètement bogué. ![]() Oui, c'est possible si nous améliorons QT, comme mentionné plus haut. En fait, beaucoup de choses sont réalisables mais le temps, le nombre de développeurs et l'argent nous limitent. ![]() Je conseillerai de prendre immédiatement un AmigaOne X5000 (je parle des machines actuellement disponibles). Cette machine en a sous le capot et ce n'est pas fini. Elle propose beaucoup d'améliorations qui en font la machine la plus rapide que je pourrais avoir entre les mains. A l'avenir, pour les petits budgets, vous pourrez vous faire plaisir avec un AmigaOne A1222, mais ne comparez pas cette machine avec un AmigaOne X5000, restez cohérent. Pour informations, j'ai payé plus cher mon AmigaOne X1000 il y a quelques années, que mon X5000 : donc c'est à vous de voir. ;) Liens :
|