Sito web Arcade Database

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

Moderatore: Moderatore ADB

Avatar utente
Yami
Cab-dipendente
Cab-dipendente
Messaggi: 604
Iscritto il: 07/06/2006, 8:38
Città: Lecce
Grazie Inviati: 3 volte
Grazie Ricevuti: 14 volte

Re: Sito web Arcade Database

Messaggio da Yami »

Allora, ho chiesto maggiori delucidazioni e questo è stato il suo commento:
would be good to have the driver WIP history restored sometime if it's not too much hastle
Quindi fa riferimento allo storico dei driver WIP (o dei WIP dei driver)? <-on_confused->
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: Sito web Arcade Database

Messaggio da motoschifo »

Non ho capito... per me WIP vuol dire Work In Progress, che però non vuol dire nulla associato allo storico.
Soprattutto quando dice che sarebbe bello riaverla, cosa che non mi risulta rimossa (qualsiasi cosa sia) a meno di errori da parte mia.

Ricapitolando:
- la parte di storico, ottenuta confrontando sul momento tutte le release del Mame (per quello è lento)
- la parte di storico driver condivide gli stessi dati, ma vengono filtrati per mostrare solo i cambi sul driver

Esiste anche una parte sotto di info, ma mameinfo, che ha una sezione WIP. Per quello non esiste storico perchè i dati sono incrementali e quindi ogni versione aggiunge cose.

Se ti fai spiegare più precisamente di cosa stiamo parlando con un esempio pratico, magari risolviamo rapidamente.
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: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: Sito web Arcade Database

Messaggio da motoschifo »

La gestione della lingua sta portando nuove idee ed opportunità... <-on_idea->
Ho scritto qualcosa qui ma aggiornerò il post in futuro quando avrò qualcosa di più concreto
viewtopic.php?p=378186#p378186
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: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: Sito web Arcade Database

Messaggio da motoschifo »

La traduzione mi ha fatto ripensare a tante cose, sto valutando alcune alternative per rendere il sito più semplice da tradurre in altra lingua.
Da qui, vedendo anche la situazione ad oggi, sto pensando a come rendere il sito più rapido nel servire le pagine ed evitare di avere la cpu sempre sotto stress.
Insieme a traduzioni e db, ho azzerato tutti gli stili per permettere una rapida personalizzazione a tema se necessario (oggi la scrittura di un nuovo tema è davvero complessa e richiede parecchio tempo, proprio come la lingua).

Quindi ho preso un foglio bianco ed ho iniziato a ripensare dalle fondamenta.
Le pagine più statiche come la home e le statistiche sono semplici perchè non richiedono input dell'utente. Quelle in cui sto incontrando problemi sono tutte le altre.
In particolare la pagina di ricerca è un concentrato di controlli, siamo ad oltre 400 input utente, è una maschera davvero molto complessa, e di recente ho evitato di aggiungerne proprio perchè siamo sopra al livello di guardia.

Questa è una delle idee che mi è venuta: avere una lista di filtri anzichè tutti gli inpuit a video.
Alla selezione del filtro scompare dalla lista ed appare a schermo l'input relativo (uno o più) come ultimo elemento nei filtri. In questo modo ho i filtri che vengono usati nell'ordine desiderato, e mi piaceva l'idea di poter "appuntare" il filtro e quindi poter personalizzare la pagina in base al profilo.
Ecco un esempio mezzo funzionante, ma siamo ancora a livelli di studio di fattibilità.
Ho voluto mantenere le liste standard (quindi niente html o icone) perchè così nell'utilizzo mobile si può aprire a tutto schermo usando le funzioni native del browser, come scroll e paginazione. La grafica è minimale proprio per questo motivo.
2.png
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
Gothrek
Moderatore
Moderatore
Messaggi: 4863
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 17 volte
Grazie Ricevuti: 272 volte

Re: Sito web Arcade Database

Messaggio da Gothrek »

@motoschifo
invece di mettere tutto l'elenco dei filtri possibile, che risulta "fastidioso" da scorrere per vederlo tutto, il consiglio è mettere solo le macro categorie "controlli", "driver" e da li aprire il relativo sottomenu delle sue sotto categorie, cosi da essere piu' compatto e meno dispersivo.

my 2 cents

ps sono cmq triste, speravo di avere piu' info nelle api da recuperare

buon lavoro.
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: Sito web Arcade Database

Messaggio da motoschifo »

L'elenco dei filtri serve per poter disaccoppiare le funzioni dalla gui, quindi la direzione è quella.
Non posso però dividerla in sottomenu perchè così facendo dovrei utilizzare componenti html non standard, il che porterebbe ad una selezione difficoltosa/incoerente nella maggior parte dei dispositivi diversi dai pc. Infatti il componente che ho messo è un combo standard, non ha alcuna possibilità di inserire html ma solo testo.
Per questo motivo potrei separare la gui in base al dispositivo, quindi se telefono vedrai l'elenco completo (che è facilmente scorrevole con le dita, essendo una lista nativa dell'interfaccia Android/Apple) mentre da pc potrebbe esserci qualcosa di più sezionato da usare con il mouse.
Sto cercando di capire quale soluzione adottare, ma sarà un lavoro lungo.

Sulle api per il momento nulla, ma il prossimo anno mi piacerebbe rivederne la gestione e modificare le chiamate per renderle più modulari o sezionabili.
Molto probabilmente per le api generiche/piccole non cambierà nulla (titolo, genere, media e poco altro), ma per avere tutti i dettagli del sito (e con tutti intendo proprio tutti che si vedono a video) dovrò aggiungere una parte di autenticazione.

Ecco uno screenshot di come quella lista appare su un telefonino.
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: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: Sito web Arcade Database

Messaggio da motoschifo »

C'è anche un altro aspetto che forse dal post non traspare e che interferisce con la divisione dei filtri in sezione: spostando i filtri usati in alto, quello che succede è che dopo qualche utilizzo avrò tutte le voci a portata di click e facilmente raggiungibili.
Sto anche valutando un sistema più adatto per tenere i filtri a video una volta scelti nell'ordine che ho deciso, o per nasconderli quando passo alla seconda pagina di ricerca, quindi una sorta di costruzione della pagina in funzione delle preferenze dell'utente.
In questo modo avrò una pagina di ricerca mirata ai miei utilizzi, e quando avrò bisogno di altro mi basterà aprire il menu a tendina con la lista di tutti i filtri disponibili.

Senza questo tipo di accorgimenti, aggiungere una decina di filtri nuovi sarebbe praticamente impossibile perchè lo spazio a disposizione sarebbe troppo sacrificato.

La parte GUI non mi preoccupa, come costruirsi la pagina sarà un dettaglio che affronterò in futuro. Per es. potrei comporre la lista tramite drag&drop, ma ci sono tanti modi diversi di fare la stessa cosa.

Per ora so facendo esperimenti, non è detto che finiscano per essere integrati nel sito ma comunque queste idee mi stanno piacendo molto e consentirebbero di estendere/migliorare parecchio il sito.
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: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: Sito web Arcade Database

Messaggio da motoschifo »

Gli esperimenti continuano, ho visto che rispetto a prima le pagine vengono servite con una velocità tale che quasi non mi accorgo del render della pagina. Ho infatti provato a "svecchiare" le cose, partendo quindi da zero o quasi, e sto avendo risultati molto incoraggianti.
Per es. ho inserito altri filtri di ricerca (per capire l'eventuale fastidio di averne troppi) ed in effetti lato desktop si sente la mancanza di una ricerca sui filtri o di un'interfaccia più comoda da usare. Ovviamente il mio intento è migliorare l'esperienza di navigazione, quindi questi sono solo esperimenti, e nella versione finale ci sarà tutto quanto al posto giusto.

Oltre a questo ho provato lo scroll infinito, quello che trovate ormai sulla maggior parte dei siti e che si ottiene scorrendo verso il basso anzichè fare click sul tasto di paginazione.

Sempre sulla struttura interna, ho provato a comunicare i dati tramite json (prima erano in xml) ed ho visto che le cose migliorano sensibilmente. Soprattutto non devo più inserire codice ridondante per convertire tutti i vari caratteri e html, il che porta ad una maggior leggerezza del carico della CPU lato server. Infatti ora le chiamate sono davvero tante e quel poco che fa il server inizia a farsi sentire anche in questo ambito.
Non ho ancora rivisto la parte database, quella è davvero complessa e permette di fare le numerose operazioni che faccio oggi, ma anche lei sarà riscritta con un occhio di riguardo alle prestazioni e alla localizzazione dei dati.

Insomma dopo tanti anni finalmente sono rientrato nello sviluppo e spero di migliorare le cose... anche se ci vorrà parecchio tempo. Si parla di almeno un anno, il sito sarà completamente rifatto pur mantenendo la compatibilità con quasi tutto il pregresso (almeno lo spero!).
Cercherò anche di pubblicare qualcosa su un altro link, giusto per capire se funziona bene o se ci sono intoppi con la mole di dati di oggi.

Ecco uno screenshot del lavoro in corso, come dicevo fatico ad accorgermi del render della pagina, nel senso che il click è istantaneo e le chiamate ajax essendo più leggere e piccole rispetto a prima hanno risposte molto rapide.
In questo screenshot si può vedere che la parte delle immagini è stata rivista per gestire interamente il file png associato al gioco, quindi vengono inserite barre nere al lati (sopra/sotto oppure destra/sinistra) in base alla risoluzione del gioco.
Schermata del 2023-01-02 13-12-48.png


Ho mantenuto il tema di default, però a differenza di prima ora il sito è sostanzialmente vuoto senza tema e quindi un nuovo layout potrà sbizzarrirsi ad inventare modalità anche molto diverse.
Ecco un esempio senza tema:
Screenshot 2023-01-02 at 13-30-39 Giochi MAME.png


Per il momento mi fermo e i prossimi lavori saranno il supporto per l'history in formato xml e la correzione di alcuni bug che ho trovato sull'aggiunta di liste personalizzate, bug introdotti dai recenti aggiornamenti.
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
Tox Nox Fox

BanHammer Silver Medal Donatore
Moderatore
Moderatore
Messaggi: 11774
Iscritto il: 14/01/2007, 23:35
Medaglie: 3
Grazie Inviati: 160 volte
Grazie Ricevuti: 275 volte

Re: Sito web Arcade Database

Messaggio da Tox Nox Fox »

Grande moto !
WP.ARCADEITALIA.NET
La Guida al MameCab
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: Sito web Arcade Database

Messaggio da motoschifo »

In attesa di correggere alcuni bug, ho continuato il lavoro per il nuovo sito ed i risultati si stanno dimostrando molto promettenti.
Sono riuscito a rendere i filtri dinamici, ovvero vengono caricati (e visualizzati) solo quando servono. Inizialmente non lo avevo previsto perchè non avrei mai pensato di arrivare a centinaia di campi, ma ora sono costretto perchè vorrei aggiungerne di nuovi più complessi (come la gestione degli insiemi).
Così ho iniziato anche a riscrivere la parte database e per ora ho questi numeri:
- caricamento pagina lista giochi da 600kb a 50kb
- paginazione lista da 200kb a 3kb
- tempi delle query sql ridotte a meno della metà, in alcuni casi anche un decimo rispetto a prima

Si tratta sempre di pagina ancora incomplete, vedremo se questi numeri rimarranno così bassi anche all'aumentare delle variabili e delle funzioni accessorie.
Comunque confermo che il lavoro sarà molto lungo, non ricordavo di aver inserito tanti dettagli e varianti da considerare :on_cry:
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Rispondi

Torna a “Progetto Arcade Data Base”