Gamoover

Si vous êtes nouveau, n'hésitez pas à vous présenter ici et à poser toutes vos questions, meme si elles vous paraissent ridicules... Gamoover regroupe une communauté de passionnés prêts à vous aider ! Bienvenue à vous ;)

[WIP] My very own FrontEnd: ArcadeLauncher

Démarré par Jayblast, Samedi 21 Juillet 2012, 16:48:54 PM

Jayblast

Salut tout le monde,

Mon cahier des charges suivant n'a trouve aucun FrontEnd ou dock (launcher d'application) a la hauteur :
- Utiliser autant de .BAT que de roms dont je dispose. Je veux que l'emulateur reste invisible.
- Utiliser la meme touche pour quitter chaque rom/emulateur. La je n'ai pas le choix, je dois passer par un script AutoHotKey qui reassigne une touche de mon panel vers ESC ou ALT+F4 ou ALT+Q selon l'emulateur.
- AVOIR UN CLASSEMENT A LA VOLEE EN FONCTION DU TYPE DE ROM!!!! C'est un peu le point phare. J'ai des categories, donc hors de question de me taper toute la liste si je suis positionne sur 'Arkanoid' et que je veux lancer 'Metal Slug'.
- Un design qui deboite sa mere la race de sa grand mere

Mes categories vite fait :

Elles sont organisees avec un surtype : YOKO ou TATE (le surtype est unique pour chaque rom)

Et un soustype :
- beat'em all
- multiscrolling
- platformer
- puzzle
- run'n'gun
- shoot'em up
- sport
- target shooting
- versus fighting

Notez que l'avantage c'est qu'une meme rom peut disposer de plusieurs soustype.

Donc je suis passe en mode 'do it yourself'.

Voila ma base graphique :
C'est un screenshot de Chaos Engine (version CD32).


La resolution de l'ecran dans ma borne est a 640x240 donc partir d'un screen amiga ca s'y prete particulierement. C'est la resolution de base de la machine meme si chacun a un peu fait sa sauce ;). Je double mes GIF en longeur et ca me fait du fullscreen qui tabasse.

Comme les bitmap brothers sont un peu les Dieux du pixelart, il n'y avait pas photo ! En plus avec une palette CD32, c'est la fete !

Resultat :




Fonctionnement :
- Une simple pression sur un des boutons du panel et je passe a la categorie assignee a ce bouton.
- START1 et START2 changent la selection du surtype (YOKO ou TATE).
- UP /  DOWN au stick permettent de changer de 'ring'. Je me suis base sur HyperSpin et SliderDock. L'un comme l'autre me promettait beaucoup avec leur systeme de ring, mais aucun ne m'a satisfait pleinement. C'est la methode alternative de selection des categories si on ne connait pas quels raccourcis sont assignes a quels boutons.
- LEFT / RIGHT servent a selectionner la rom. La rom active figure dans le cercle en bas a gauche. Les autre apparaissent entre les deux couches de l'interface (la partie tournante a la fin du GIF anime).
- Les deux compteurs a roulette de l'interface donne le nombre total de rom en YOKO et en TATE (compteur du haut). Le compteur du bas donne le nombre de roms par ring, et le nombre de ring.
- Le nom de la categorie selectionnee apparait dans l'espace libre juste en dessous du compteur du bas.



Les passages les plus chaud :

1) Le pixel art !!
Si vous etes connaisseur et que vous regardez attentivement, j'ai beaucoup modifie le screen initial. C'est je ne parle pas de copier/coller + rotation et free transform sous photoshop hein. Je parle pixel a pixel. Interdiction de denaturer du Dan Malone. Donc tutoriels... Essais erreurs... Ca m'a prit un bon paquet d'heures. J'y suis encore. Les boutons sont un rip de GunBird pour le design, les couleurs j'ai fait mes palettes basees sur chaos engine. Le stick par contre est fait main. J'ai place chaque pixel avec mes petits doigts et mon curseur. Vive les jeux neogeo avec leur 'how to play' : ca m'a beaucoup inspire. Le 'ring' du fond est realisee depuis le neant. J'aurais du compter le nombre de pixels ;).




2) Coding !!
C'est pas tout de rever a ce FrontEnd, encore faut-il que mon frere (un tres bon codeur en l'occurence) se sorte les doigts et se mette a coder ! Forcement avec une femme et deux enfants je pense qu'il va falloit puiser dans des mes reserves de patience... Wait and see...

3) Screen/titre de chaque rom !!
Des heures et des heures de MAME/winuae/Gens/Zsnes/NeoRaine et de photoshop pour capturer et retoucher tout ca. D'apres ce que j'ai ecrit plus tot vous devez vous doutez que tout est pixel-perfect. Pas de resize a l'arrache et compagnie ! Palettes d'origines et resolutions d'origines. D'ailleurs les detourages/decoupages/effacages avec des palettes restreintes c'est le pied ! :D)

4) Config de chaque emulateur
Deja reussir a trouver comment les lancer chacun avec un .BAT. Vu que chaque dev fait sa sauce, il y en a ou j'ai sacrement galere pour avoir cette idee tres simple : le .BAT doit lancer l'emulateur+la rom en mode plein ecran. Egalement je ne vous raconte meme pas le mass-rebind des softs amiga. C'est au coup par coup. Galere ultime.

5) Renommer chaque .BAT pour qu'il inclut surtype+multiples soustype
C'est pas complique. Mais ca prend du temps. SuperMacro m'a beaucoup aider. ArcadeLauncher n'aura qu'a lire les 'tags' dans le debut du nom du fichier et c'est gagne.

J'ai deja teste le GIF anime en tant que wallpaper windows sur ma borne et ca tabasse bien :).

Ah oui le premier qui me dit que le theme ne va pas du tout avec ma borne au un design moderne (ghost in the shell), je le fume ;). Dualite est mon surnom.



++,
--Jay
Ps : vu les specifications tres precises de tout ce bazar, je doute tres fortement que tout ca puisse etre adapte a un autre systeme.
Ps² : il est tres possible que je flip l'interface de haut en bas. Pour l'instant j'aime bien comme ca avec l'idee de la source de lumiere en bas. A voir...

Wil2000

T'es un grand malade toi! Mais un malade de trèèèès bon goût! S'inspirer des Bitmap Brothers, il y a pire dans la vie  :D

:-*

Sir Kayne

Bienvenus,
Bitmap Brother, Amiga, Coding, Pixel...tout ce que j'aime  :D

Ton cahier de charge est un peu flou, j'ai du mal à comprendre ce que tu veux exactement.
Une application qui lance des roms et qui les classes ?!
La partie code n'est pas compliqué (à mon de le faire en assembleur et encore...)
Tu as raison sur la partie graphique, à moins d'avoir l'habitude, il faut se prendre un peu de temps  ;)

Accroche toi et sort nous un front-end qui déchire !
Cherche : pédale d'accélération d'une Outrun Upright, Une Racingcab (outrunner ou Daytona), pcb RaveRacer, PCB Missile Command (he oui), une Spacegun et puis un flipper Raven (je l'aurais un jour...)
"Ne me dite pas que je ne peux pas faire quelque chose!" J.Locke

Jayblast

Hey hey merci merci :)

Je m'accroche en effet !

Mon cahier des charges c'est pouvoir controler un systeme multi-emulateur depuis mon pannel qui est un classique 2 STARTs, 2 STICKs, 6 BOUTONs par joueur (J'ai un trackball pour marble madness et pouvoir faire de la mainenance et compagnie mais idealement je prefere m'en passer, c'est pratique, ca depanne, mais ca ne doit pas depasser ce stade).

Donc toujours la meme touche pour quitter l'emulateur.
Et chacun des boutons assigne a une categorie de jeu.
Tu appuies sur le bouton 'shoot'em up' et ca te propose uniquement les shoot.
Ils sont presentes sous forme d'anneau : le serpent qui se mord la queue.

Dans l'etat actuel des choses j'ai maxi 40 roms pour une categorie donnee.

Donc ca veut dire qu'au pire j'aurais besoin de 21 clicks pour acceder a n'importe quelle rom de mon systeme :
1 click BOUTON pour selectionner la categorie, puis 20 click pour aller du debut de liste au milieu de la liste (je dis pas fin de liste car pour aller de A a Z il suffit de rebrousser chemin puisque c'est un systeme d'anneau, donc ca boucle :) ).

La par exemple mame : il m'affiche tout avec son interface pourrie, et tous les clones de chaque rom, c'est meme pas la peine ! J'en n'ai rien a carrer des 72 versions de SF2, le seul auquel je veux acceder, c'est super street fighter 2X, mais a chaque fois si tu veux browser plus haut ou plus bas, tu dois te taper toute la liste. Et elle ne boucle pas pour couronner le tout... Donc de Arkanoid a Xmen, y en a pour quelques minutes...

HyperSpin y etait presque ! Mais meme si je customise a mooooort l'interface pour qu'elle m'affiche une 'wheel' par categorie comme je veux, tu ne peux pas creer de raccourci pour aller d'une wheel a l'autre. De plus il est plutot lourd pour mon PC, et enfin il ne prends que des artworks dans une resolution precise et c'etait assez restrictif vu que pour avoir des icones pixel-perfect mes images etait de taille 4 fois moindre pour certaines.

Si quelqu'un se sent de me coder ca vous pouvez toujours MP hein :P.

++,
--Jay

MarbleMad

très beau projet. énormément de boulot graphique a fournir !!

question launcher, tu as regardé du côté de hyperlaunch, le lanceur d'hyperspin basé sur AutoHotKey, ça m'a l'air exactement ce que tu cherches !!

pour la partie soft, désolé mais trop de boulot !!

Bonne continuation
le rétro, c'est l'avenir !!!


Jayblast

Arf non je n'ai pas regarde specifiquement hyperlaunch, mais vu la direction que j'emprunte je pense que je vais essayer de finir comme ca.

Car dans tous les cas hyperlaunch ne me permettra pas d'animer les differentes parties de mon launcher comme je veux, de plus il ne pourra pas afficher mes rings et icones non plus.

++,
--Jay

MarbleMad

Citation de: Jayblast le Dimanche 22 Juillet 2012, 13:04:03 PM
Arf non je n'ai pas regarde specifiquement hyperlaunch, mais vu la direction que j'emprunte je pense que je vais essayer de finir comme ca.

Car dans tous les cas hyperlaunch ne me permettra pas d'animer les differentes parties de mon launcher comme je veux, de plus il ne pourra pas afficher mes rings et icones non plus.

++,
--Jay

HyperLaunch ne te servirai qu'a envoyer les émulateurs avec la bonne rom et gérer la touche "echape" commune" ainsi que le mode plein écran sur tout les émulateurs. tu peux l'envoyer en ligne de commande depuis ton front-end en temps que 3rd party application. çà t'évite de créer 10000 de fichier bat pour chaque jeu !!
le rétro, c'est l'avenir !!!


Jayblast

En effet ca avait l'air pas mal...

'avait', car j'ai deja fait les batchs :P.
Egalement le script qui rebind et/ou envoie les bons inputs pour quitter.

Thanks anyway !

++,
--Jay


th_vador

Bonjour,
j'ai une question : si tu ne veux que Super Street Fighter 2X, pourquoi avoir sur ton ordinateur les 25 000 autres versions du jeu?
Parce que déjà, avoir 250 roms au lieu de 8000, ça fait pas mal de ménage dans MAME, non?

Sinon le visuel de ton front end est assez terrible ^-
De l'arcade, de la console, des conneries, du Giga Wing 2. TomTom's Lair quoi!
Recherche : Altered Beast (Master System) | Streets of Rage (Megadrive) | Une borne DDR | Un flipper

Jayblast

#10
J'ai passe des mois a trier toutes les roms de mame.

Idem pour megadrive.
Idem pour snes.
Idem pour Amiga (la j'ai pas tout fait, juste ma memoire et quelques titres reves que je n'ai jamais fait).
Idem pour neogeo CD (la ca ne m'a pas pris beaucoup de temps, des exclu neoCD y en a pas des masses :D ).

Au final j'ai garde ~400 titres.

Donc si je ne tournais QUE ssf2x c'est clair que je ne ferais pas chier avec un FE.

J'ai entre 2 et 40 titres par categories (9 categories en tout). D'ou mon envie et besoin d'avoir un systeme de FrontEnd qui permet :
- D'avoir un classement par categorie
- Sachant que certains titres peuvent avoir plusieurs categories
- Qui enleve les clones

And thx :P

++,
--Jay
Ps: j'ai egalement chercher pendant longtemps comment NE PAS afficher les clones dans la liste de mame. Et impossible de trouver quoique ce soit pour la version que je fais tourner : shmupmame v3.0b. Donc les clones sont affiches en gris (l'audit ne passe pas), mais ils sont tout de meme affiches... Les cons...

wikee

Pour ne pas afficher les clones dans la liste, sur shmupmame c'est comme pour les autres builds faut faire click droit sur ton dossier (par exemple all games) dans l'arborescence de gauche et custom filters, et la tu coche clones et tu auras plus que les parents d'affichés.

Sinon je vois que tu as dans ton frontend TATE et YOKO, est-ce que tu as un écran rotatif ?


New Astro City & Jeutel

Jayblast

Ah oui en effet merci !!

Par contre c'est un peu ON/OFF.
Soit on affiche, soit on affiche pas.

Comme justement pour certaines roms je lance un clone (SSF2X pour ne citer que lui...) ca ne rends pas la chose ultime !

Anyway ca va tout de meme raccroucir mon temps de fonctionnement actuel donc merci !



Quant a mon ecran : oui il est rotatif. Monte sur glissieres (d'origines). Je peux l'enlever, pivoter de 90° et le remettre. Par contre c'est pas ultime comme moyen.

Donc justement j'etais en train de travailler a un vrai systeme rotatif ! Wait and see, le WIP et les photos arriveront bientot...

++,
--Jay

wikee

ah ca veut dire qu'actuellement tu n'utilise pas du tout de frontend tu passes par le gui de mame :o


New Astro City & Jeutel

Jayblast

T'as tout compris :)

D'ou mon besoin vital d'avancer ce projet !

Et maintenant que j'ai passe un paquet d'heures sur l'artwork ben j'me vois mal pas finir.

Du coup meme si je trouve une perle rare de FrontEnd qui permettrait toutes les fonctions que j'attends, je pense malgre tout faire ma sauce histoire de pouvoir integrer tout ce joli pixelart.

++,
--Jay