Vai al contenuto

MicroBlog : Fritto Misto di OctoSpacc

gayming web

C'è qualche novità per il web, nell'ambiente dei giochi C# e .NET. Già la roba fatta con quelle tecnologie poteva girare da anni sul web eh, ma... non farò finta di sapere cose che non so (non uso nessuna delle due tecnologie), ma ciò che voglio dire è che i gaymers sono passati all'attacco; ora pare esserci qualche risorsa in più, tipo FNA.WASM.Sample, che fa vedere come portare a WASM un gioco fatto con FNA-XNA. 🤔️

Quindi? Beh, un'idea venuta a caso la settimana scorsa era "cosa se portassi Celeste al browser?", ma non ho poi fatto nulla, presa da altre cose. Volevo quasi quasi iniziare stamane, ma giusto per scrupolo cerco di nuovo sul web "celeste wasm", sia mai che la volta scorsa mi era sfuggito qualcosa. E, nell'arco di precisamente questa settimana, non so se mi hanno letto nel pensiero o spiato spacctorium, ma hanno effettivamente iniziato e finito il fottutissimo celeste-wasm. Un po' mi rode, ma meglio così, ho più tempo per altre imprese. 🤯️

Già a dir poco godurioso, ma qualcosa da sistemare rimane, tant'è che mi sono permessa di aprire la issue #1 per consigliare compressione e streaming degli asset. Vi invito a provare direttamente su https://celeste.r58playz.dev, ma per copyright hanno fatto che gli asset sono criptati e bisogna dare un file da un'installazione di Celeste per decifrarli... se vi serve, non lo linko, ma l'ho caricato sull'homeserver come altre volte, e se ravanate lo trovate. 👾️

can’t have x in direct

Quei gamer che come me hanno nell'animo il PC masterrace, ma nella pratica odiano il tedio contro cui ci si imbatte appena si vuole effettivamente giocare a qualcosa per PC, staranno con ansia aspettando progressi sulla questione di giochi Windows nel browser. Quindi, che ho fatto ieri? ...Un cazzo di niente! 🥰

Ho perso mezza giornata cercando invano di far funzionare prima alcuni programmi di benchmark, e poi Touhou. Ho dovuto installare DirectX 9 per quei programmi, ma poi comunque questi non partivano, perché a quanto pare DX9 non include rendering via software per Direct3D, e in v86 non c'è alcuna GPU. Pazienza, per quelli me ne farò una ragione, non ho vitale bisogno dei benchmark... però per i giochi è una rogna. Sorprendentemente, Touhou 6 parte in questo ambiente mezzo sfasciato, ma c'è un problema: non so come il gioco gira, riesco anche a muovermi nei menu alla cieca e avviare una partita, ma viene renderizzato solo lo sfondo e letteralmente null'altro, quindi non si può effettivamente giocare. (Dettagli più precisi in questa chat qui.) 🤬

Proprio stamattina ho voluto dare una chance a Boxedwine; pensandoci, posso usarlo in maniera complementare a v86, nei casi in cui questo non va bene. Fare tutto tra telefono e tablet (dato che non sono a casa) è stato un casino, tra lentezza generale, memoria che si satura (per questo devo usare due dispositivi alla volta) e via... e ugualmente non è servito A NULLA. A parte il tempo perso (tanto, maneggiare con gli ZIP sullo Ximi non è veloce) tentando di avviare gli ultimi pacchetti distribuiti dall'autore per Wine 1.7 e 5.0, che evidentemente non funzionano (il primo non so perché, il secondo è colpa di #11), usando il pacchetto di boxedwine.org sono riuscita ad almeno avviare il gioco, ma termina con un errore che credo sia proprio lo stesso di Windows 2000. Nella console di Wine vedo prima del crash una riga fixme:win:EnumDisplayDevicesW ((null),0,0x32f898,0x00000000), stub!, che può confermare i miei sospetti, ma non so se centri o sia una coincidenza. Guardando i file di Boxedwine credo ci sia DirectX dall'8 al 10, quindi non sarà un problema di librerie mancanti. 🐞

Se avete idee, per favore suggerite, perché sono proprio alla frutta, ho finito di giocare ancor prima di iniziare. Il problema è che il gioco non parte con software rendering, anche se in teoria potrebbe usarlo, sospetto che cerchi appunto una GPU e halti se non la trova. (Qui ho caricato il log di Wine.) Ieri sera ho fatto anche tardissimo per andare a letto, per via di questa roba, ma vi giuro ci ho messo un secolo a prendere sonno... questa cosa ora mi tormenta e devo risolverla: so che Touhou è abbastanza leggero da poter girare nel browser, se giochi anche molto più pesanti ce la fanno, quindi ora pretendo di averlo nel browser! Voglio giocarci in Sala Museo! Il problema sono ste cazzo di API; possibile che solo sulle console i giochi funzionano e basta? (Dovrò fare un emulatore Switch per il web, a proposito...) 🧱

motori spacc

Qualcosa di estremamente sinistro sta accadendo proprio ora a #Microsoft. Mi sembra più o meno da ieri aver notato sia #DuckDuckGo che #Ecosia impiegare una strana quantità di tempo per rispondere, e stranamente restituire risultati particolarmente irrilevanti, anche su argomenti diversi e in momenti diversi della giornata. Nel frattempo invece Google, nonostante la sua generale enshittification, restituiva i risultati soliti. Già la cosa puzzava, però ho pensato che magari fossi io ad avere il cervello bruciato in quel momento, quindi non ci ho dato troppo peso. 🤥️

Però stamattina i #problemi peggiorano. Addirittura ora i due motori non mostrano proprio più risultati... mentre invece sia #Bing che #Yahoo (che usa Bing come backend, si veda il suo footer) funzionano come al solito. Oddio, quasi: per qualche motivo, provando ad aprire le pagine di Video o Immagini o chissà che altro, su Yahoo qualche volta mostra qualcosa ed altre no; invece su Bing o mostra una versione HTML semplificata dei risultati testuali, o un errore "It's not you, it's us. Bing isn't available right now, but everything should be back to normal very soon.". 👹️

Considerando che anche Bing sta avendo problemi, questo non mi sembra un tentativo di Microsoft di sabotare la "concorrenza" a cui lei stessa offre il servizio, però è un bel casino. Il problema ovviamente non è mio, ma tanti altri utenti si stanno giustamente lamentando; cercando con quei pochi engine ancora rimasti funzionanti ad oggi, leggo "DuckDuckGo down updates — Search engine not working leaving thousands furious as major outage also impacts Bing users" e "Is DDG down?". Ed ecco a tutti noi servito il conto del fatto che saltano fuori motori di #ricerca come funghi ultimamente, ma tutti in qualche modo che fanno da frontend per altri motori, e mai roba che sia effettivamente nuova. Il mercato corrente fa così piangere. E secondo me in questi #disservizi la causa è che qualcuno a MSFT sta modificando il sistema per integrare meglio l'AI al suo interno, o qualche altra schifezza... 💢️

finestre wasmanti

Ieri sera su spacctorium è stato sollevato un dubbio su se sarebbe possibile o meno emulare eseguibili Windows sulla #SalaMuseoGames. All'inizio ho detto che in teoria si, ma in pratica no, dopo che tutti i miei tentativi risalenti a pochissimo tempo fa sono sempre falliti in partenza... Però poi ci ho voluto pensare un attimo, e mi sono chiesta: davvero se Boxedwine non esegue qualcosa, tutto il resto gira talmente male che ci dobbiamo accontentare di non avere un cazzo? A quanto pare, la risposta è no. 😜

Boxedwine è praticamente un emulatore x86 che include un sistema Linux striminzito e una runtime Wine vecchissima (per qualche motivo non sono riuscita a far partire versioni più nuove lì dentro), e quindi anche con pesanti mancanze di compatibilità, che può girare nel browser. È abbastanza impressivo, ma dai miei test, quelle pochissime volte che qualcosa riesce a girare, lo fa veramente male, per colpa degli strati. Mi chiedevo quindi se magari ci fosse qualcosa di meglio, e cado quindi su v86, che già conoscevo da tempo ma non avevo realizzato prima quanto fosse basato: usa una tecnica di codegen WASM per sfruttare il JIT del browser come JIT del motore x86 (che è l'unico modo praticamente, il browser può ricompilare JIT il codice che deve eseguire, ma questo codice non può a sua volta ricompilarne altro). 🪨

In sostanza, questa soluzione è molto più veloce di quanto i miei test superficiali (ad esempio, navigando in Windows Explorer) mi portavano a pensare (per quanto Windows di 20 anni fa riesce ad essere sorprendentemente reattivo lì dentro, persino su browser mobile, dove invece Boxedwine si impalla al suo boot), e credo sia lo stato dell'arte. Fino a poco fa ho dovuto risolvere (o aggirare...) dei problemi (tra cui uno veramente stupido per l'audio su Windows 2000, ho aperto una issue mezza per niente aiuto sono tremenda), ma poi ho finalmente potuto far partire uno dei giochi vecchi che avevo da parte sul PC, e... 🤫️

Boh, giudicate voi dal video! Midtown Madness che gira su Windows 2000 dentro questa roba, sul mio PC fisso, ed a dettagli minimi è sorprendentemente giocabile per il contesto. Gira persino meglio di come gira in DOSBox-Pure sui miei dispositivi Android (dove spesso bisogna addirittura rinunciare al JIT perché Windows 9x sennò è instabile). Per quanto non posso promettere che riuscirò effettivamente a mettere giochi Windows sul mio sito (anche se sarebbe un sogno, un ulteriore passo avanti alla concorrenza for-profit), questa roba è decisamente promettente. 🤯️

I margini di miglioramento comunque ci sono. Innanzitutto, magari 9x gira meglio per alcuni giochi, e quindi nel caso si preferisce quello; poi, per quanto i Windows d'epoca non avessero tutto questo bloat, penso che almeno qualche FPS in più uscirebbe fuori togliendo vari servizi inutili (e uccidendo Explorer); se tutto va male poi possiamo tentare (dato che abbiamo i sorgenti illegali) di ricompilare componenti di Windows con ottimizzazioni o robe, e infine potremmo sempre implementare delle hack in v86, anche specifiche per ogni gioco (praticamente HLE). L'hosting soltanto potrebbe essere rognoso, perché le immagini disco vanno preparate in un modo che non vi sto a spiegare ora, ma ci sarà da impazzire (non tanto per il sistema base, ma coi giochi di mezzo si). 😷

the wasm is amogus

Ormai ho preso il brutto vizio di aggiungere giochi alla #SalaMuseoGames solo quando ho voglia di fare miglioramenti tecnici, perché a quel punto ragiono "vabbé, ho passato tutti questi quarti d'ora a progettare e programmare, già che ci sono lo metto un giochino nuovo"... però quando lo faccio, mi stupisco sempre di cosa riesco a trovare! 🤭️

E infatti, un'ultimissima aggiunta è proprio AMOGUS, con una build web trovata su uno dei soliti siti adware. Potete giocarci qui, anche questo è sorprendentemente ben fatto per un clone, e nonostante sia solo offline ha anche tipo la chat con i bot... troppo effort: https://gamingshitposting.github.io/SalaMuseoGames/2024/05/19/among-us/. È giocabile pure su mobile, anche se la gestione degli input touch è un po' arronzata. 🚀️

All'inizio ho infatti pensato fosse qualche versione demo ufficiale o boh poi ritirata, ma ho scoperto che non è così appena ho provato ad eseguire il gioco dopo averlo caricato sul server, perché faceva stranamente freezare la pagina; e quindi io giustamente apro la console JavaScript per vedere che cazzo succede, ma leggo… "DO NOT STEAL MY GAME!". ...Oooopsie! Non era mia intenzione, giuro, volevo solo creare un mirror per i posteri come al mio solito. Risolvere questo intoppo è stato un bel #grattacapo. 🦧️

Considerando che su localhost il gioco funziona, oltre al sito da dove l'ho tirato, è evidente che da qualche parte controlla il dominio. E ho verificato che non importa l'URL relativo della pagina, ma appunto solo il dominio. Teoria nel complesso poi confermata dal fatto che lo stesso crash avviene se apro la pagina servita dal mio server locale usando un indirizzo diverso, ossia 127.0.0.1, che non sarà whitelistato nel codice. Si, ma nel codice dove? Ah non lo so io! Lo vedete anche voi che lo stacktrace dell'errore in foto non è molto utile (non solo perché molte funzioni sono anonime, ma perché non si riesce a decodificare quelle che provengono dal WASM anziché dal JavaScript). 😔️

Vi risparmio il racconto di tutti i primi tentativi falliti per trovare dove avvenisse il controllo del dominio, per colpa del mio essermi fissata su oggetto location e affini; comunque era chiaro che avviene all'interno del WASM, e non si riescono a trovare stringhe utili da nessuna parte. Mi sono sbloccata in realtà solo quando, vedendo che un altro modo per ottenere l'URL della pagina corrente è leggere document.URL, cercando appunto la parola document nella sezione WASM che lista le funzioni JS importate, ne ho adocchiata una _JS_SystemInfo_GetDocumentURL. Certo abbastanza, la riesco a trovare nel codice colla JS e, al primo tentativo di patcharla per farle restituire sempre http://localhost/ anziché il valore vero, ecco che ho aggirato il #DRM minchione. ⛏️

Un'altra vittoria ottenuta grazie alla relativa facilità del reverse engineering sulla piattaforma web! Eppure, questo mi fa pensare... ma possibile che non ci siano debugger migliori di quelli esistenti? Non mi risulta sia neanche possibile inserire breakpoint quando, per esempio, qualcosa sulla pagina semplicemente accede ad una variabile globale. Per non parlare poi dell'oscurità dei binari WASM, che se cercate di mettere le mani lì dentro avete già sbagliato strada ed è meglio se tornate a leggere il glue code... idk, suggerimenti? 🤥️

Non ho molto da dire a riguardo, però dal niente la sto vedendo un po' condivisa in giro (forse perché le firme sono aperte da pochi giorni), quindi ecco qua: https://citizens-initiative.europa.eu/initiatives/details/2024/000001_it. iniziativa dei cittadini europei per vietare le cosiddette pratiche di conversione in Unione Europea, seguendo un vecchio appello delle Nazioni Unite che le ha definite come tortura e ne ha auspicato la messa al bando globale.

Quella lì è la pagina con il testo completo dell'iniziativa (che, per chi non sa come funzionano queste cose dell'UE, non è la legge in sé, ma solo la richiesta), mi sembra adeguata. E invece questa la pagina per firmare, che sarebbe una cosa buona, altrimenti un giorno potreste fare pure voi la fine di Alan Turing (oltre a quella di tanta altra gente non passata alla storia): https://eci.ec.europa.eu/043/public/?lg=it. Basta essere maggiorenni e, o compilare un modulo, o accedere con SPID/CIE (come per tutte queste robe UE).

Il termine è tra appena un anno, quindi il tempo c'è, però comunque le firme devono arrivare. In generale servono almeno 1 milione di firme, e la raggiunta del tetto minimo per paese con almeno 7 paesi (di nuovo, vale per tutte le iniziative, vedi https://citizens-initiative.europa.eu/how-it-works_it). Se siete veri europei dovete votare, per fare la vostra parte nel far valere la supremazia del blocco occidentale-ma-non-troppo!

catturscheda moment

Alla fine la famigerata catturscheda #HDMI è arrivata, assieme a tutta la roba qualche giorno fa. Lasciamo il resto per le prossime volte, ed ora... #recensione della chiavetta magica del video colorato?! Ci ho giochicchiato un po' in streaming sia dentro casa per vedere, che stamattina per vedere seriamente e semplicemente wow, certe volte non essere tirchia è molto utile. https://it.aliexpress.com/item/1005006204070137.html

Foto del fronte della chiavetta davanti al 3DS, che con la camera frontale accesa mostra per sfizio il retro, che si vede e non si vede.
Questa è esteticamente, e a dire il vero non sembra per niente cheap, nonostante il valore di 3,87 euro, col corpo in metallo... ed è proprio essenziale, mi piace. La spina USB è molto lunga e sporge un po' dalle porte, ma forse è un bene ed è fatto apposta per evitare si spezzi se sotto tensione? Esce come dispositivo video standard, niente software proprietario, e, per quel poco che ho provato, a risoluzione standard (il resto non so), non scalda nemmeno. Non ho quantificato l'eventuale lag, ma a occhio va bene, si gode. 👾️

Avrei voluto provarla venerdì mattina, ma potendo ora chiudere il portatile (non mi serve più la webcam puntata al display di Switch) potrei dimenticarmi che questo è acceso, spegnere la ciabatta, e quindi far spegnere il computer dato che lo tengo senza batteria (per evitare di rovinarla)... ed è esattamente ciò che è successo quel giorno, ma a quel punto ero in ritardo. Stamattina è riaccaduto lo stesso incidente, ma 2 minuti di tempo li avevo, quindi ho rimediato... Però cazzarola, mi serve un modo per inserire la password di decifratura del disco che non mi richieda di scriverla a mano. ...Ma io digresso.

Nonostante il bilancio positivo, qualcosa mi lascia un po' perplessa... Perché aumentando la risoluzione (a 1080p ci arriva btw) su OBS viene impostato un framerate molto più basso del default di 30, anche se pare si possa poi rimettere su? Perché su VLC non riesco a scegliere risoluzione e framerate? Actually, perché di default va a 640x480@30? E perché, dopo che smanetto un po' coi settaggi, OBS non la riconosce più fino al riavvio del computer? (Non so la risposta, ma spoiler: realisticamente, solo uno di questi problemi è da imputare alla pennetta; tutto il resto è colpa del software che muzunna fa tutto schifo non funziona mai niente, e Linux è rotto, e Windows è rotto, e Android non ne parliamo, e il mio kernel scoppia, e l'userspace si spacca, palleeeeeeeee—

Dicevo, nel frattempo che ho fatto testing di questa scheda, ma non per colpa sua, ho anche scoperto che non ho per niente chiuso con FrameNX, ma devo fare ancora altri bugfix. Innanzitutto, se un dispositivo video viene rimosso mentre è attivo, esce fuori un memory leak grosso quanto l'Africa (e ciò non è ottimale). Poi, sembra esserci qualche problema con la selezione degli input audio; sul fisso non ho ancora ricontrollato, ma sul portatile pare la app non voglia proprio saperne di riprodurre l'audio della scheda di cattura... e infatti per giocare ora ho dovuto usare Audacity per riprodurre live l'audio senza registrare, peccato che quello prende il 30% di CPU da solo, portando il PC in ebollizione e la mia stanza a cottura. C'è poi una cosa che insomma, per me che faccio cloud gaming non è importante (il default come detto prima mi sta bene), ma a pensarci mi sta ugualmente sul culo... dovrebbe starci qualche modo per configurare risoluzione e framerate video, però buona fortuna, perché non sembra che pygame.camera esponga le API necessarie! 😭️

volpi infinite.

Stamattina tra diverse distrazioni sono finalmente riuscita a creare cloni della app di #Firefox (Fennec, aka v68) per #Android, senza ricompilare da sorgente... cosa che ieri sera stavo per arrendermi a fare, ma ovviamente ho constatato che non funziona nulla, col build system loro e i sorci vecchissimi. Dopo non pochi tentativi con estrattori ed editor di #APK a non finire (mentre che stavo in realtà cercando di crackare un cloner di app molto pay to win, lol) scopro che Lucky Patcher ha una sua funzione di #clonazione. Perché non fare un tentativo allora? 🤥️

  • Sul Rattoppatore apro l'APK, faccio Rebuild > Clone application, e seleziono solo Modify only AndroidManifest.xml, Change sharedUserId, e Change application name, e lo lascio fare. E... l'APK emesso si installa e gira. 🤯️

Era davvero così semplice? Evidentemente si... ma, in primis il nome non è cambiato correttamente, e quindi non appare diverso in alcuni launcher... e poi l'icona rimane uguale, che è un po' un problema quando devi differenziare tra il clone e la app originale. Per sistemare queste rogne servono per forza altri strumenti, quelli che da soli non stavano funzionando, e allora:

  • Uso apktool d -r -s per estrarre il nuovo APK senza decompilare niente (altrimenti poi la ricompilazione fallirà).
  • Uso xml2axml per "deoffuscare" il manifest, fare queste modifiche, e poi "rioffuscarlo" (altrimenti l'APK non sarà valido):
    • Cambio l'unica proprietà android:label tra le tante nel file che ancora riporta il nome passato della app.
    • Cancello tutti gli attributi XML che risultano vuoti (coso="") (3 nel mio caso), e cancello i nodi a cui appartenevano se non hanno altra roba, altrimenti si incappa nel bug #3.
  • Modifico a mano l'icona PNG più in alta risoluzione che ho trovato già nell'APK, poi la ricopio sovrascrivendo tutte le vecchie (si, anche quelle a più bassa risoluzione, non da problemi): find -name ic_launcher.png -exec cp icona_nuova.png {} \;.
  • Riassemblo con apktool b, poi per firmare e allineare l'APK usando questo uber-apk-signer (è una manna dal cielo trovata stamattina, funziona e basta evitandomi i tremila cazzi altrimenti necessari).

Onestamente, non capisco perché modificare il nome del pacchetto con le stesse accortezze che per clonare tutte le app semplici vanno bene, in questo caso non basta e porta il browser a crashare... ma ho visto che il Fortunello cambia giusto qualcosina all'interno del codice Dalvik, shiftando lettere di poche parole scelte in base a non so che criterio, portandole semplicemente una lettera avanti come già fa per il nome del pacchetto. 🧮️

Close-up del Galaxy con le nuove volpi installate.
A proposito di questo... si, per creare un clone 2 con questo metodo bisogna partire clonando il primo APK clonato, e così dall'APK 2 per creare un clone 3, ecc... tedioso. I wish che Lucky Patcher facesse semplicemente scegliere il package name desiderato, ma purtroppo questa è la cosa. Con queste condizioni, almeno 5 minuti di lavoro per creare ciascun clone ci vogliono, quindi: per non perderli io, e nel caso servissero a voi, metterò i miei vari APK qui (Fennec F-Droid Old armeabi-v7a Latest Collection.7z). ♻️

msx more like sex

Questa non è un'ode all'MSX (me la terrò in serbo per una prossima volta), però cazzo se è buono l'MSX. Ora che lo guardo un pochino meglio, per molti versi sembra decisamente più allettante del NES, e mi sa che rischia di diventare la mia piattaforma #retro preferita, dal punto di vista dello #sviluppo #software. (Riguardo il gaming invece, si continua ad andare semplicemente dove stanno i giochi volta per volta, il resto conta meno di zero.) 🥶️

Lo stereotipo che i giochi #MSX scrollano di cacca in parte è vero, e certamente il NES sotto quel punto di vista rimane migliore, però per il resto... l'audio è oggettivamente migliore (ha più roba dei 4 canali), il video negli altri ambiti è più potente e flessibile con anche diverse modalità (e con MSX2 diviene tutto ancora meglio), e per il resto... l'MSX è uno standard per home computer, non una console, per cui si gode di più memoria senza bestemmie, supporto di prima classe a dispositivi come mouse e tastiera, o anche espansioni più oscure. 👹️

Volendo quasi quasi programmare per questa piattaforma quel recente giochino che ho in mente, perché credo di riuscire a fare qualcosa di artisticamente più valido con le limitazioni d'epoca (ma sento che il NES rischia di essere un mal di testa troppo grosso), ho provato a cercare qualcosa... E inizialmente mi stavo un po' scoraggiando, non riuscendo a trovare materiale soddisfacente, ma continuando a scavare ho trovato MSXgl; sembra una #libreria multimediale eccellente, permette di #programmare in #C con astrazioni comode per quasi ogni cosa. La documentazione non è perfetta, molti dettagli non sono detti quindi un po' ho dovuto guardare i sorgenti dell'engine e degli esempi, e un po' cercare in giro... ma è comunque sorprendentemente ottima. 😻️

Per iniziare a prendere familiarità col tutto, ho fatto giusto questo po' ora: una ROM che mostra due linee di dialogo senza senso all'avvio, e poi cambia scena e inizia a riprodurre una musica. Ovviamente, gli assets sono quelli di #esempio, non ho ancora iniziato a produrre nulla, anche perché devo prima capire quale modalità video è la migliore per questa mia applicazione... 🧐️

azzardo biciclett

Continuando a parlare di #gioco sia d'azzardo che non, ieri sera su spacctorium siamo arrivati alla conclusione che l'unico mezzo di #trasporto civile palloso è la moto, perché è l'unico sul quale non puoi giocare a carte. A pensarci ora un attimo meglio non so come classificherei i monopattini però, perché dipende... esattamente come dipende per le biciclette, mezzo per cui abbiamo però decretato che si può giocare a carte (almeno, farti un solitario, perché giocare in multiplayer la vedo complicata). Pensateci, anche se è abbastanza pericoloso e un po' scomodo, se hai il cestino portaoggetti, non vai troppo veloce, e non c'è la bufera, a carte ci puoi giocare. E credo che non sia nemmeno illegale, essenzialmente l'unica cosa che faresti è stare lì a riordinare oggetti mentre ti muovi... 🎴

Da qui però mi viene un ulteriore dubbio: si può giocare a Mario Kart DS (o qualsiasi altro videogioco che richieda azione in tempo reale) stando in bici? Fisicamente è anche più semplice che giocare a carte, soprattutto se fai una bella cosa e integri un gamepad nel manubrio, piazzando dei tasti in modo che questi siano comodamente accessibili tenendo le mani nella stessa posizione che normalmente si usa per muoversi in bici. Poi, ma questa è una cosa che è già comune fare per la navigazione GPS, si piazza davanti un display grande a piacere, magari in un modo che sia facile da vedere anche con la visione periferica (così da vedere lo schermo mentre si guarda la strada, e non il contrario). È giusto che, mentre si usi la bici per allenare il corpo, si usi il #videogame per allenare la mente. 🎮

I #dubbi grossi però sono due: siamo sicuri che non si finisca a fare confusione tra il movimento nel gioco e quello reale, e poi, che sia legale? Per verificare il primo problema bisognerà testare sul campo, mentre la sola esistenza del secondo mi fa ritenere che non è il caso di provare senza prima avere ulteriori informazioni. Bisognerebbe chiedere ad Angelo Greco, perché sul web non è che ho trovato molte informazioni a proposito, però... il gioco d'azzardo mi piace, e quindi azzarderò una teoria intanto. È legale perché non esiste alcuna legge (qui sto assumendo che il mio non aver trovato sia proprio per l'inesistenza) che vieti in qualche misura di videogiocare con console o computer alla guida (anche se probabilmente se giochi a MKDS in autostrada il culo te lo fanno uguale, just sayin'), ma solo in particolare l'uso dei cellulari e mazzi vari; e, ad ogni modo, credo che quest'ultimo divieto non si applichi alla guida in bici (o almeno, non allo stesso modo). 🦧

Purtroppo non ho trovato precedenti in Italia per ora, quindi in ogni caso non si può ragionare in base a quelli, però a Taipei c'è il nonno che gioca a Pokémon Go con ormai 64 cellulari (uno stack!) al punto da avere la vista della strada pesantemente ostruita, e non sembra essere mai stato arrestato. Quindi, perché qualcuno dovrebbe rompere le palle a me se tengo uno schermo discreto e non alzo nemmeno le mani dal manubrio? In effetti tutto ciò avrebbe senso, l'atto di andare in bicicletta (sto supponendo sempre non-elettrica in questo discorso) è molto più comparabile al correre a piedi velocissimo, piuttosto che al condurre un mezzo, non essendoci neppure un motore... e mi risulta che a piedi sia legale muoversi anche tenendo ipoteticamente gli occhi incollati a un cellulare, una console, o persino un libro o un giornale. (E l'attenzione visiva richiesta per leggere qualcosa è molto più alta di quella per videogiocare al titolo Nintendo medio... date retta a me, che al liceo giocavo tenendo un occhio sulla console e uno sulla professoressa...) 🕯️

Al momento non ho ancora proprio una bicicletta, quindi queste restano tecnicamente pippe mentali, ma la bici è molto accessibile e potrei decidere finalmente di prenderla magari, quindi si tratta di pippe con moderazione. Quasi quasi, altra idea di ieri, sarebbe figo comprarla coi soldini di Microsoft Rewards... sembra una battuta, ma con 6 account, calcolatrice alla mano, un centinaio di euro li faccio in sei mesetti (senza contare il fatto che ne ho già tanti di punti accumulati), e con quelli avoja, qualcosa sia su Amazon che da Decathlon (meglio) trovi. Ovviamente, dopo sarebbe appunto da verificare la legalità del gaming, perché farsi arrestare e incarcerare soltanto per il meme non mi sembra una cosa ottima. (E, molto probabilmente, anche se fosse illegale, se lo fai e basta nessuno ti sgama... ma se è per il meme, bisogna anche filmare il video e metterlo online, ma condividere con il mondo la prova di un tuo reato non è una cosa furba e quindi ecco, bisogna fare attenzione... vabbè, nella legge italica i buchi si trovano sempre in ogni caso, il legislatore non ha previsto la perseveranza di noi gaymer...) 💹