Ci sono alcuni #videogiochi mobile (quelli un po’ più ricercati, anche se comunque #casual) che è sempre parso non avessero una versione #webapp… uno di questi sarebbe #GeometryDash. Mi ricordo come ai tempi delle medie e persino le elementari lo cercavo per giocarci nel laboratorio di informatica, senza mai trovare nulla, se non qualche #ricreazione in Scratch (in realtà alcune sorprendentemente ben fatte, ma comunque #pezzotte). 😕

L’altro giorno, dopo aver visto sempre quel #gioco in Scratch su alcuni siti, ho pensato “possibile che ancora non c’è il legit?”, e ho cercato sul web, e, con mia sorpresa, ho trovato diverse cose. Per evitare di allungare il brodo, in particolare una che ha causato l’esplosione del mio cervello l’ho già messa sulla #SalaMuseoGames: è un #porting quasi perfetto di Geometry Dash Lite, con tutti e 15 i livelli, e ce l’aveva solo questo sito geometrylite.io. Com’è possibile, da dove l’hanno preso? 😳

Ho detto che è quasi perfetto perché ci sono alcuni dettagli un po’ diversi o meno rifiniti, però comunque tutta roba che inizialmente avrei pensato di attribuire a differenze di versione e magari ottimizzazioni del motore di gioco per il #web, finché non ho provato a giocarci per bene… e rimango dell’idea che sia una trasposizione eccellente, ma ora ho il presentimento che non sia ufficiale; è un gioco #Unity riprogrammato da zero, eccetto per tutti gli assets, che sono evidentemente stati prelevati dalle build ufficiali desktop o mobile. Praticamente lo stesso spirito di quei porting Android non ufficiali di giochi desktop o console. 👽

Ho temporaneamente installato la versione #mobile ufficiale per compararla a questa, per assicurarmi di non star impazzendo, e ho avuto così la conferma davanti ai miei occhi che la fisica è un po’ programmata peggio. In Stereo Madness, in un punto in cui normalmente si può saltellare senza morire (in video), qui si verifica una collisione. Poi in generale, la navicella-supposta (subito dopo nello stesso livello) subisce la gravità più del normale, una minore accelerazione verso l’alto, e si piega un po’ stranamente quando va per atterrare. E ancora, cliccare per saltare manualmente nel momento preciso in cui si sta su una piastrella di lancio fa si che… avvenga il salto basso normale, che prende precedenza su quello potenziato, cosa anormale… e ancora chissà quante altre #minuzie che non ho visto. 🦜

Poi ci sono questi altri microscopici #problemi, tipo che la barra di progresso dei livelli per la modalità pratica è verde anziché azzurra, o che la scia delle navicelle-freccia che si muovono sullo sfondo del menu principale si deforma al cambio di angolo (mentre dovrebbe invece essere un perfetto 90°)… roba da niente di per sé, però da subito a far capire la natura di questa build da ancor prima di impegnarsi a giocare. 🪲

Ad ogni modo, è tutto così ganzo… Il gioco #HTML5 non gira malaccio, neanche sui miei dispositivi mobili (ma su Chromium gira un po’ meglio e frega meno risorse al sistema rispetto a Firefox), e l’ho aggiunto come PWA senza pensarci due volte, considerando che è solo un’icona e non aggiunge monnezza al sistema Android. Purtroppo ad occhio mi sembra bloccato a 30 FPS, ma se mi gira vedrò come hackerarlo per portarlo a 60 (dovrei esserne capace, parliamo di WASM). Se volete giocarci: https://gamingshitposting.github.io/SalaMuseoGames/2024/04/01/geometry-dash-lite/

https://octospacc.altervista.org/2024/04/02/geometrico-nel-brauser/

#casual #GeometryDash #gioco #HTML5 #minuzie #mobile #pezzotte #porting #problemi #ricreazione #SalaMuseoGames #Unity #videogiochi #web #webapp

Geometry Dash Lite | Play Geometry Dash Free

Start playing Geometry Dash Lite, a fun platform game whose levels change difficulty with each beat! It's time to jump, run, and fly to the music!

Geometry Dash Lite

La dualità del fixare #bug (o, in generale, far funzionare il #software?):

  • Perdi almeno 1 ora buona appresso ad un #glitch oscurissimo (spoiler: la codifica del testo centra sempre in tutti questi bug, in realtà estremamente stupidi), facendo svariati test e tentando varie opzioni prima sensate, e poi senza senso perché altrimenti non sai nemmeno come continuare. 🤥️
  • Nel frattempo si è fatto #tardi in culo, ti prepari per andare a #dormire e nel frattempo pensi, ma niente… a metà spegni ormai il PC, finisci di prepararti, e continui a #pensare, e solo a quel punto un’idea ovvia viene in testa. Troppo tardi ormai. 💀️

E poi ancora, perché le #incoerenze non sono mai abbastanza:

  • Giustamente nel letto ti irrequieti e non prendi #sonno, perché il cervello non prende pace senza vedere il #problema finalmente risolto dopo tutta la #pazzia passata, anche scommettendo che l’#idea appena venuta è giusta al 100%. 🥴
  • Però prima o poi il sonno lo prendi, e dopo ore arriva la #mattina dopo, in cui la sveglia suona e… pensi “zzzzzzz voglio stare nel lettino ancora, tanto la #rogna in mente l’ho risolta, chi me lo fa fare di ammazzarmi a prima mattina [prima mattina: le 9:30, ndr.]”. 🥹

Insomma, è una #condanna. Non se ne esce. Comunque si, il mio #errore era #stupido: stavo cercando di caricare #file nella galleria cloud di #WordPress tramite la #API REST, ma ricevevo sempre un rest_upload_sideload_error… controllo gli header, tutti giusti; cerco in giro, poca roba che non mi aiuta; provo #minuzie come mettere gli header lowercase, ancora niente; tento di settare a mano content-type parziali o estensioni file arbitrarie, e ovviamente non risolvo. 🤯️

Però, noto che un caricamento da curl, anziché dal mio #codice JS, va a buon fine. Allora, provo a caricare verso un server netcat in entrambi i modi, così da poter vedere al volo i dati della trasmissione #HTTP, e noto una differenza stronzetta: il corpo generato dal mio #server è molto più grosso del peso normale del file… quindi qualcosa lo sta corrompendo E qui, però, mi sono ribloccata. 🤔️

Solo poi, quando ormai avevo chiuso tutto come ho detto, ci ho pensato: ma io, nella parte del #programma che legge i #dati trasmessi dal client, vado a castare tutto ad una stringa; sarà questa la causa? …E, ricordandomi di altri #incidenti simili capitati in #NodeJS, capisco subito che è così. Detto in breve: la #codifica del testo centra sempre e rovina ogni cosa. Se esistesse solo l’ASCII, ecco che castare dati binari a stringhe non causerebbe alcun danno. E invece abbiamo deciso che i #computer devono supportare nella loro codifica migliaia di #caratteri discutibili, come tutti quelli emoji. E io, dopo aver apportato questo #fix, devo ora continuare a programmare. Non. Se. Ne. Esce. 😭️

https://octospacc.altervista.org/2024/02/09/insetti-utf-nel-mio-codice/

#API #bug #caratteri #codice #codifica #computer #condanna #dati #dormire #errore #file #fix #glitch #HTTP #incidenti #incoerenze #mattina #minuzie #NodeJS #pazzia #pensare #problema #programma #rogna #server #software #sonno #stupido #tardi #WordPress

insetti utf nel mio codice!!! - fritto misto di octospacc

La dualità del fixare #bug (o, in generale, far funzionare il #software?): E poi ancora, perché le #incoerenze non sono mai abbastanza: Insomma, è una #condanna. Non se ne esce. Comunque si, il mio #errore era #stupido: stavo cercando di caricare #file nella galleria cloud di #WordPress tramite la #API REST, ma ricevevo sempre un […]

fritto misto di octospacc