Johannes Fetz dĂ©veloppe un SDK pour crĂ©er des jeux pour la console Saturn, cet entretien revient sur son parcours et les raisons qui lâont amenĂ© Ă sâintĂ©resser Ă cette console.
Console Saturn, source Wikimedia, © Evan-Amos 2011
Sommaire
-
- Partie 1: présentation
-
Partie 2: La Saturn
- Comment en ĂȘtes-vous venu Ă vous intĂ©resser Ă la Saturn ?
- Qu'est-ce que cette console a de particulier ?
- Que dire de ses processeurs (Hitachi SH-2) ?
- Comment fonctionne les processeurs graphiques (VDP1, VDP2) ?
- Comment fonctionne l'audio ?
- Quels services fournissent le BIOS et l'OS de la Saturn ?
- Quelle est votre manette préférée ?
- Les émulateurs Saturn sont-ils bons ?
- Quels sont vos jeux commerciaux préférés sur cette console ?
- Quels sont vos jeux "homebrew" préférés sur cette console ?
- Partie 3: jo-engine
- Pourquoi créer un SDK pour un si vieux systÚme ?
- Quelles ont été les difficultés pour le concevoir ?
- Quelles sont les fonctionnalités de jo-engine ?
- Est-ce qu'il gĂšre divers accessoires (3D Pad, multitap, clavier, souris, pistolet, Video CD, modem...) ?
- Est-ce que vous participez à la création de jeux Saturn ?
- Est-ce que des jeux amateurs ou commerciaux sont développés avec jo-engine ?
- Quels conseils donnez-vous aux gens qui se lancent dans le développement de jeux Saturn ?
- Est-ce que vous aimeriez vivre de ce projet ?
-
Partie 4: pour finir
- Que dire sur vos autres projets ?
- Vous avez de futurs projets en cours ?
- Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?
- Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?
- Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?
- Quelle question auriez-vous adoré qu'on vous pose ?
- Quelle question auriez-vous détesté qu'on vous pose ?
Partie 1: présentation
Qui ĂȘtes-vous, quel est votre parcours et est-il liĂ© aux jeux vidĂ©os ?
Initialement, j'ai commencĂ© ma carriĂšre dans la mĂ©canique de prĂ©cision jusqu'Ă l'universitĂ©. Puis, j'ai fait un certain nombre de jobs en intĂ©rim pour payer mes Ă©tudes supĂ©rieures et je me suis rendu compte que ce milieu (industrie de la production mĂ©canique) n'Ă©tait pas pour moi. Je me suis donc rabattu sur ma passion, l'informatique. J'ai commencĂ© la programmation pendant mes Ă©tudes de mĂ©canique aprĂšs le collĂšge avec des machines Ă programmation numĂ©rique (tour, fraiseuse) et dans mon temps libre, j'ai Ă©crit des petits programmes en BASIC. Plus tard au lycĂ©e, j'ai appris la programmation en langage C avec des livres. Fait assez surprenant, j'ai eu Internet pour la premiĂšre fois trĂšs tard quand j'ai commencĂ© l'universitĂ©. Par consĂ©quent, j'empruntais souvent la connexion Internet du lycĂ©e Ă la bibliothĂšque ou dans les cybercafĂ©s. AprĂšs ma premiĂšre annĂ©e d'universitĂ©, j'ai cherchĂ© une Ă©cole de programmation et je me suis inscrit Ă l'Epitech oĂč j'ai obtenu mon diplĂŽme aprĂšs 5 ans (promotion 2011). En sortant d'Ă©cole, je n'ai pas eu besoin de chercher du travail, car j'Ă©tais dĂ©jĂ en CDI depuis 2009 chez Eureka Technology (Ă©diteur du TMS, Dispatch) et j'y suis toujours. Bien sĂ»r, mon poste a Ă©voluĂ© avec le temps. Je suis aujourd'hui responsable des dĂ©veloppements et membre du CODIR de l'entreprise. Par consĂ©quent, mon parcours n'est pas du tout liĂ© aux jeux vidĂ©o.
Partie 2: La Saturn
Comment en ĂȘtes-vous venu Ă vous intĂ©resser Ă la Saturn ?
J'ai acheté la console en mai 1996 de maniÚre fortuite sur une brocante en Seine-et-Marne pour 250 francs avec les jeux ManxTT Superbike et Sega Rally. à l'époque, j'avais une Sega Master System et une Nintendo NES, alors j'ai fait un bond technologique important. J'ai ensuite acheté beaucoup de jeux et surtout j'ai eu la chance qu'on me parle de la cartouche permettant de jouer aux jeux japonais. J'ai eu par la suite plusieurs consoles, dont la PlayStation et la Nintendo 64, mais la Sega Saturn a gardé une place importante pour moi.
Qu'est-ce que cette console a de particulier ?
Si on la compare avec les consoles de la 5Ăšme gĂ©nĂ©ration, la Playstation de Sony par exemple, la principale diffĂ©rence, c'est que Sega Saturn Ă©tait basĂ©e sur une architecture Ă double processeur et conçu pour ĂȘtre un monstre de puissance pour la 2D, car de nombreux jeux populaires Ă©taient encore en 2D Ă cette Ă©poque. L'intĂ©gration de la 3D dans le projet de conception de la Saturn est arrivĂ© tardivement suivant moi peut ĂȘtre la pression de la sortie de sa concurrente, la Playstation. En somme, l'architecture de la Sega Saturn est exotique ce qui a malheureusement posĂ© beaucoup de problĂšme aux dĂ©veloppeurs. C'est dommage, car la Saturn Ă©tait capable de traiter des graphismes 2D et 3D plus avancĂ©s que la PlayStation.
Que dire de ses processeurs (Hitachi SH-2) ?
Le SH-2 est un processeur RISC (Reduced Instruction Set Computing) 32 bits développé par Hitachi dans le début des années 90 pour faciliter le traitement d'images et les calculs scientifiques (idéal pour le jeu vidéo). Il possÚde deux unités de traitement entiÚrement indépendantes, chacune capable de traiter des instructions simultanément. Ceux de la Sega Saturn ont une fréquence de 28.6364 MHz.
Le processeur SH-2, source wikimedia, © GMPX
Le processeur de la Saturn fait partie de la famille SuperH.
Comment fonctionne les processeurs graphiques (VDP1, VDP2) ?
Le VDP1 Ă©tait responsable du traitement des graphismes 2D et des effets de transparence. Il Ă©tait capable d'afficher des sprites et des polygones texturĂ©s (500 000 polygones texturĂ©s par seconde). On pouvait programmer des listes d'affichage, appelĂ©es "commandes", qui contenaient les informations nĂ©cessaires pour afficher les objets Ă l'Ă©cran. Cette partie est facilement visible dans le code du Jo Engine. Le VDP1 pouvait ensuite les traiter et les afficher en temps rĂ©el. Le VDP2, quant Ă lui, Ă©tait responsable de la gĂ©nĂ©ration d'images de fond et de la gestion des plans de superposition. Il pouvait afficher plusieurs couches de graphismes en mĂȘme temps (4 plans simultanĂ©s), chacune avec ses propres effets de transparence et de distorsion. Le VDP2 pouvait Ă©galement effectuer des opĂ©rations de zoom et de rotation sur les plans d'affichage, ce qui permettait aux dĂ©veloppeurs de crĂ©er des effets de camĂ©ra intĂ©ressants. Les deux processeurs graphiques travaillaient en Ă©troite collaboration pour gĂ©nĂ©rer les images Ă l'Ă©cran. Le VDP2 envoyait des instructions au VDP1 pour lui dire oĂč afficher les objets Ă l'Ă©cran, tandis que le VDP1 pouvait envoyer des donnĂ©es de texture et de couleur au VDP2 pour gĂ©nĂ©rer des arriĂšre-plans. Bref, c'est assez complexe et cette complexitĂ© de programmation et leur coĂ»t ont Ă©galement rendu la conception de jeux pour la Saturn plus difficile que pour d'autres consoles de l'Ă©poque.
Comment fonctionne l'audio ?
La Sega Saturn avait un processeur audio intĂ©grĂ© appelĂ© "SCSP" (Sega Custom Sound Processor) basĂ© sur une architecture RISC et disposait de 32 canaux audio. Le SCSP Ă©tait conçu pour offrir une qualitĂ© audio supĂ©rieure Ă celle des autres consoles de l'Ă©poque, avec une gamme de fonctionnalitĂ©s avancĂ©es tels que la rĂ©verbĂ©ration, la distorsion et le chorus, qui pouvaient ĂȘtre appliquĂ©s aux sons en temps rĂ©el pour crĂ©er des effets sonores intĂ©ressants. En plus du SCSP, la Saturn avait Ă©galement une puce audio "PCM" intĂ©grĂ©e.
Quels services fournissent le BIOS et l'OS de la Saturn ?
En dehors, des Ă©lĂ©ments standards prĂ©sents sur toutes les consoles du mĂȘme type, on a la possibilitĂ© de lire des CD audios et des films au format VCD via une carte d'extension.
Quelle est votre manette préférée ?
J'aime bien la manette standard de la Sega Saturn, mais les manettes d'aujourd'hui sont meilleures. Personnellement, j'utilise principalement la manette Xbox mĂȘme sur PC.
Clone de la manette Saturn
Le design manette Saturn est populaire dans le milieu du retrogaming. Certains constructeurs comme 8BitDo ou Retrobit l'ont donc cloné.
Les émulateurs Saturn sont-ils bons ?
Oui et il y en a plein qui sont fonctionnels. SSF est sans doute le plus abouti (Ă l'exception de son interface), mais Yabause, Mednafen, YabaSanshiro, Kronos fonctionnent trĂšs bien. Et il y a mĂȘme des nouveaux qui arrivent, comme Nova. Il y a mĂȘme des consoles comme la Polymega qui permettent de jouer nativement aux jeux Sega Saturn.
La console Polymega
La console Polymega tourne sous Linux, mais malheureusement il s'agit d'une distribution privatrice.
Quels sont vos jeux commerciaux préférés sur cette console ?
Il y a vraiment trop de bons jeux et souvent exclusifs à la console, mais je peux en citer plusieurs : Radiant Silvergun, la série des Panzer Dragoon, Guardian Heroes, Burning Rangers, Sega Rally, etc.
Burning Rangers
Ecouter le générique de Burning Rangers chanté par Takenobu Mitsuyoshi donne plus de gniaque qu'un verre de jus d'orange et 42 cafés.
Quels sont vos jeux "homebrew" préférés sur cette console ?
- Unreal Sega Saturn (aka Hellslave)
- Sonic Z-Treme
- Bridget Bishop
- Zygo 2D & 3D
- Cubecat
- Sky Blaster
- The case of the city botucaiba
- et d'autres que j'ai pas cité.
Partie 3: jo-engine
jo-engine éditeur de carte
Le sdk vient avec un éditeur de carte 2D.
Pourquoi créer un SDK pour un si vieux systÚme ?
C'est parti d'un petit dĂ©fi technique personnel et de la curiositĂ© Ă la base. La console avait cette rĂ©putation d'ĂȘtre l'une des plateformes les plus complexes pour programmer de l'histoire alors forcĂ©ment ça a captĂ© mon attention, en plus de la nostalgie que j'ai pour cette console. De plus, en matiĂšre d'architecture exotique, j'ai dĂ©jĂ jouĂ© avec le processeur CELL de la Playstation 3.
Quand j'ai commencé à étudier la plateforme, il n'y avait pas beaucoup de jeux homebrew, à l'exception de quelques démos techniques. D'ailleurs, je suis parti de là pour commencer avec le kit SaturnOrbit et ses démos.
J'ai ensuite décidé de commencer à faire un petit Sonic et j'ai posté une vidéo sur Youtube.
J'ai reçu plusieurs retours trÚs positifs et j'ai voulu aller plus loin. J'avais réussi à obtenir de bons résultats techniques et j'ai décidé de les partager avec tout le monde en créant un SDK ouvert, doté d'un niveau d'abstraction élevé qui permet de créer facilement des homebrews pour la console. Malheureusement, j'ai dû mettre le développement de mon propre jeu de cÎté pour libérer du temps.
Quelles ont été les difficultés pour le concevoir ?
Beaucoup ! đ
Mais en premier lieu, c'est clairement le manque de documentation qui m'a contraint à coder beaucoup d'outils pour inverser l'architecture de la machine et comprendre comment utiliser chaque registre, chaque zone mémoire, chaque instruction. Heureusement, j'ai eu de l'aide de la communauté à certains moments. En second lieu, ce qui a été difficile, c'est d'abstraire l'architecture matérielle au maximum afin de laisser le développeur se concentrer sur son jeu.
Quelles sont les fonctionnalités de jo-engine ?
Aujourd'hui il y en a beaucoup en particulier sur la 2D et plein d'exemples pour commencer.
Est-ce qu'il gĂšre divers accessoires (3D Pad, multitap, clavier, souris, pistolet, Video CD, modem...) ?
Oui à l'exception du modem et du pistolet. Pas de difficulté en particulier, mais j'ai pas eu de demande de fonctionnalité sur ça.
3D Pad
Le 3D Pad est une réponse à la sortie de la Nintendo 64 avec ses sticks analogiques.
Est-ce que vous participez à la création de jeux Saturn ?
Je viens souvent en aide aux développeurs de homebrew. J'ai un gros projet de jeu (pas le Sonic), mais je peine à trouver le temps pour bosser dessus.
Est-ce que des jeux amateurs ou commerciaux sont développés avec jo-engine ?
Oui, il y en a plein. Il y a mĂȘme un concours de programmation chaque annĂ©e oĂč plusieurs nouveaux jeux sont rĂ©vĂ©lĂ©s : rĂ©cemment, il y a eu le "SEGA Saturn 28th Anniversary Game Competition" dont le gagnant, Francisco J Del Pino Questa (aka Fran Matsusaka) a créé le jeu Bridget Bishop en utilisant le Jo Engine.
Capture d'écran de Bridget Bishop
Quels conseils donnez-vous aux gens qui se lancent dans le développement de jeux Saturn ?
Je conseille de commencer par développer un jeu 2D pour se faire la main avant de s'aventurer dans la 3D. Il y a une communauté petite mais trÚs active (majoritairement francophone en plus). N'hésitez pas à parler de votre projet et à demander de l'aide.
Est-ce que vous aimeriez vivre de ce projet ?
Non. La satisfaction de voir des nouveaux projets sur la Sega Saturn (et pas forcément qu'avec le Jo Engine) me suffit largement.
Partie 4: pour finir
Que dire sur vos autres projets ?
J'ai un éditeur de modÚle 2D/3D dédié à la Sega Saturn que j'ai commencé, mais je manque de temps en ce moment.
Vous avez de futurs projets en cours ?
J'ai un jeu que j'aimerai bien réaliser avec Sega et en support physique, mais comme pour l'autre projet, je manque de temps. Pour l'instant je privilégie mon parcours professionnel et ma vie de famille.
Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?
Dans mon top 5 :
- GCC sous Linux principalement
- Paint.Net sous Windows
- Notepad++ sous Windows
- Emacs sous Linux
- VLC sous Windows et Linux
Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?
Dans mon top 3 :
- Notepad++ sous Windows
- Paint.Net sous Windows
- 7-Zip sous Windows
Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?
J'ai utilisé plusieurs distributions au fil des années (Mandrakelinux/Mandriva, Debian, Ubuntu, Arch Linux, etc...) ainsi que beaucoup de distributions BSD. Cependant, aujourd'hui, je suis resté sur Ubuntu. D'ailleurs, c'est la version serveur qui est présente sur le serveur dédié de Jo Engine.
En ce qui concerne les logiciels libres, je pense que mes préférés sont ceux que j'utilise le plus (Notepad++, VLC, Paint.NET, etc...).
Quelle question auriez-vous adoré qu'on vous pose ?
Je n'ai rien qui me vient en tĂȘte.
Quelle question auriez-vous détesté qu'on vous pose ?
Je n'ai rien qui me vient en tĂȘte non plus.
Aller plus loin
- Jo Engine (91 clics)
- Un article présentant le hardware de la Saturn (85 clics)
- Un podcast sur lâhistoire de SEGA (35 clics)
- Un site consacré à SEGA et ses consoles (33 clics)
- Le dossier de grospixels sur la Saturn (53 clics)
# Et bim encore une étoile !
PostĂ© par Selso (site web personnel) . ĂvaluĂ© Ă 7.
Encore surpris que l'on arrive Ă faire de telles fournitures pour ces consoles.
Merci !
J'adore cette tendance de linuxfr a proposer des interviews a ces personnes qui ont beaucoup Ă partager.
[^] # Re: Et bim encore une étoile !
PostĂ© par BAud (site web personnel) . ĂvaluĂ© Ă 5.
merci à devnewton< et Johannes Fetz pour ses réponses franches/tranchées montrant l'implication possible à tout un chacun de creuser des utilisations alternatives, pas forcément attendues :-) (bah suffit d'un proc et d'un peu de RAM...)
# bonne interview
PostĂ© par jseb . ĂvaluĂ© Ă 5.
Merci pour ces interviews de personnes et projets qui gagnent Ă ĂȘtre connus.
Je ne connaissais pas du tout la Saturn (Ă part de nom). Je crois qu'elle n'a pas eu grand succĂšs en France, et que ce furent les premiers raclements de gorge de Sega, avant son chant du cygne avec la Dreamcast.
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
[^] # Re: bonne interview
PostĂ© par Nibel . ĂvaluĂ© Ă 4.
La Saturn s'est mal vendue aux USA et en Europe, bien qu'elle ait bien marchée au Japon.
Son principal défaut étant son prix : 480$ à sa sortie contre 299$ pour la PlayStation et 199$ pour la N64 qui était prévue à 249$ originellement mais Sony a baissé sa PlayStation à 199$ pour entraver la sortie de la N64 à ce moment.
Ăgalement assez peu de jeux phares Ă sa sortie et mĂȘme tout au long de son existence, on se souvient surtout du vĂ©nĂ©rable Virtua Fighter ainsi que de sa suite Virtua Fighter 2.
Nintendo, comme à son accoutumé, usait de ses licences phares et a réussi sa transition à la 3D avec brio avec l'indémodable Mario 64.
Sony a choisis de laisser la part belle aux développeurs en vendant une licence d'exploitation à seulement 10$. Ce qui explique que la PlayStation se retrouve avec une ludothÚque aussi fournie mais aussi trÚs inégale en terme de qualité.
La Saturn n'Ă©tait pas une mauvaise console. Elle n'a sans doute pas eu le succĂšs qu'elle mĂ©ritait (au mĂȘme titre que sa petite soeur la Dreamcast) mais c'est en partie Ă cause des mauvais choix de SEGA face Ă une concurrence agressive sur tous les tableaux (ludothĂšque, prix de lancement, communication...) mais Ă©galement Ă des dĂ©veloppeurs tiers peu intĂ©ressĂ©s qu'elle est restĂ©e aussi marginale.
Beaucoup d'entre nous ont touché au moins une fois une PlayStation et/ou une N64. Bien moins ont eu la chance de toucher une Saturn.
La majeure partie des morts l'était déjà de son vivant et le jour venu, ils n'ont pas senti la différence.
# Souvenirs, souvenirs
PostĂ© par jeryagor . ĂvaluĂ© Ă 3.
Plein de bons souvenirs sur cette console, ça donne envie de le ressortir.
Merci pour cette série d'interviews passionnante !
# Commentaire supprimé
PostĂ© par nizan666 . ĂvaluĂ© Ă 2. DerniĂšre modification le 11 mai 2023 Ă 06:55.
Ce commentaire a Ă©tĂ© supprimĂ© par lâĂ©quipe de modĂ©ration.
# Ah ! Baku Baku animal
PostĂ© par PhRĂŠD . ĂvaluĂ© Ă 1.
Certainement lâun des meilleurs jeux du genre avec ses musiques rigolotes et ses onomatopĂ©es japonaises !
« Y a mĂȘme des gens qui ont lâair vivant, mais ils sont morts depuis longtemps ! »
Suivre le flux des commentaires
Note : les commentaires appartiennent Ă celles et ceux qui les ont postĂ©s. Nous nâen sommes pas responsables.