Lizen

Active member
  • Content Count

    1420
  • Joined

  • Last visited


Reputation Activity

  1. Like
    Lizen reacted to RomStation for a blog entry, Romstation 2.0   
    Edit : Une première beta est désormais distribuée à cette adresse. Cette version est néanmoins amputée de quelques options (multijoueur, ajout et édition des jeux/émulateurs externes). Vous pouvez essayer la beta sans craindre d'altérer votre installation actuelle, les deux versions cohabiteront sans soucis. Vos retours seront appréciés dans les commentaires.
     
    Évoquée furtivement il y a quelques mois, la prochaine mise à jour majeure de Romstation approche à grand pas. Une fois n'est pas coutume, nous allons vous présenter les grandes lignes de ce renouveau.
     
     
    Moderniser l'interface
    Pratiquement une décennie s'est écoulée depuis l'élaboration du design originel. Bien sûr, l'interface s'est plusieurs fois actualisée au fil du temps, mais les tendances et les technologies ont également beaucoup évoluées. De ce fait, l'application peut paraître désuète ou mal pensée aujourd'hui. Pour nous mettre à jour avec les standards actuels, améliorer l’ergonomie globale et repenser une architecture logicielle plus flexible, il nous a donc fallu réécrire entièrement notre code.
     

     
     
    Windows et macOS
    Le portage de Romstation sur les systèmes d'exploitation macOS semble évident et vous êtes nombreux à formuler ce souhait depuis longtemps. Les plus attentifs auront déjà remarqué l'arrivée de l'Arlésienne en observant la capture précédente. Mis au second plan jusqu'à présent, ce portage nécessitait une révision complète de l'ancien code. La modernisation de l'interface nous ayant imposé cette tâche, le moment semblait alors opportun pour nous y atteler.
     
     
    Internet Explorer vs. WebKit
    Pour rappel, Romstation s'appuie sur l'API d'Internet Explorer pour son navigateur web intégré. Par conséquent, une version à jour d'Internet Explorer autorisant les cookies est requise pour permettre le bon fonctionnement de l'application. Historiquement, l'émulation s'est avant tout développée sur Windows et le navigateur de Microsoft s'est naturellement imposé. Aujourd’hui, en considérant notamment notre volonté de porter le programme sur macOS, ce choix est nettement moins pertinent. IE sera donc abandonné et avantageusement remplacé par WebKit, une bibliothèque logicielle libre qui ne dépend d'aucun navigateur préalablement installé sur votre OS.
     
     
    Recherche multi-critères et requêtes sauvegardées
    Comme évoqué dans le premier paragraphe, l'ergonomie est entièrement repensée et enrichie de nombreuses options d'importance variable que nous ne détaillerons pas ici. Abordons néanmoins le cas de la recherche dynamique autour de laquelle s'articule une grande partie de la gestion de votre base de données locale. Illustré dans la capture ci-dessous, vous remarquerez notamment qu'un filtre peut désormais prendre plusieurs valeurs actives lors d'une recherche. Par ailleurs, des requêtes plus avancées faisant intervenir divers opérateurs logiques pourront être nommées, sauvegardées puis chargées d'un clic au besoin.
     

     
     
    Gestionnaire d'émulateurs
    A l'origine, Romstation est pensé comme une solution tout-en-un simple et intuitive. Si les automatismes du logiciel sont appréciés par la plupart, quelques utilisateurs ont parfois besoin de plus de contrôle.
     

     
    Dans sa version 2.0, Romstation est livré sans émulateur. Au lancement d'un jeu, si aucun émulateur compatible n'est détecté (cas par défaut) et que le programme n'est pas utilisé dans son mode hors ligne, la base de données en ligne est interrogée pour trouver l'émulateur offrant la meilleure compatibilité.
    Dès lors, deux choix s'offrent à vous :
    Installer automatiquement l'émulateur retenu par l’algorithme, ou bien sélectionner manuellement un émulateur compatible en vous redirigeant vers la nouvelle section du site sobrement intitulée : Émulateurs.  

     
    Les émulateurs répertoriés dans cet espace seront plus nombreux qu'actuellement, tenus à jour et distribués dans de multiples versions. Sur le modèle des jeux, les émulateurs sont automatiquement installés depuis leur page en ligne puis gérés à partir de l'onglet éponyme de l'application.
     
     
    Profils de jeux et d'émulateurs
    Lorsqu'il est installé localement, un émulateur regroupe de nombreuses données permettant sa gestion, notamment des "profils". Ce terme désigne un ensemble de règles qui viennent altérer au besoin le choix du fichier exécuté et les paramètres de la ligne de commande. On peut ainsi préférer par exemple une version précise de Dolphin et lui joindre le paramètre opengl/direct3d/fullscreen dans un souci de compatibilité ou de confort. Les profils peuvent être automatiquement liés aux systèmes (consoles), à un jeu particulier ou bien être manuellement sélectionnés à chaque exécution. Enfin, si les jeux et les émulateurs téléchargés viennent avec leurs propres profils, vous êtes bien sûr libre d'ajouter et de nommer vos profils personnalisés.
     

     
     
    Avant de conclure ce billet, nous pourrions encore citer dans une liste non-exhaustive quelques idées intéressantes, mais planifiées pour un avenir plus lointain, parmi lesquelles :
    Compléter les téléchargements SFTP par du HTTPS pour les connexions type Hotspot. Gérer le "versioning" des jeux sur le modèle des futurs émulateurs. Créer un format d'archive import/export pour récupérer automatiquement les ressources et les métadonnées des jeux externes. Synchroniser les imports externes aux données en lignes pour récupérer les ressources et les métadonnées absentes de l'archive. Développer les serveurs Cloud précédemment testés. Etc...  
    Bref, les idées ne manquent pas et l'envie de les réaliser non plus. Dans l'immédiat, nous essayerons de distribuer assez rapidement une première beta, probablement amputée de quelques options. D'ici là, nous vous invitons à réagir dans l'espace commentaire pour exprimer cordialement vos appréhensions, vos doutes, vos interrogations, voire votre enthousiasme.🤔