Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:


Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-


Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum

Sito web Arcade Database

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

Moderatore: Moderatore ADB

Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Tanta roba... e tutto in linea con il mio progetto :)
Ho iniziato dal Mame perchè fornisce molte informazioni su tantissimi giochi, che poi sono la maggior parte di quelli che uso.

Nel mio piccolo (casa mia) c'è un catalogo di giochi e sotto un insieme di emulatori, tutti quanti si affacciano a pc o cabinato con una gui unificata.
Il catalogo contiene di tutto: una cinquantina fra dettagli e media per singolo gioco. E poi recensioni, video (anche da 1GB l'uno!), link ad altri siti, ecc.

Fare una raccolta come la intendi tu è un'opera troppo grande per le mie risorse (sia di tempo che di conoscenza) per cui ho scelto di partire da quello che conosco meglio, cioè il Mame.
Inoltre, a differenza del mio catalogo casalingo, per il nuovo sito che verrà ho deciso di trattare tutti i giochi mai usciti per il Mame per un motivo molto semplice: a volte capita che si cerchi un gioco ma che non si ha a disposizione l'ultima versione. Se la rom ha cambiato nome, non verrà più elencata in nessun sito web.
Proprio per evitare questo problema ho una tabella di archivio e le ricerche andranno sempre ad insistere su tutti i giochi, anche quelli cancellati (opportunamente segnalati certo).

Per il resto le ricerche che mi servono già le ho: posso cercare giochi che si giocano in 2, cloni o no, filtrare per una parte del nome, magari solo una piattaforma o magari solo funzionanti. Con schermo orizzontale o verticale, quelli che sono stati giocati in bacheca qui da noi, quelli che sono inclusi nel libro di Super Play, ecc.
Ma un conto è tenersi queste cose per se, un altro è pubblicarlo online con attorno un bel sito come si deve ;)

Quindi per me va benissimo fare un mega database con tutti i giochi mai esistiti, anche non emulati o emulabili, ma ci sono tanti aspetti da considerare.
Me ne vengono in mente tre subito:
- chi inserisce questi dati? Per il mame è comodo, 30 mila in un colpo solo, ma per tutti gli altri?
- ci vuole un elenco di console/emulatori, e per ciascuno la storia perchè almeno si sappia cosa è e come funziona
- un sito del genere richiede impegno a tempo pieno, che io non ho :on_cry:

Per esempio io includerei anche le informazioni di Arcaworld direttamente nel gioco scelto sul sito, anzichè aprire il pdf e cercarlo lì dentro. Tutte idee che poi si scontrano con la realtà ed il poco tempo a disposizione.

L'ultimo sito che ho pubblicato è quello di Sovox per il Commodore 64. Credo di essermi offerto di farlo dopo l'estate dello scorso anno e non è ancora finito. Come risultato mi piace molto, ma stiamo parlando di almeno 5 mesi di tempo libero di lavoro.

Comunque, il thread è stato aperto proprio per parlare di cosa metterci dentro quindi ben vengano tutte queste chiacchiere <-gogogo->
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

pucci ha scritto:ne avevo parlato qualche tempo fa su MAMEItalia: http://www.mameitalia.net/index.php?showtopic=13499
Mi sono andato a leggere quella paginetta... impressionante vedere come il "mio" ArcadeDB sia praticamente identico al "tuo" ;)

Io ci sono arrivato da un'idea avuta tanti anni fa ma che poi non ho mai esplorato. Ora che invece sono un po' più dentro alla programmazione web, e visto che la cosa è fattibile, magari se ne può parlare più in dettaglio.

Nelle risposte che hai avuto su MameItalia ho visto però che alcuni non hanno molto chiaro cosa ottenere, ne come.
Vedo ad esempio che s_bastian, che ovviamente va ringraziato per aver curato ProgettoEmma fino ad oggi, pensava di fare script e poi mantenere i dati a mano. Purtroppo una pratica simile è improponibile, perchè il Mame continua ad avanzare e la mole di dati che si porta dietro è impressionante. Senza automatismi non avrei il tempo per fare altro nella vita che inserire e modificare i dati sui giochi. E si sa, quando un lavoro richiede troppo tempo, poi alla lunga ti stanchi e rischi di lasciarlo andare (o scrivere inesattezza).
Giusto per darti un'idea mi sono scritto le mie procedure di import per evitare ogni possibile problema: queste procedure, che non sono ne piccole ne banali (siamo sulle 10 mila righe di codice) usano qualcosa in input (gamelist.xml, mame.dat, cabinets/*.png o altro) e leggono/scrivono i dati da 3-4 tabelle, più altre 3 di "direzioni lavori". Non è che copiano il file in un certo posto e basta ma lo leggono, verificano se c'è il gioco ed è attivo, controllano lo storico, se esiste già un file si accertano che non sia identico, lo storicizzano, scrivono dei log per avvisare se qualcosa non va bene ed alcune si preoccupano di rimettere le cose a posto in caso di errore gravi. Una di loro, può tornare indietro a ritroso di versione in versione per poter mantenere database e filesystem in uno stato consolidato.

Altra cosa che non va bene è il consiglio di usare una wiki o qualcosa del genere: purtroppo, a parte l'ultimissima versione su wikipedia, l'edit di quelle pagine è macchinosissimo e se non fatto in maniera maniacale rischia di non essere corretto. La mia piccola wiki, che puoi vedere qui, contiene poche decine di pagine ma ogni modifica richiede un po' di pazienza (soprattutto per cose complesse come tabelle ed impaginazione immagini).

Quindi la mia filosofia è la seguente: ok database globale di tutto, ok Mame con storico e qualsiasi gioco emulato, ok tutti i file associati alla rom (snapshot, video, record italiani, history, ecc).
E fino ad oggi, limitatamente al Mame, tutto questo è già realtà e facilmente aggiornabile ad ogni rilascio ufficiale.

La parte invece che mi lascia perplesso è l'inclusione di altri utenti per la modifica dei contenuti. Capita spesso che alcuni utenti non conoscano dettagli o peggio scrivono cose non vere. Quindi avere un database con una buona percentuale di questi problemi, vorrebbe dire non aver fatto bene le cose.
Inoltre predisporre l'accesso con un login, gestione profilo e tutto il resto per un sito non standard (forum, chat, ecc) richiede tanto tempo. Io i siti li faccio "a mano", non uso pacchetti ne plug-in, prendo il blocco note ed inizio a scrivere, o gimp ed inizio a creare le immagini. Ed è proprio questo che mi piace e che permette ad un sito di essere personalizzato al massimo.
Altrimenti rischiano di diventare elenchi e poco altro, un po' come lo sono alcuni dei siti che hai citato.

Comunque ArcadeDB mi piace ancora più degli altri come nome... :)
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Aggiornamento lavori per il progetto:
- aggiunte importazioni per renameset di progettosnaps (ora son quindi 33 le routine di import, alcune delle quali gestiscono più file simili)
- spostato alcuni dati da blob a file su disco (quindi la dimensione del database è calata drasticamente)
- riorganizzato il filesystem per facilitare il redo di import già fatti senza cambiare nome ai file elaborati
- verifiche ulteriori per l'import xml che se non "vede" conflitti di nomi non inizia neppure l'operazione, risparmiandomi minuti preziosi di rollback

EDIT:
- gestione delle rom introdotte nel MameUIFX AI Mod di Dr. Zero (+verifica delle rom hack in versioni precedenti del mame). Anche in questo caso è gestita l'archiviazione se cambia qualcosa nelle rom. Da quanto ho potuto verificare ora sono 387 le rom aggiunte.
- gestione archivio storico con possibilità di salti e rientri, ossia se una rom sparisce da una certa versione e riappare dopo. Viene trattato come un nuovo ma rimangono i vecchi dati. Tramite queste informazioni e quelle sui rename, si dovrebbe ricostruire la storia di quella rom anche se ci sono buchi nelle numerazioni.

Però che fatica... <-ciao->
Ultima modifica di motoschifo il 08/02/2015, 17:23, modificato 1 volta in totale.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 70 volte

Re: Progetto Arcade Database

Messaggio da pucci »

motoschifo ha scritto: - spostato alcuni dati da blob a file su disco (quindi la dimensione del database è calata drasticamente)
Mi spieghi che cavolo sono i blob? Gestisco un sito WordPress e un mediawiki per una associazione e ogni tanto guardando le tabelle con phpmyadmin mi ritrovo questi blob
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
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Sono insieme di dati binari, quindi consultabili con il programma apposito (es. un'immagine, un exe o uno zip).
Puoi metterli sul database ed averli comodi per tutte le operazioni che vuoi (insert/delete/update) senza dover "disturbare" il file system.
Nel mio caso metto un po' di dati in formato compresso gz in questi blob (credo sianono una decina in tutto) ma ne ho tolti un paio per salvarli su file system, dato che di fatto non li cambio mai.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Con oggi ho raggiunto un bel traguardo, riuscendo a chiudere la parte di backend e database.
Il livello di automazione è elevato ed ho notato tra l'altro che le query di ricerca sono istantanee su un Core2 E8400 con "ben" 2GB di ram, nonostante il db contenga tutti i giochi mai usciti.
Certo in una form di ricerca o di dettaglio ci saranno centinaia di particolari e query a non finire, ma almeno sembra funzionare bene.

Ho messo su una maschera molto provvisoria in cui potete già apprezzare le funzioni di ricerca full text: non importa quali segni di punteggiatura o spazio ci siano tra le parole, se sono maiuscole o minuscole, accentate o normali, il filtro capirà e trasformerà in automatico le query.
Schermata-2.png
Schermata-1.png
PS: Non fate caso alle versioni riportate, i dati sono tutti stati taroccati per delle prove ;)
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 70 volte

Re: Progetto Arcade Database

Messaggio da pucci »

motoschifo ha scritto:Sono insieme di dati binari, quindi consultabili con il programma apposito (es. un'immagine, un exe o uno zip).
Puoi metterli sul database ed averli comodi per tutte le operazioni che vuoi (insert/delete/update) senza dover "disturbare" il file system.
Nel mio caso metto un po' di dati in formato compresso gz in questi blob (credo sianono una decina in tutto) ma ne ho tolti un paio per salvarli su file system, dato che di fatto non li cambio mai.
non vedo l'utilità di metterli in un database. che problema c'è a leggerli da file system?

in ogni caso faccio bene ad escluderli dal mio backup
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Dipende da cosa contengono, sono dati a tutti gli effetti quindi è bene inserirli nei backup altrimenti un ripristino darebbe un sito incompleto.
Può essere utile in tante occasioni: gestire record in una tabella è facile e rapido, molto di più che preoccuparsi di scrivere un file (con annesse autorizzazioni, errori in lettura/scrittura, spazio disco).
Inoltre ogni volta che li modifichi/inserisci/cancelli i dati in tabella devi ricordarti di tenere il file sincronizzato, che deve avere un nome univoco da qualche parete.
E ancora, le due operazioni (file + tabella) non possono essere atomiche, ossia il sito potrebbe trovarsi in uno stato inconsistente. Se poi ci sono transazioni di mezzo, le cose si complicano e vanno gestiti rollback o cancellazioni supplementari.
Ci sono altri motivi ma comunque credo di aver reso l'idea ;)
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Piccolo aggiornamento: sto separando i due siti (mio personale e arcadedb) in modo da poter essere eventualmente pubblicato da qualche parte.
Integrerò una gestione utenti con login, poi vediamo se mi servirà ma comunque può tornare utile inizialmente per un discorso di utente admin (che vedrà appunto le pagine di gestione del sito).
Per ora ho notato che le ricerche anche complesse e con immagini caricate vanno molto bene e rispondono quasi istantaneamente :)
Schermata-1.png
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Ho pubblicato un primo esperimento del nuovo sito: http://fochinet.altervista.org/arcade_database
Si tratta di un database piccolissimo (ma completo come struttura) e nessuna immagine, visto che come spazio totale per questo dominio ho 1GB condiviso fra dati e database, ed ho già altri siti demo per un totale di 950MB... quindi non ci sta più nulla :(

Ad ogni modo ho (finalmente) separato le routine interne che posso così riutilizzare in tutti i miei siti e tenere aggiornate in maniera facile e sicura.
Non c'è molto da vedere ma ho già consolidato parecchie cose:
- layout essenziale (mi piace così!)
- poche voci a menu, per adesso
- sistema di login, da completare ma gestito
- tutta la parte import funzionante (37 procedure!)

Ho aggiungo il logo del forum ed usato colori molto simili così da ottenere una sorta di continuità tra i due siti. Ovviamente si può cambiare tutto quanto... considerate che il sito che ho fatto per Sovox sul C64 condivide praticamente le stesse routine di base, eppure graficamente è un'altra cosa.

Qualche dettaglio in più sui dati che memorizzo.
- tabella aggiornamenti importazioni (data/ora, note ed esito di tutti gli import che farò, fino ad un massimo di 37 per singola versione del Mame)
- tabella categorie per tutti i valori dei file ini (catver, genre, ecc)
- tabella emulatori con le informazioni di ciascuna release del Mame (ora sono 257 release differenti!)
- tabella mame con i dati per ciascuna rom della versione attuale
- tabella mame_archive con tutti i dati di storico

Per la tabella "mame" ci sono tutti questi campi:

Codice: Seleziona tutto

game_name             varchar(25)   Nome della rom
emulator_from         int(11)       Prima versione in cui compare il gioco
emulator_to           int(11)       Ultima versione del gioco
emulator_first        int(11)       Prima versione in cui compare il gioco
game_title            varchar(200)  Titolo breve (inserito a mano, comprensibile da front-end)
game_sourcefile       varchar(50)   File sorgente del driver
game_description      varchar(200)  Titolo completo (ufficiale)
game_year             varchar(5)    Anno di produzione (es. 1980, 198?, 197?)
game_isbios_sn        tinyint(1)    E' un bios si/no
game_isdevice_sn      tinyint(1)    E' un device si/no
game_ismechanical_sn  tinyint(1)    E' un sistema meccanico si/no
game_isrunnable_sn    tinyint(1)    Si può eseguire si/no
game_isparent_sn      tinyint(1)    E' un parent si/no
game_isclone_sn       tinyint(1)    E' un clone si/no
game_usechd_sn        tinyint(1)    Utilizza i chd si/no
game_romof            varchar(25)   Usa le rom di un altro gioco (parent)
game_cloneof          varchar(25)   Clone di un altro gioco
game_sampleof         varchar(25)   Gioco da cui prendere i sample
manufacturer          varchar(100)  Produttore
sound_channels        tinyint(1)    Canali audio
input_players         tinyint(3)    Numero di giocatori
input_buttons         tinyint(3)    Numeri di pulsanti totali (1p, 2p, joy)
input_coins           tinyint(3)    Numero di crediti
control_type          varchar(100)  1=dial, 2=doublejoy, 3=gambling, 4=hanafuda, 5=joy, 6=keyboard, 7=keypad, 8=lightgun, 9=mahjong, 10=mouse, 11=paddle, 12=pedal, 13=positional, 14=stick, 15=trackball
control_ways          varchar(100)  1=1, 2=2, 3=3 (half4), 4=4, 5=5 (half8), 6=8, 7=vertical2
display_screens       tinyint(3)    Numero di schermi
display_type          tinyint(3)    Tipologia di schermo
display_rotate        tinyint(3)    Rotazione dello schermo (0=0, 1=90, 2=180, 3=270)
display_width         int(5)        Larghezza dello schermo (px)
display_height        int(5)        Altezza dello schermo (px)
display_refresh       decimal(9,6)  Refresh dello schermo (Hz)
chip_cpu              varchar(100)  Elenco dei chip di tipo cpu, separati da punto e virgola
chip_audio            varchar(100)  Elenco dei chip di tipo audio, separati da punto e virgola
driver_status         tinyint(3)    1=good, 2=imperfect, 3=preliminary
driver_emulation      tinyint(3)    1=good, 2=imperfect, 3=preliminary
driver_color          tinyint(3)    1=good, 2=imperfect, 3=preliminary
driver_sound          tinyint(3)    1=good, 2=imperfect, 3=preliminary
driver_graphic        tinyint(3)    1=good, 2=imperfect, 3=preliminary
driver_cocktail       tinyint(3)    1=good, 2=imperfect, 3=preliminary
driver_protection     tinyint(3)    1=good, 2=imperfect, 3=preliminary
driver_savestate_sn   tinyint(1)    Supporta il salvataggio del gioco si/no
device_type           varchar(200)  Device collegati (hard disk, cdrom)
screen_orientation    tinyint(3)    0=non gestito, 1=orizzontale, 2=verticale
scroll_type           tinyint(3)    0=non indicato, 1-9=alto,basso,destra,sinistra,diagonali continui, 10=statico, 11-19=alto,basso,destra,sinistra,diagonali non continui, ecc
previous_game_name    varchar(25)   Nome della rom che aveva in precenza
players_mode          varchar(100)  Giocatori contemporanei/alternativi (solo, 2sim, 4alt)
category              int(11)       Valori da catver.ini
genre                 int(11)       Valori da genre.ini
serie                 int(11)       Valori da series.ini
language              int(11)       Valori da languages.ini
note_private          longblob      Note non pubblicate sul sito (dati compressi gz)
recensione            longblob      Recensione del gioco (fondi diverse, dati compressi gz)
history               longblob      Dati da history.dat (dati compressi gz)
history_ita           longblob      Dati da history.dat (in italiano, dati compressi gz)
mameinfo              longblob      Dati da mameinfo.dat (dati compressi gz)
arcaworld             longblob      Recensioni ed hiscore by SuperPlay (ArcaWorld e NeoArca, dati compressi gz)
mamescore             longblob      File story.dat (MameScore su http://www.arcadehits.net/mamescore, dati compressi gz)
url                   longblob      Url di approfondimento (anche multiple)
tag                   varchar(255)  Tag generici (adult, arcadeitalia, arcaworld, ecc)
data                  longblob      Nodo xml con tutte le informazioni del Mame (dati compressi gz)
ricerca               varchar(255)  Campo gestito in automatico per le ricerche semplici
indice                longtext      Campo gestito in automatico per le ricerche complesse
data_ultima_modifica  varchar(16)   Data ultima modifica (applicativa)
TIMESTAMP             timestamp     Data ultima modifica (sistema)
mentre per lo storico memorizzo solo quando ci sono differenze, insieme al range di versioni da/a dell'emulatore.

Esiste una parte che gestisce le rom non ufficiali, quelle hack di Dr. Zero per intenderci, e quindi saranno presenti anche loro.
Dal sito si possono già cercare per tag "hack" :)

In pratica il sito nasce ora e cercherò di completarlo nei prossimi mesi.
Essere arrivati a questo punto in così poco tempo mi sembra davvero incredibile... magari per qualcuno sembrano due paginette e basta, ma il lavoro che c'è dietro vi assicuro che non è per nulla banale <-dash->

Ad ogni modo procederò per gradi e già che ci sono cercherò di completare alcuni controlli di input che avevo iniziato nel mio sito, così da fornire qualcosa di molto più facile da usare e da esplorare.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
biasini

Silver Medal
God of Arcade
God of Arcade
Messaggi: 2904
Iscritto il: 11/04/2013, 11:17
Medaglie: 1
Città: Roma
Grazie Inviati: 136 volte
Grazie Ricevuti: 89 volte

Re: Progetto Arcade Database

Messaggio da biasini »

Complimenti motoschifo! :-D
Avatar utente
Jorghino

Gold Medal Silver Medal Bronze Medal
Cab-dipendente
Cab-dipendente
Messaggi: 651
Iscritto il: 05/11/2011, 14:01
Medaglie: 11
Città: Gradara
Località: Pesaro/Rimini
Grazie Inviati: 3 volte

Re: Progetto Arcade Database

Messaggio da Jorghino »

motoschifo ha scritto: ... magari per qualcuno sembrano due paginette e basta, ma il lavoro che c'è dietro vi assicuro che non è per nulla banale <-dash->
Grandissimo! Credo che se fosse stato banale lo avrebbero già fatto!

Ho un paio di domande da ultra nubbio revolution!

1- Che differenza c'è tra:

Codice: Seleziona tutto

]emulator_from         int(11)       Prima versione in cui compare il gioco
emulator_first        int(11)       Prima versione in cui compare il gioco 
2 - Un gioco non è per forza Parent o Clone? L'informazione seguente non è ridontante?

Codice: Seleziona tutto

game_isparent_sn      tinyint(1)    E' un parent si/no
game_isclone_sn       tinyint(1)    E' un clone si/no
Integrerò una gestione utenti con login, poi vediamo se mi servirà
Non serve per forza per creare liste personalizzate come su ProgettoEmma?
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

emulator_from è la versione di "partenza", ossia quella che entra a far parte della tabella "mame current".
emulator_first è la primissima versione in cui compare questo gioco. La tabella "mame current" contiene sempre l'ultima versione disponibile del gioco, non necessariamente l'ultima uscita, perchè se il gioco non cambia mai rimarrà sempre e solo un record in quella tabella. Nel testo che ho riportato c'è un copia/incolla sbagliato nella descrizione ovviamente.
Nello storico ho anche il campo emulator_to che ricostruisce il range di versioni in cui tale gioco non subisce variazioni.

Per il discorso parent/clone in effetti un clone non è mai parent, ma li ho separati perchè di fatto potrebbero essere anche su più livelli (quindi un parent che a sua volta ha un parent sopra). Lato xml è supportato anche se probabilmente mai usato. In questo modo le ricerche sono più chiare (parliamo comunque di 2 campi da 1 byte ciascuno).

Per le liste personalizzate ho diverse idee quindi ora sono partito con una gestione utenti semplice. Se ci sarà integrazione con il forum potrei dover pescare da lì il login, mi tengo aperte un po' tutte le strade insomma.
Ad esempio io vedo bene una gestione tipo carrello in cui aggiungi i giochi che vuoi ad una o più liste (tipo Amazon con le liste desideri) e per questo ci vuole un identificatore univoco che sarà lo username di login. Però vorrei gestire la creazione di liste semplice, per esempio tutto quello che vedi lo esporti in qualche modo (script, lista txt, lista xml, formato per front-end qualsiasi, download di tutte le risorse correlate, ecc).
Pensavo anche di poter gestire import/export senza dover per forza registrarsi: fai l'export in formato "ini", poi quando torni sul sito fai un import da quel file ini e riparti da lì. In questo modo sul sito (database) non ho dati e quando necessario puoi ampliarli da quel file in autonomia.

Di cose simili ne ho scritte parecchie, tutte idee e sviluppi per fare in modo che il sito sia davvero utile e "definitivo" per l'universo Mame.
Come detto diverse volte è un impegno enorme e sto cercando in tutti i modi di automatizzare il più possibile, altrimenti difficilmente riuscirò a tenerlo aggiornato ;)
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Jorghino

Gold Medal Silver Medal Bronze Medal
Cab-dipendente
Cab-dipendente
Messaggi: 651
Iscritto il: 05/11/2011, 14:01
Medaglie: 11
Città: Gradara
Località: Pesaro/Rimini
Grazie Inviati: 3 volte

Re: Progetto Arcade Database

Messaggio da Jorghino »

Eccezzzuinale veramente!!!!!
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Giusto per chiarezza, faccio un esempio di come possono evolvere le tabelle.
Il gioco esiste dalla versione 45 ed è rimasto identico nelle versioni 45-100, 101-128, 129-152, 153-157.

MAME versione 0.157

Codice: Seleziona tutto

MAME CURRENT
     emulator_from 153, emulator_to 157, emulator_first 45
MAME ARCHIVE
     emulator_from 45, emulator_to 100, emulator_first 45
     emulator_from 101, emulator_to 128, emulator_first 45
     emulator_from 129, emulator_to 152, emulator_first 45
MAME versione 0.158, nel caso in cui il gioco risulti differente (rom, crc, attributi)

Codice: Seleziona tutto

MAME CURRENT
     emulator_from 158, emulator_to 158, emulator_first 45
MAME ARCHIVE
     emulator_from 45, emulator_to 100, emulator_first 45
     emulator_from 101, emulator_to 128, emulator_first 45
     emulator_from 129, emulator_to 152, emulator_first 45
     emulator_from 153, emulator_to 157, emulator_first 45
MAME versione 0.158, nel caso in cui il gioco NON cambi nemmeno di un bit

Codice: Seleziona tutto

MAME CURRENT
     emulator_from 153, emulator_to 158, emulator_first 45
MAME ARCHIVE
     emulator_from 45, emulator_to 100, emulator_first 45
     emulator_from 101, emulator_to 128, emulator_first 45
     emulator_from 129, emulator_to 152, emulator_first 45
Quindi il database si appesantirà solo delle differenze, e non verranno caricati 30 mila record ogni volta che cambia il Mame ;)
Tutti gli altri file (immagini png, manuali pdf, video mp4, ecc) possono seguire strade completamente diverse, ed anche loro hanno una sorta di range in cui non viene memorizzato nemmeno un byte in caso di file identici (identici come contenuto, non come data/ora/dimensione).
Non ho messo in piedi algoritmi per capire se due immagini sono simili perchè non me la sentivo di "perdere" tempo in queste cose. Per lavoro ho ad esempio realizzato un algoritmo che ricostruisce poligoni vettoriali da immagini bitmap e che poi approssimano i lati con scarto percentuale per creare forme con il numero minimo di lati. Servivano per mettere in sovraimpressione canvas javascript e quindi riuscivano a capire se nelle due immagini fossero presenti differenze impercettibili all'occhio umano (es. conversioni png/jpg, copia/incolla). Ma non si sa mai, magari in futuro potrebbe tornare utile :D
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Jorghino ha scritto:Ho un paio di domande da ultra nubbio revolution!
Ultra niubbo revolution non lo avevo mai sentito, magnifico! Però attento che potresti infrangere qualche copyright! <-lol->
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Qualche piccolo passo in avanti, il sito ora ha la pagina Download in cui raccolgo tutto il materiale che ho (eseguibili, file ini, file dat/xml, patch, ecc.) ed ho timidamente iniziato la pagina di introduzione al Mame con statistiche di import e totale giochi.
La parte download pesa ben 10GB e contiene tutte le versioni mai uscite di tutti gli emulatori (più di 500!), file dat, ini e comprende anche le versioni nonag per qualsiasi sistema, che quindi può essere raccolta agevolmente in quest'area.
Nella home del Mame metterò anche dei link rapidi per il download dell'ultima versione importata con file ini e nonag.

Prossima pagina: ricerca semplice! <-gogogo->
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

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

Re: Progetto Arcade Database

Messaggio da motoschifo »

Ho definito meglio la pagina di ricerca semplice e sistemato alcuni dettagli per la rappresentazione "galleria".
Saranno presenti più tipologie di layout come elenco semplice o mosaico ma per ora direi che la ricerca va più che bene.

Nei prossimi giorni definirò la pagina di ricerca avanzata cercando il modo migliore di raccogliere tutti filtri (che sono tantissimi).
http://fochinet.altervista.org/arcade_database

Come vi sembra stia venendo il sito?
Perchè entro un paio di settimane inizio l'import dei dati ufficiali... <-sbav->
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Jorghino

Gold Medal Silver Medal Bronze Medal
Cab-dipendente
Cab-dipendente
Messaggi: 651
Iscritto il: 05/11/2011, 14:01
Medaglie: 11
Città: Gradara
Località: Pesaro/Rimini
Grazie Inviati: 3 volte

Re: Progetto Arcade Database

Messaggio da Jorghino »

Sto seguendo e aspettando con ansia! <-sbav->
Avatar utente
Dr_Zero

Donatore
Moderatore
Moderatore
Messaggi: 2081
Iscritto il: 14/07/2011, 21:10
Medaglie: 1
Città: Thiene
Località: Vicenza

Re: Progetto Arcade Database

Messaggio da Dr_Zero »

motoschifo ha scritto:Nella home del Mame metterò anche dei link rapidi per il download dell'ultima versione importata con file ini e nonag.
Io ci andrei un po' cauto su questo punto, le versioni nonag violano la licenza del mame.
Per evitare problemi visto che nella parte download ci sono i sorgenti del mame, non è meglio mettere la semplice patch e poi chi vuole si crea la versione nonag? <-scratch_one-s_head->
Rispondi

Torna a “Progetto Arcade Data Base”