[ADB] proposte per nuove funzionalità

Il database che raccoglie tutte le informazioni sui giochi, video, screenshot e tanto altro ancora

Moderatore: Moderatore ADB

Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 4866
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 17 volte
Grazie Ricevuti: 272 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da Gothrek »

non ho capito come le combini, se non con una lista di condizioni
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: [ADB] proposte per nuove funzionalità

Messaggio da motoschifo »

La lista che vedi non è combinabile, o meglio lo sarà con gli insiemi che di fatto sono unioni di più combinazioni di filtri.
In questo caso specifico posso aggiungere un elenco di cose molto particolari senza dover modificare continuamente le query, dato che l'opzione 1 includerà un certo set di specifiche, l'opzione 2 un altro set e così via.
In pratica è come avere dei checkbox in cui scegli la condizione speciale, o meglio oggi le vedi come una lista ma potrebbero essere anche loro dei checkbox per eventualmente combinare più funzioni insieme.
Però in questo caso non devo modificare la GUI, quindi l'automatismo è quello di poter avere ricerce mirate. Ovviamente devo crearle io, ma un conto è cambiare tutti i file correlati ed un altro conto aggiungere una condizione in tabella.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 4866
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 17 volte
Grazie Ricevuti: 272 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da Gothrek »

ok chiaro, non mi entusiasma la ui con tutti questi checkbox però è l'ultimo dei problemi.
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da pucci »

pucci ha scritto: 26/04/2020, 9:24 stavo ripensando a questo parte
come lo farei io?

una tabella dove inserisco i vari ricerca/lista pubbliche/utente e dove con dei pulsanti possono spostarli prima o dopo di altri
a metà di ognuno di questi c'è un pulsante che fa scegliere l'operazione (unione, differenza, in, not in, ecc...)
- ogni lista, ricerca, ecc restituisce un elenco di giochi, quindi un "insieme" i cui elementi devono essere identificati in modo univoco (MAME usa il nome della roma, ADB usa i tuoi ID che hai dovuto creare per tenere conto delle stesse rom che magari hanno cambiato nome da una versione all'altra. per ADB una rom che cambia nome "rimane la stessa", per MAME no)

- sugli insiemi si possono eseguire una serie di operazioni previste dalla matematica, queste operazioni nel caso di 2 insiemi possono essere 4
operazioni_insieme.jpg
la quarta "differenza" si può spezzare in 2 essendo possibile una differenza tra A e B oppure tra B e A
andrebbe anche aggiunta una quinta operazione che opera su un unico insieme: il complementare rispetto all'insieme universo (l'insieme universo nel nostro caso è la lista di tutti i giochi del MAME) ES: i complementare dell'insieme "cloni" sono "parent+device+BIOS"
questa operazione in realtà si può vedere come una operazione DIFFERENZA B - A (con B=lista tutti giochi del MAME e A=nostra lista attuale)

combinando in modo grafico questi "blocchi" direi che puoi fare tutto ed arrivare ad un insieme finale che contenga ciò che volevamo estrarre dal database del MAME (cioè la nostra lista perfetta)

ESEMPIO:
- lista parent
DIFFERENZA
- lista not working
UNIONE
- lista cloni working di parent not working
UNIONE
- lista dei giochi in italiano
DIFFERENZA
- lista dei parent dei giochi in italiano selezionati al punto precedente
DIFFERENZA
- lista dei giochi che appartengono a categorie non adatte ai MAME cab
DIFFERENZA
- lista dei giochi che funzionano con volante (perchè magari il mio cab non ha volante)
DIFFERENZA
- lista dei giochi che funzionano con lightgun (perchè magari il mio cab non ha lightgun)

tutto questo con javascript direi che è gestibile con dei blocchi grafici che rappresentano gli insiemi e altri blocchi grafici che rappresentano le operazioni, se si possono postare graficamente con il mouse o con dei pulsanti
uniche regole:
- la sequenza deve iniziare con un INSIEME e finire con un INSIEME
- dopo ogni INSIEME deve esserci una OPERAZIONE (salvo che l'INSIEME non sia l'ultimo della sequenza)
- prima e dopo ogni OPERAZIONE deve esserci un INSIEME

sarebbe bello che a fianco di ogni insieme venisse riportato anche il numero di elementi che lo compongono in modo da comprendere anche graficamente gli effetti delle nostre operazioni
ho trovato un software che faceva molte di queste cose e non me ne ero mai accorto!

MFM - MAME File Manager
https://github.com/phweda/MFM

ListEditor: Multi-select to add to or remove from a Working List. Add a list to the current Working List. Intersection (machines in both) of this list with current Working List entries. Subtract a list from the current Working List

purtroppo non più sviluppato da tempo, ma con sorgente disponibile e secondo me ben studiato

mi dite la vostra opinione?

qui c'è una guida per farsi una idea: https://usermanual.wiki/Document/MAME20 ... 71351/html
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: [ADB] proposte per nuove funzionalità

Messaggio da motoschifo »

Ricordo di averlo visto diverso tempo fa, ma poi non l'ho mai aperto e probabilmente dopo me ne sono proprio dimenticato.

Intersecare le liste non è un problema, anzi è la parte più facile, il vero problema è permettere di lavorarle nello stesso modo in cui lavori la lista singola.
In altre parole, il vero lavoro è fornire un input di facile comprensione/modifica e permettere di confrontarlo con un secondo input, anche lui riconoscibile e modificabile con facilità.
Se ti bastano liste statiche, risolvi con la gestione di una lista personalizzata e poi confronti tramite gli operatori che ci sono già (IN LIST e NOT IN LIST) creando o modificando la lista stessa in step successivi.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da pucci »

qualche novità @motoschifo ?

penso che l'implementazione degli insiemi sia fondamentale per la flessibilità.

riuscire a filtrare ciò che si vuole in una "unica passata" è praticamente impossibile, ci sono troppi parametri in gioco e molti di questi sono tra di loro interdipendenti.

con gli insiemi si facilità tutto usando una pipeline di operazioni tra insiemi.

ES:
- prima elimino i giochi meccanici, cloni, majhong, ecc...
- poi estraggo i cloni funzionanti di parent non funzionanti
- poi faccio l'unione dei 2 insiemi
- poi faccio l'unione con una lista di cloni meritevoli
e così via

se tutto questo fosse realizzabile con una interfaccia grafica che permetta di in modo visivo di creare e incatenare le varie operazioni sarebbe fantastico

ho trovato questo software molto semplice (è una app ma si basa su una interfaccia web): https://github.com/cosmo0/arcade-manager

Immagine

Immagine

la prima opzione è l'unione
la seconda è la differenza
la terza è l'intersezione

bastano queste 3 perchè la differenza simmetrica si può ottenere a partire dalle altre operazioni base:
- (A differenza B) unione (B differenza A)
oppure
- (A unione B) differenza (A intersezione B)
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: [ADB] proposte per nuove funzionalità

Messaggio da motoschifo »

Nessuna novità purtroppo.
L'idea degli insiemi è buona ma la realizzazione è tutt'altro che immediata, specialmente rispetto alla controparte query su database.
Inoltre la rappresentazione a step che avevo pensato (insieme 1, insieme 2 con operazione, insieme 3, ecc.) non funziona in quanto per ciascuna fase devo salvarmi l'intera lista di dati (potenzialmente fino a 50 mila elementi), quindi ogni insieme che si inserisce aggiunge una complessità (CPU/RAM) che non può essere gestita con le centinaia o migliaia di richieste che arrivano oggi.
Invece quando si lavora in locale si ha a disposizione tutta la potenza della macchina e si è disposti ad attendere un po' di più la fine del processo.
Ciò che avevo iniziato a fare lo scorso anno era rivedere il sistema di ricerca per renderlo molto più gestibile in caso di filtri complessi e multipli, e sarà quella la strada che dovrò portare a termine (ma non so dirti quando, è tutto fermo).
Secondo me il risultato finale sarà simile se non lo stesso, solo che il metodo di approccio sarà più gestibile e più espandibile con nuovi filtri e loro incroci.

Quest'anno secondo me si chiuderà con lo spostamento verso un nuovo server e la rivisitazione di alcune procedure che oggi caricano troppo il sistema.
Ovviamente spero di sbagliarmi e se farò qualcosa di extra avviserò prontamente.

Intanto mi segno il link di quel programma <-thumbup->
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da pucci »

Stavo pensando di realizzarmi io un programma che gestisca gli insiemi. Io programma si limiterebbe a gestire gli insiemi basandosi su un codice univoco che identifichi il gioco (il nome della rom).
In questo modo si possono fare ricerche sul tuo sito, esportare le liste, gestirle con gli insiemi, ricaricarle sul sito per ottenere il dat da usare con un rom manager
Pucci - The Bastard Son of Arcade Italia
"MODerrare humanum est"
tutte le copertine di The Games Machine
non combatto guerre di intelligenza con gente disarmata
Rispondi

Torna a “Progetto Arcade Data Base”