Il punto di inizio è al momento il mameinfo.dat, al cui interno ci sono una o più sezioni dedicate.
Prendiamo per es. il gioco crush:
http://adb.arcadeitalia.net/?mame=crush
La parte interessante è questa:
Che sul sito appare così:Recommended Games (Qix 3):
Crush Roller
Amidar
Disco No.1
Disco No.1 (DECO Cassette)
Hot Shocker
Jolly Jogger
Pepper II
Quantum
Radar Zone
Triple Punch
Heart Attack
Libble Rabble
Itazura Tenshi
Canvas Croquis
Splash!
Glass
Lady Killer
The Return of Lady Frog
Party Time: Gonta the Diver II
Dancing Eyes
Paparazzi
Penky
Wonder Stick
Star Trigon
Tramite funzioni varie sono riuscito ad includere i link di ricerca rapida che si vedono in quella schermata, ma anche a capire se esistono dei giochi con quel nome senza doverli mettere manualmente tutti quanti.
Di seguito il nome tra parentesi quadre è il testo da cercare, quello a fianco indica se è stato trovato e con quale variante:
Codice: Seleziona tutto
[Crush Roller] - variante Crush Roller (set 1)
[Amidar] - OK
[Disco No.1] - OK
[Disco No.1 (DECO Cassette)] - variante Disco No.1 (DECO Cassette) (US)
[Hot Shocker] - OK
[Jolly Jogger] - OK
[Pepper II] - variante Pepper II (version 8)
[Quantum] - variante Quantum Leap (JPM) (IMPACT) (set 2)
[Radar Zone] - OK
[Triple Punch] - variante Triple Punch (set 1)
[Heart Attack] - OK
[Libble Rabble] - OK
[Itazura Tenshi] - variante Itazura Tenshi (Japan)
[Canvas Croquis] - OK
[Splash!] - variante Banana Splash (set 1)
[Glass] - variante Glass (Ver 1.0, Break Edition, Checksum C5513F3C)
[Lady Killer] - OK
[The Return of Lady Frog] - variante The Return of Lady Frog (set 1)
[Party Time: Gonta the Diver II] - variante Ganbare! Gonta!! 2 / Party Time: Gonta the Diver II (Japan Release)
[Dancing Eyes] - variante Dancing Eyes (US, DC3/VER.C)
[Paparazzi] - OK
[Penky] - OK
[Wonder Stick] - variante Wonder Stick (set 1)
[Star Trigon] - variante Star Trigon (Japan, STT1 Ver.A)
In dettaglio il procedimento è questo:
- ricerca del testo "Recommended Games" su riga unica
- se non trovo il gioco esattamente con quella descrizione, cerco in una tabella che alimenterò io con le corrispondenze precise
- se non trovo ancora nulla, provo alcune varianti (set 1, World, US, Japan, World set 1, US set 1, Japan set 1)
- se non esiste ancora, aggiungo il gioco in una tabella che dovrò poi completare manualmente (e finiranno nella tabella delle corrispondenze precise)
Al termine, nei filtri di ricerca aggiungerò un campo "gioco simile a" con la possibilità di selezione di un romset (es. crush) che unito agli altri filtri mi estrarrà la lista di cui sopra, ovviamente con tutte le possibilità offerte della ricerca (export, immagini, filtri aggiuntivi, esclusioni, aggiunte in lista, ecc).
Questa cosa si applica a tutti i giochi presenti (più di 40 mila) e viene aggiornata ogni volta cambia il mameinfo, quindi ogni mese.
Vorrei aggiungere una nota libera ed una categoria che indica in cosa sono simili o perchè lo sono, oltre alla fonte da cui arriva l'informazione.
Per es. nel caso di crush potrebbe essere il titolo della sezione, ovvero "Recommended Games (Qix 3)".
Le sezioni possibili potrebbero entrare anche loro nel filtro e potrebbero essere delle più varie, in base a ciò che trovo nel mameinfo ma anche a quello che posso aggiungere manualmente.
In ogni caso, le corrispondenze inserite da me avranno la precedenza su quanto scritto, quindi non saranno eliminate ogni mese ma, se arrivano dal mameinfo e sono ancora presenti nel contenuto testuale, torneranno attive per la ricerca di quel gioco.
Come fonte, oltre al mameinfo, potrebbero esserci anche altri file o nel caso anche altri tipi di collegamenti che ora non ho previsto.
Quindi questa nuova tabella (che sarà di certo bella grossa) potrà essere estesa in futuro per legare due giochi e per consentire incroci in fase di ricerca.
Al termine di questa fase potrei anche aggiungere, a fianco del tasti "cerca" del tab INFO nella scheda del gioco, anche il tasto diretto per il gioco che è stato legato in quel momento (che poi dovrebbe essere il più probabile o proprio quello indicato nel testo).
Le funzioni che lavorano questi dati sono quasi ultimate, le avevo iniziate lo scorso settembre e portate avanti pian piano (molto piano).
Mancano la tabella, il processo che si occupa di tenere i dati aggiornati, quello di associazione manuale e tante altre cosette.
Però come idea mi piace parecchio ed aggiunge un livello di filtro che fino ad oggi non era possibile applicare.
Cosa ne dite?