[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
pucci
Moderatore
Moderatore
Messaggi: 4308
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 22 volte

[ADB] proposte per nuove funzionalità

Messaggio da pucci »

in questo post inseriamo tutte le proposte per nuove funzionalità del sito Arcade Data Base


Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4308
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 22 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da pucci »

migliorare le funzioni Parent working e cloni working di parent not working e Parent working/imperfect e cloni working/imperfect di parent not working

per come sono strutturate oggi quando trovano un parent not working prendono il primo clone working, sarebbe molto meglio che potesse scegliere l'utente
come?
per esempio (solo per utenti loggati) ADB potrebbe proporre in una lista/tabella/pop up i vari parent NOT Working con la lista dei relativi cloni Working
l'utente sceglie uno tra questi e la scelta (esattamente come liste e ricerche) viene salvata nel suo profilo

quando in futuro sceglierà le opzioni Parent working e cloni working di parent not working e Parent working/imperfect e cloni working/imperfect di parent not working in automatico il sito mostrerà non il primo clone ma quello che aveva scelto lui.

se da quando ha fatto la scelta è cambiato qualcosa (ES: un nuove clone working di parent not working, ecc..)
(questo ovviamente può avvenire solo al cambio di una versione, quindi basterebbe salvare insieme alle scelte dell'utente anche l'ID della versione sulla quale ha fatto la scelta)
ADB propone all'utente le nuove scelte da fare


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2970
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Reputatione: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Grazie Inviati: 8 volte
Grazie Ricevuti: 15 volte
Contatta:

Re: [ADB] proposte per nuove funzionalità

Messaggio da motoschifo »

Il salvataggio avviene normalmente per romset, anzi per id del gioco (univoco anche al cambio di release).
Il problema con questo approccio è che la lista di ciò che è custom dovrebbe avvenire tutto o niente, non se esiste qualcosa prendo quello altrimenti vado sullo standard.
Essendo una query unica (paginata) non posso intervenire se non facendo join ma ricordo che già per fare quella avevo dovuto girare i dati in 3 modi differenti (per motivi tecnici) e già le query attuali sono molto complesse.
Secondo me non deve essere una ricerca come è ora ma una lista che poi andrà elaborata, magari sulla base di una parte custom (giochi preferiti utente) che può quindi essere statica e sulla quale posso farci più cose.

Un sistema di questo tipo lo avevo pensato per poter fare ricerche oggi impensabili, unire quindi più blocchi sequenziali ciascuno libero di essere un pezzo anche molto diverso tra:
- ricerca
- lista utente
- ricerca utente
- lista pubblica
- ricerca pubblica

Esempio pratico: ho la lista dei giochi working, opero un ulteriore filtro su una lista che ho salvato dei giochi che ho sul cabinato, sulla quale opero un filtro per ricerca salvata, sulla quale applico un altro filtro di una lista pubblica (es. giochi con bug non riportati nel Mame, gestita da tiziocaio).
Ciascun blocco può operare verso l'altro con diverse tipologie di operazioni booleane statiche oppure dinamiche (che prevedono cioè l'interazione dell'utente), al fine di potersi comporre praticamente qualsiasi lista non prevista dal sito.

Tornando all'esempio di prima, potrei prendere i risultati e metterli in "not" con la stessa lista della versione che ho sul cabinato, al fine di trovare solo quei giochi che sono cambiati.
Oppure, se trovi più di 1 gioco raggruppato per genere, fammi scegliere a video quale utilizzare per lo step successivo.
O ancora, quando arrivi a trovare questa lista proponimi un menu con 4 scelte che fanno altrettante cose, ecc.

Avevo già iniziato a scrivere qualcosa ma non ricordo più a che punto ero arrivato, sicuramente molto molto indietro.
La cosa in cui mi ero bloccato era la parte utente in cui dovevo far capire gli step senza essere troppo tecnico.
Dal punto di vista backend non è difficile perchè processo gli step uno dopo l'altro fino al completamento, ognuno con la stessa logica base.
Come la vedi?
Se mi aiuti a capire come rappresentarlo, questo potrebbe essere qualcosa di innovativo.
Pensavo di averlo scritto da qualche parte invece non lo trovo sul forum... gli anni passano e qui non fa mai nulla! :D
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4308
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 22 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da pucci »

la tua idea dei blocchi sequenziali dove si fanno operazioni di matematica degli insiemi (unione, sottrazione, ecc...) secondo me è la strada perfetta
era la stessa idea che avevo avuto per un mio software perchè non ti nascondo che tutto ciò che era oggi disponibile, romlister, ADB, ecc... non mi aveva mai convinto troppo, forse perchè ne conoscevo poco le funzionalitò.
In questi giorni di lockdown ho avuto modo di conoscere meglio le funzionalità di ADB e devo dire che... manca veramente poco per diventare quello che vorrei (e pensano vogliano molti).

Presumo che il sogno di tanti sia quello di realizzarsi un MAME set "personalizzato" in modo automatizzato e più semplice possibile e ad oggi un metodo ben fatto non l'ho ancora trovato (da qui l'idea del mio software)

sul fatto che possa diventare troppo tecnico è vero, secondo me già oggi alcune cose di ADB non sono così semplici da comprendere e sarebbe bello se qualcuno del forum facesse un bel tutorial

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...)

comunque per il momento sai cosa sarebbe molto utile?
3 pagine del sito
dove scegliendo una determinata versione mi vengono mostrati
- parent imperfect che hanno cloni working
- parent not working con cloni working
- parent not working con cloni imperfect
e accanto ad ognuno di questi c'è un link che apre in automatico la ricerca dei suoi cloni che rispettano i criteri sopra

ES:
nella pagina mi segnala
"ROBOCOP" Robocop (World revision 4) [che è imperfect]
a fianco del nome c'è un link che mi apre la pagina con i suoi cloni funzionati
"ROBOCPU0" Robocop (US revision 0)
"ROBOCOPB" Robocop (World bootleg)
e magari me fa anche selezionare uno dei 2 (con un checkbox) al fine di metterlo in una mia lista personalizzata (cloni working di parent imperfect)


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2970
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Reputatione: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Grazie Inviati: 8 volte
Grazie Ricevuti: 15 volte
Contatta:

Re: [ADB] proposte per nuove funzionalità

Messaggio da motoschifo »

Questa cosa dei blocchi, unita ad una nuova pagina che ti porta ricerche/liste più comodi, potrebbe essere in effetti un'ottima cosa.

Diciamo che io me le faccio con le tabelle e riesco tramite script a girarmi i dati, ma farli con una gui complessa da una parte e semplice dall'altro è tutt'altro che immediato.

Cerco però di buttare giù un'idea, almeno sulla carta, per capire se riesco a svilupparla in tempi rapidi.
Considera che tutto il resto del sito e del tool è fermo, ma prima o poi spero di sbloccare qualcosa.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4308
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 22 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da pucci »

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
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2970
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Reputatione: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Grazie Inviati: 8 volte
Grazie Ricevuti: 15 volte
Contatta:

Re: [ADB] proposte per nuove funzionalità

Messaggio da motoschifo »

Javascript è quello che mi preoccupa meno, perchè alla fine si può gestire anche solo lato server tanto non devo disegnare alberi ma giocare con 2 insiemi per volta.
Per quanto riguarda i complementari in realtà non è così, perchè il complementare di "cloni" è "non cloni", quindi tutto meno i cloni... che a volte può non essere ciò che stai cercando.
Ma questa cosa si può gestire con liste/riceche pubbliche, dandogli un nome ed una descrizione chiare, in modo da poter operare con quell'insieme o con la sua negazione.
Quindi l'insieme dei cloni è uno, quello complementare è un altro.

Sui totali e sulla forma grafica è tutto da pensare ancora, secondario a quanto vedo, perchè il vero problema è che per fare queste operazioni servono molte risorse lato server e i timeout sono dietro l'angolo.

Sul discorso id e romset, sono equivalenti: un romset avrà sempre lo stesso id. Il fatto che Mame cambi il gioco da una versione all'altra, potrebbe essere anche questa una cosa da includere oppure no, dipende da cosa devo farci.
Es.: se io voglio il gioco pacman e questo viene rinominato, allora devo seguire il gioco nel nuovo Mame cambiandogli nome (e id).
Se invece voglio capire se ci sono giochi nuovi, a prescindere dal romset (che ho già perchè arrivo da un nuovo insieme), allora non serve.
Questa può essere di default una proprietà da impostare all'insieme.
C'è anche da considerare che i due insieme potrebbero avere differente release del Mame, il che complica non poco che cose visto che seguire i rename è al limite della follia (per come la penso io.... ma vabbè ormai pazienza) e quindi occorre anche qui sforzarsi di riuscire a fare tutto entro pochissimi secondi (oltre infatti scatta il timeout che invalida il lavoro svolto).

Pensando a come me la immagino, direi che ogni insieme deve essere lavorato individualmente con chiamate diverse al server, che quindi potrà avere molti più secondi utili per completare il lavoro. Se la lavorazione di un insieme dura più di 5 secondi è necessario rivedere le cose perchè è un tempo "infinito" lato server, vuol dire che non riuscirà a servire tutti quanti ma che rallenterà fino a saturarsi.

Di cose ce ne sono già anche troppe per iniziare, altrimenti sono tutte chiacchiere e distintivo :D
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
zarazul79
Newbie
Newbie
Messaggi: 33
Iscritto il: 04/04/2020, 17:32
Reputatione: 0
Città: Cosmopolita
Umore:
Grazie Inviati: 2 volte
Grazie Ricevuti: 1 volta

Re: [ADB] proposte per nuove funzionalità

Messaggio da zarazul79 »

A me personalmente, ma credo anche ad altri, tornerebbe utile l'aggiunta di filtri come quelli presenti nel tab generale (per farmi capire meglio, quelli che ti permettono, ad esempio, di escludere o includere BIOS, sistemi, ecc) però applicate alle categorie. In questo modo, ad esempio, potrei escludere dal mio custom set tutti i giochi appartenenti alla categoria Sport/Baseball.
Sarebbe una cosa fattibile?


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2970
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Reputatione: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Grazie Inviati: 8 volte
Grazie Ricevuti: 15 volte
Contatta:

Re: [ADB] proposte per nuove funzionalità

Messaggio da motoschifo »

zarazul79 ha scritto:
30/05/2020, 13:01
A me personalmente, ma credo anche ad altri, tornerebbe utile l'aggiunta di filtri come quelli presenti nel tab generale (per farmi capire meglio, quelli che ti permettono, ad esempio, di escludere o includere BIOS, sistemi, ecc) però applicate alle categorie. In questo modo, ad esempio, potrei escludere dal mio custom set tutti i giochi appartenenti alla categoria Sport/Baseball.
Sarebbe una cosa fattibile?
Questi si può già fare, sono filtri "semplici" e presenti da sempre sul sito.
Se non li puoi fare tutti assieme devi usare le ricerche salvate e/o le liste personali.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
zarazul79
Newbie
Newbie
Messaggi: 33
Iscritto il: 04/04/2020, 17:32
Reputatione: 0
Città: Cosmopolita
Umore:
Grazie Inviati: 2 volte
Grazie Ricevuti: 1 volta

Re: [ADB] proposte per nuove funzionalità

Messaggio da zarazul79 »

ah si? e dove li trovo?

[edit]

ok ho risolto..dovevo iscrivermi per sbloccare le liste...


[edit 2]

se si potessero usare come i filtri rapidi presenti nel tab generali sarebbe il massimo...non so però se possa essere di facile realizzazione, quindi se non lo è fa niente..


Rispondi

Torna a “Progetto Arcade Data Base”