Vai al contenuto

MicroBlog : Fritto Misto di OctoSpacc

not even gaming!!!

Torniamo a parlare del cloud gaming appezzottato, perché la mia soluzione richiede evidentemente ancora perfezionamenti. L'importante è avere #pazienza e sperimentare il necessario man mano, e forse dopo abbastanza settimane avrò effettivamente il perfettissimo setup... ormai sono fin troppo dentro questa questione per tirarmi indietro. 😱

La prima cosa è che devo al più presto ottenere la scheda di cattura ultra-cheap, perché SysDVR è un problema per l'esperienza utente. (Devo ancora ordinarla in realtà, stavo nel frattempo però cercando altra roba che mi serve su AliExpress, così da fare un solo ordine e ridurre l'inquinamento.) A parte il fatto che (come ho già detto) i menu di sistema non sono specchiati, e quindi in certi casi devo guardare la webcam, i #difetti sono vari: dovendo fisicamente collegare la console al PC anziché alla dock, può capitarmi di sbagliare qualcosa, soprattutto stando di fretta come stamattina. Anche perché, collegando direttamente al PC, la batteria si appiattisce troppo velocemente, quindi devo aggiungere il cavo Y, e quindi complessità (che comunque non è abbastanza per permettere la ricarica, ma solo una scarica più lenta, lol). 🗑️

Stamattina, tra il dover ricaricare il telefono, l'evitare di perdere il bus, e finire di vestirmi, ho mischiato i collegamenti tra Switch e PC, cavo Y e cavo USB-C, e l'ho realizzato solo fuori casa, quindi riuscivo a collegarmi solo tramite rete... ci ho anche provato, ma evidentemente le prestazioni sono totalmente inadeguate per giocare. La cosa più logica da fare è stata messaggiare mio padre a casa e chiedergli il piacere di risistemare i cavi nel modo giusto e, dopo un po' di confusione perché gli avevo dato indicazioni parzialmente errate sullo stato presente dei collegamenti, ha sistemato tutto e la console è apparsa sul PC. Eccetto che ha anche panicato nel frattempo, e quindi ho dovuto chiedere a mio padre di premere i tasti del volume per riavviarla. E poi, visto che sulla schermata di blocco lo schermo non rimane acceso sempre, non ho fatto in tempo a premere tasti per sbloccare e ho dovuto chiedere anche questo a mio padre. 🪃

Nel frattempo, i #problemi ci sono anche per quanto riguarda gli input del gamepad, ovviamente... Ieri ho scoperto mio malgrado (perché pensavo di provare ancora a giocare fuori casa, ma ecco che non ho potuto) che sys-botbase in certi casi (chissà quali!) può buggarsi e non interpretare più i comandi che riceve, costringendo ad un riavvio del sistema. La soluzione sarebbe magari riavviare ogni volta prima di uscire di casa, così da stare senza pensieri. Intanto però scopro anche di dover migliorare la gestione degli input sul mio programma, aggiungendo quantomeno una deadzone per gli analogici, altrimenti spesso può succedere che gli input driftino una volta rilasciati, e capite che questo è un bel problema. (Chiaramente, i giochi che usano solo i tasti sono già perfettamente operabili, ma quelli e solo quelli lo sono anche su NXController, dove invece gli stick finiscono per essere interpretati digitalmente e quindi fanno movimenti estremi.) 🧼

Segnalo comunque che ho scoperto di usb-botbase, che fa la stessa cosa della versione sys ma appunto via USB, e quindi dovrebbe sicuramente essere più stabile (e forse riesce a risvegliare la console dalla modalità riposo, ma non so). Se non programmassi di passare a scheda di cattura, e quindi continuassi a tenere collegata la Swiss al PC, lo implementerei subito su #FrameNX. Si vede che continuerò ad usare il WiFi per inviare gli input allora, con le giuste accortezze... e se proprio proprio tutto va male (ma è difficile dai), allora comprerò un Arduino e implementerò il protocollo per usare quello come controller simulato via hardware, e ciò sarebbe effettivamente infallibile (e andrebbe anche su console non modificate, figata). ⛓️

la fine di emezon

Ora vado a mimir e non sgarro come ieri sera, ma devo interrompere l'incessante pubblicazione delle mie avventure col cloud gaming perché sono un po' pisciata giù... devo per l'ennesima volta creare un fantoccio mentale di Bezos per distruggere la sua schifossissima piattaforma, che non sembra migliorare e sembra che me lo stia sempre più infilando (il brutto modo di fare) lì sotto in mezzo (nella logica di backend collegata al mio account). 🎃

L'altro giorno sono arrivati i nuovi #manga che avevo ordinato, le ultimissime tante decine di euro del #BonusCultura che ho dovuto spendere esattamente all'ultimo minuto (come sapevo sarebbe successo), ma come mi ero ripromessa non ho lasciato allo Stato comunque nemmeno un euro. (Gli ho lasciato 60 centesimi, perché Amazon non accetta buoni non interi, si prendessero il caffè idfc.) Stasera sono passata a prenderla e portarla a casa; con qualche difficoltà, visto che è stata divisa in 2 pacchettini (evidentemente gli scompartimenti larghi del bloccatore erano pieni), ma ce l'ho fatta. 🎎

Boh, a esserci la roba c'è tutta, ma forse non proprio come mi aspettavo... chiaramente nulla può mai essere intonso, e bene o male maggior parte delle cose è arrivata comunque intatta, ma qualcosa mi ha fatto storcere il naso. Si parte da uno o due #libri poco più ammaccati del solito, ma che comunque non si noterebbero rovinati senza pensarci troppo, per passare ad uno in particolare con la copertina specialmente rovinata con anche un taglio sul lato che va a creare un'orecchietta... e addirittura un altro che pare ok ma secondo me è stato letto da qualcuno; cioè, la copertina esterna da un lato era richiusa non perfettamente su quella interna, ma su alcune pagine, praticamente come a tenere il segno. Vabbè, le pagine ci sono tutte, a prima vista, almeno... 🪆

In genere quando ho potuto ho sempre comprato in libreria e in fumetteria, sia per comodità che filosofia, ma ogni tanto è capitata la roba che non c'era, e in questi ultimi casi specifici dovevo di fretta spendere questi soldi, non ce l'avrei fatta nei negozi fisici considerando che avrebbero dovuto a loro volta ordinare un sacco di cose e avrei dovuto aspettare. Però, le volte precedenti non mi sono successi #incidenti così strani con i libri da #Amazon, quindi pensavo fosse più raro... e invece no, la frequenza di recensioni negative per spedizione fatta male è altina per un motivo. Considerando che i libri piccoli li buttano tutti mezzi a cazzo in quei pacchetti di cartoncino, però, non mi devo stupire. Chissà se posso fare rimborso... se mi chiedono di rispedire indietro, neanche per sogno, ma se mi danno i soldi e basta (e non è detto, avendo pagato col saldo promozionale) allora ci provo. Morale della favola: meglio spendere i vostri #soldi in negozi reali visibili toccabili odorabili, se potete. 🦜

Come se non bastasse, e questo non l'avevo detto perché avevo come il presentimento che sarebbe a giorni arrivata una migliore occasione per lamentarmene (questa, #mannaggia), ma mi hanno ingiustamente sgraffignato 2,90 eurini quando ho fatto questo ordine. Per qualche motivo, avendolo fatto dalla versione mobile del sito, in questa occasione ho avuto una schermata di checkout che non ricordavo di aver mai visto prima: è a dire il vero meno buggata, ma (apparentemente?) con meno opzioni, ed evidentemente troppo rapida. Avendo la stessa grafica del carrello, ho continuato selezionando le opzioni necessarie senza pensarci troppo, immaginando fosse qualcosa di intermedio e che alla fine sarebbe dovuta apparire la schermata classica. Però, ho notato solo dopo aver premuto il grosso bottone giallo in fondo, che questo diceva qualcosa come "acquista ora", e non "continua" o chissà che cosa mi immaginavo... 🤳

...Quindi, la roba mi è stata spedita con il prezzo premium, nonostante sia ovviamente arrivata in tempi da #spedizione gratuita, perché il tasto per non pagare non c'era, e non mi sono fatta troppe domande perché sulla schermata di acquisto classica quella esce solo alla fine, dopo che ho già scelto il pagamento. (Ah, ovviamente di default era anche in questo caso selezionata la spedizione da 20 schei, ma quella non avrei potuto usarla neanche per sbaglio, non avendo abbastanza credito.) Non ho annullato per paura che il saldo promozionale potesse sparire or smth. #Morale della favola: non spenderò mai più soldi su un sito mobile, se proprio ho solo il telefono con me allora almeno attivo la modalità desktop, così vedo per forza tutto e non ci sono esseri dietro le pareti. Unico lato positivo, queste 3 monetine erano di Bing Rewards, quindi non proprio risparmi sudati... 🙏

(FrameN)X.

Sono sicuramente un po' paxxerella per iniziare nuovi progettini mezzi complicati ancora prima di finire i precedenti, ma che ci voglio fare? Quantomeno, a 'sto giro ho effettivamente portato #FrameNX, il programma iniziato ieri, ad uno stato di completezza, tant'è che da ora penso non avrò alcun intoppo ad usarlo... e quindi l'ho anche rilasciato già stasera pubblicamente con tanto di README quasi logorroico (il link di stamattina era privato): https://octt.itch.io/framenx 🪟

La UI è ancora grezza, ma ho migliorato i messaggi a schermo, aggiungendo avvisi a scomparsa quando si verifica un errore o viene fatta un'azione (qualcuno l'ho dimenticato però oooops, dovrò metterlo, ma poca roba). Funziona in ogni caso solo con la tastiera, perché il mouse è dannoso e #programmare le hitbox sarebbe uno sbattimento in più per nessun buon motivo, dato che comunque questa per ora è una #applicazione solo PC. (Ormai si sta costruendo una lore dietro questa interfaccia, ops.) ☠️

In realtà sotto la scocca quella UI è comunque più complicata di quanto sembra, anche se è relativamente semplice, perché in primis già solo per le notifiche ho dovuto implementare tutto un sistema di coda... poi ho dovuto mettere il rendering video su un thread separato, perché l'accesso alla camera rallentava tutto il loop e quindi avrebbe inficiato sulla lettura degli input... ma spostarmi su un thread di sfondo ha introdotto non pochi casi limite strani che ho dovuto sistemare con ancora più codice... Comunque relativamente poco #codice, perché il #Python è simpatico e non è stato creato da gente che vuole vedere gli altri programmatori impiccarsi. 🦍

Btw, ho continuato a trovare altri problemi in #Pygame... Innanzitutto, un bug strano con lo stack dei joystick (cioè controller da gioco in generale, direi che il nome è scelto malino) che fa si che questi non mandino più eventi dopo essere stati inizializzati se non se ne tiene qualche reference nel codice (come una variabile assegnata che non muore), come se fossero levati dal garbage collector altrimenti... stranissimo. E poi, il fatto che per riprodurre il suono di dispositivi di input audio, tra metodi non wrappati e quindi richiamabili solo con la API grezza di SDL2, stack audio buggato in generale e comandi che letteralmente non sortiscono effetto, altri comandi che invece causano segfault alla chiusura del #programma... mi pare di stare programmando con una tempesta di raggi cosmici addosso. Ciò non lo gradisco. 😾

framionx..

Ieri ho effettivamente provato un po' il #gaming Switch dal 3DS in portatilità, alla fine, e... che dire. 7/10. Certo, ogni tanto la connessione fa scherzetti e il gioco inizia a freezare per un po', ma nel complesso si gioca con un lag accettabile e un video senza strani artefatti, veramente apprezzabile. Devo però capire perché in certi rari momenti il client crasha completamente invece di riuscire a ristabilire la connessione, e temo anche la batteria del 3DS si appiattisca troppo velocemente con questa #applicazione... ma vabbè, a sistema consolidato potrei anche usare il telefono. 🐚

Visto che voglio provare meglio il setup, mi sono portata avanti e ho fatto un programmino per #PC che legge direttamente gli input del gamepad virtuale e li invia alla #console; quindi, eliminando quegli altri due programmi necessari, sostituendoli con uno solo. La finestra inoltre visualizza il video da dispositivi di cattura standard, e quando lo implementerò riprodurrà anche audio, quindi sostituirà anche il riproduttore multimediale... per ora non ho ancora la scheda di cattura HDMI, quindi devo ancora usare SysDVR, ma almeno mi mostra il video della webcam (che mi serve per navigare nei menu di sistema, il DVR non lo trasmette), quindi già scendo da 4 app e finestre a solo 2. ✨️

Implementare la lettura degli input del controller, e l'invio al demone sys-botbase tramite socket TCP, è stato un po' intricato, ma alla fine il codice è venuto pulito, i tasti rimappabili tramite file config, e sorprendentemente sembra tutto ben funzionante dal primo momento... Nel senso, i comandi sembrano rispondere bene senza particolari accorgimenti; anzi, anche meglio di NXController, perché io invio direttamente i valori degli stick analogici alla console, mentre lui deve leggere valori rimappati alla tastiera e quindi tutti digitali. In effetti non ci avevo pensato quando mi era venuta questa #idea, ma effettivamente ho migliorato la mia #UX anche in questo modo, ora ho input più precisi. 🤏️

Volevo inizialmente usare Ren'Py, ma ho subito scoperto che non include funzioni per accedere ai dispositivi video, né tantomeno ha la classe camera nella sua implementazione di #Pygame, quindi... ho usato semplicemente Pygame, e in poche righe di codice funziona già tanta roba, anche se la UI non è delle migliori. Dovrò investigare se davvero non ci sarebbe stato verso di usare l'altro engine oppure si, perché potrebbe tornare utile in futuro. Ancora versione molto WIP, diversi bug da sistemare, ma almeno l'ho già caricata qui... poi creerò anche dei pacchetti standalone (che includono già #Python e le librerie) per Windows e Linux. L'ho chiamato #FrameNX comunque, meglio evitare qualunque pretesto di violazione del trademark di #Nintendo per il nome #Switch... 🚨️

Ma, ovviamente, non era un mio #progetto secondario se non saltava fuori un #problema inaspettato mentre programmavo e testavo... il codice che controlla la versione dell'OS di pygame.camera è rotto su Windows Server, e quindi l'inizializzazione fallisce... evviva. L'ho identificato e sistemato subito, ho anche inviato la PR #4221, quindi non è stato un vero problema, però... che cazzo, non è possibile che tutto quello che finisce in mano a me si rompe... trovare bug in librerie così utilizzate e famose senza fare nulla di particolare non è roba da tutti, eppure ormai siamo ad uno a settimana, e chissà cosa mi riserva il futuro. 💣️

renprovine

Oggi ho un altro po' sperimentato con #RenPy, e la questione si fa sempre più #interessante... è evidente che questo #engine è così potente e flessibile da essere utilizzabile anche per ben più di semplici visual novel. È quasi un Pygame ma estremamente cross-platform già fuori dalla scatola, con tantissime cose di base già implementate, ed astrazioni comode (tra cui il suo dialetto di #Python) che anche da sole tappano sotto certi aspetti il buco tra stato del programma ed interazioni con gli utenti... devo assolutamente provare a realizzarci qualche esperienza interattiva anche di tipo diverso. 😳️

A parte essere una scusa per provare le varie cose del caso a livello di programmazione, ho fatto un progetto di testing per... testare, appunto. L'ho messo nella scatolina dell'altro giorno come promesso assieme a tutto il resto, ma ecco anche il link diretto alla versione web: ...Miscellanea Testing. Il nome è tutto un programma, si, ma mai quanto la musica di sottofondo che parte appena si entra nel menu interno dell'applicazione (aka quando si fa partire la visual novel, che in questo caso non è tale però lol)... per ovvi motivi è la versione strumentale, ma vi sfido a indovinarla solo ascoltando, la conoscete sicuramente. Potete notare già una delle robe che il motore rende estremamente facile, nel modo in cui la canzone viene loopata, se fate attenzione. 💥️

Comunque a parte l'atmosfera che ho realizzato in giro per le schermate (che suppongo sia una #feature), per ora l'unica cosa che c'è è questo stress #test. Mi serviva un qualche minimo strumento per valutare meglio le prestazioni di Ren'Py in diversi ambienti di esecuzione, e online non ho trovato nulla, quindi ho arrangiato io qualcosa con un po' di codice condiviso da altri utenti, un po' scritto da me (quello che disegna il grafico bianco, che indica il tempo passato da un frame al precedente), e tante tante cose inutili che si muovono a schermo solo per spremere CPU e GPU. E, tra l'altro, proprio per via del setup che avviene dietro le quinte per tutti quei fiocchi di neve (ancora non ho capito però perché e come risolvere), tutto il #programma impiega una significativa quantità di tempo anche solo a partire, specialmente su browser mobile... dovrò sistemare per non sclerare, uff. 💀️

chiaro di luna

Aggiornamenti sulla questione chiaro di luna, anche se sicuramente questo non sarà l'ultimo post a riguardo: a meno che ciò che ho appena ora finito di architettare dovesse saltare per aria, già dopodomani proverò questo setup regolarmente fuori casa, sul campo, e ciò decreterà se effettivamente è una buona #soluzione per il #gaming oppure ho preso l'ennesima cantonata... 👀

Sia ieri sera in cui non l'ho detto bene riguardo il fisso, sia stasera per fare la #configurazione sul portatile (più ideale per questo caso d'uso, consuma meno e il WiFi è forse un po' più stabile), ho dovuto copincollare dei comandi dalla documentazione di #Sunshine per far funzionare il gamepad virtuale. Una volta fatto ciò, per giochi come SuperTuxKart non c'è bisogno di fare oltre, ma per altra roba invece ho dovuto usare AntiMicroX per mappare gli input del controller ad input di tastiera. Nel mio caso, mi serve per inviare gli input ad NXController. 🪰

Quest'ultimo programmino ha qualche difetto, tipo che la sua finestra deve stare in focus per leggere gli input (io la metto nell'angolino in modo che non copra il gioco) e che la mappatura dello stick va cambiata dai tasti freccia ad altri, perché altrimenti per qualche ragione non funziona bene; però il suo lavoro lo fa, e via WiFi invia tutti gli input alla console #Switch sulla LAN. E dall'altro lato, il video della #console è trasmesso al PC tramite USB con SysDVR, ed arriva praticamente perfetto e con zero latenza... roba che importa poco, perché tanto in ogni caso io ci metto lo streaming da sopra. 🐌

Insomma, è un po' complicato usare Switch come server di #cloudgaming, ma con il PC così correttamente configurato si può fare... e quindi in giro anziché portarmi la console grossa e pesante mi porto il #Nintendo #3DS (o, in realtà, anche solo il telefono, dipende). Da un certo punto di vista è meglio comunque questa configurazione rispetto ad eseguire giochi nativi PC perché, a parte che dovrei usare per forza il fisso in quel caso, i giochi su PC (a meno di non emulare Switch, ma a quel punto perché non usare la reale?) sono un estremo dolore da gestire quando hai sia la sfiga di usare Linux, che quella di non poterli comprare. Quindi vabbè. 🏴‍☠️🏴‍☠️

Sempre ammesso che le prestazioni siano godibili in giro, spero solo che la preparazione da fare ogni volta prima di uscire di casa per #giocare non sia mentalmente troppa... in teoria sul PC posso usare uno script per aprire in automatico tutto, e l'unica cosa che dovrei ricordarmi di fare è accendere lui e collegare #NintendoSwitch, quindi spero non sia eccessivo. (...Ah e poi, anche piazzare la console sotto alla webcam del portatile come in foto, perché altrimenti non riesco a navigare nei menu, SysDVR non mirrora quelli... ma questo è un problema che risolverò con la scheda di cattura da €4.) 🙏

luna gaming

Beh, qualcuno a quanto pare ha portato #Moonlight al (new) #3DS: https://github.com/zoeyjodon/moonlight-N3DS. Il #porting che avrei sempre voluto fare, ma che non c'è mai stato verso, ora è reale, e alla faccia di chi lo credeva impossibile... perché gira persino infinitamente meglio del client per Switch. È vero che qui la risoluzione è molto inferiore, ma lì anche abbassando al minimo era tutto quasi ingiocabile, tra stutter e artefatti di compressione a non finire. Qui il bitrate è ottimo, e il framerate meh ma comunque più che utilizzabile. Ovviamente, è trasmesso anche l'audio. 🐔

Sarebbe una buona idea per evitare di far ricadere a prendere polvere il mio #new3DSXL, che quando si corrompono i salvataggi mi passa sempre la voglia di giocare, ma usandolo semplicemente come client per lo #streaming dei #giochi in cloud non dovrei più preoccuparmi. È molto più ideale una #console come quella per questo scopo, rispetto ad un telefono, per via dei tasti fisici. Dovrò effettivamente vedere come si comporta su rete mobile quando sono in culandia, o magari in bus in autostrada, tutti questi casi più specifici che però sono quelli che davvero devono funzionare, altrimenti è tutto inutile... sarebbero quelli i momenti in cui mi interesserebbe il #gaming pazzo. 🐙

Ora ho potuto provare solo a casa con #SuperTuxKart sul mio PC (server Sunshine), e appunto per i miei gusti riesco a giocare, sul WiFi. Però, l'ho provato con la linea 4G sempre qui, e... beh, con qualsiasi cosa che non sia il mio telefono a fare da hotspot funziona bene (ma in giro non funzionerà così bene), però ho appena scoperto che con lo Ximi stuttera ogni 2 secondi, rendendo l'esperienza non esattamente ingiocabile, ma comunque a dir poco infuriante; ho cambiato varie opzioni della rete mobile, ma niente. Questa è [la volta buona che compro davvero il Kaiosofonino](../../../2024/03/19/adrode-trolling-sempre-peggio.md), cazzarola, se 'sto rottame che mi ritrovo non è buono manco a fare da hotspot... 😩

renpiscatola

Non fate caso al nuovo buco nel postaggio, ieri come avevo promesso ho tradotto The Question di Ren'Py e inviato la pull request, chissà quando pure questa verrà unita all'upstream quindi... a giudicare da come sono state gestite le traduzioni in passato lì, avverrà o a giorni o giusto per la prossima release. Per il Tutorial ora non so quando riuscirò a completare la traduzione, ma comunque, ho fatto caso al fatto che entrambe le novel dimostrative non sono messe online per essere testate senza scaricare l'SDK, e non credo che altri lo abbiano già fatto, quindi... perché no? Possono tornare utili per #reference al volo da qualunque dispositivo. 🌚️

Allora ho deciso di creare una paginetta #collezione per raccogliere queste ultime due cose, anche per sperimentare di più con #RenPy, più altre che avrei già in mente, che sicuramente torneranno utili nel breve futuro. Quattro cose in programma da esplorare sono: il bundling dei giochi in file HTML standalone, la generazione di pacchetti per piattaforme diverse tramite web (e nello specifico, la generazione di pacchetti nativi a partire dal binario HTML), miglioramenti radicali alla schermata di caricamento web, e l'adattamento dello schermo a qualsiasi rapporto d'aspetto. E posso metterle tutte in ordine su: https://octt.itch.io/a-renpy-demo-box/. 🎰️

Ho caricato la #pagina su Itch, come avevo accennato, perché so già che per alcune di queste robe dovrò andare oltre il limite di 100 MB per file delle pagine Git, e a parte il mio server in casa (dove ho poco spazio libero) non saprei quindi dove mettere tutto. Ma forse è buono, è capace che più gente la trovi e ne goda, che ne so... E, per evitare di impazzire caricando due volte gli ZIP per permettere il download a chi vuole, ho deciso di usare JSZip per aggiungere un tastino che, beh, scarica lato client tutti i file del server e li zippa per gli utenti; molto lmao in quanto creare cartelle compresse a livello 9 con un linguaggio interpretato non è velocissimo (potrebbero servire da decine di secondi a minuti), ma funziona bene. ✨️

E, come se non avessi già cacciato troppe scuse in questa storia, ne ho approfittato per rendere bellina la pagina provando qualche tecnica per me nuova: il coso si chiama A Ren'Py Demo Box, quindi mi sembrava più che giusto creare una letterale scatola di cartone, da cui esce un foglio di carta con una lista di link, usando le trasformazioni 3D del #CSS... c'è voluto un pochino. Spero che lo sfondo animato preso in prestito sia sufficientemente strano da creare la giusta atmosfera, soprattutto in aiuto con la scatolina, ma non fate caso al fatto che su mobile la scritta in basso è tagliata... su desktop appare giusta, pezzi. 😤️

renpitoniche traduzioni

Ecco anche oggi un'ennesima, più che mezza, giornata spesa a fare cose non previste, perché "non ci si può mettere a far qualcosa senza che qualcos'altro non vada fatto prima". Avevo accennato vagamente che a 'sto giro avrei un'idea effettivamente cavalcabile per fare una #visualnovel, ma per qualche motivo adesso sono finita ad aggiornare tutte le #traduzioni in italiano di Ren'Py (proprio il motore), sistemando le tantissime stringhe scritte male e aggiungendone alcune mancanti... ho iniziato stamattina, e ho finito un'ora fa. (💀️)

  • In pratica, avevo pensato di creare una novel giusto per il gusto, una specie di demo, perché altrimenti le idee buone non mi vengono... e ho detto: anziché fare una roba proprio inutile, sarebbe ganzo farne una che magari fa proprio da tutorial a #RenPy, andando a puntate dalle cose semplici ad altre sempre più complesse, dove la storia non ha da essere mirabolante perché è giusto un contorno grazioso. Ho visto in giro, e praticamente nessuno pare aver fatto questa cosa come la intendo io, quindi ho pure campo libero... 😳️
  • Però in effetti ho pensato, dopo aver notato che la novella Tutorial ufficiale inclusa proprio con l'SDK Ren'Py non esiste in #italiano, che sarebbe una buona cosa magari prima lavorare a tradurre quella, così ne approfitto anche per imparare alcuni dei tanti dettagli dell'engine che dovrò in ogni caso padroneggiare, se proprio ho voglia di creare il mio personale walkthrough... In realtà però, inizierei prima dall'altro gioco incluso, The Question, perché anche quello non esiste in italica lingua, ma dura una manciata di minuti e quindi è un buon antipasto prima del #lavoro più grosso, anche se cambia poco ai fini della mia #deriva... 🌊️
  • La cosa è che, iniziando a tradurre, non essendosi i file di #traduzione della GUI automaticamente riempiti dai sorgenti dell'engine (credo sia normale anche se strambo), ho dovuto guardarli qualche minuto per capire che semplicemente copiarli a mano sarebbe stato sufficiente a non dover riscrivere a manina tutte le stringhe comuni... però a quel punto ho notato quanto erano imperfette in molti punti, quante fossero un pelino inconsistenti, quante tradotte da una macchina e brutte da fare schifo, e anche quante mancassero proprio; nel programma SDK soprattutto, ma anche nelle parti del motore che i giocatori vedono sempre, e quindi... mi sono messa di forza e in queste ore ho fatto il lavorone che qualcuno non faceva bene da anni, per l'italiano, ahimé. 😵️

Non mi capita spesso tanto quanto sento che vorrei di riuscire a contribuire al software #opensource, inteso come progetti più grandi di me (non solo i personali, insomma) che beneficiano tante persone non solo in teoria ma anche in modo evidente nella pratica, quindi quando l'occasione arriva è bene non farmela sfuggire. Ho già inviato la pull request al santissimo Tom, probabilmente il merge dimensionale dei branch avverrà a breve: https://github.com/renpy/renpy/pull/5486. ...E quindi ora potrò finalmente tradurre i due giochini invece, yee, come se non avessi già lavorato abbastanza oggi. 🗿️

sitocti momenti

Un po' meh il fatto che anche ieri non ho postato, sta andando tutto alla deriva, ma è che fino ad oggi pomeriggio non ero a casa, e quindi, non solo tra una cosa e l'altra il tempo è passato, ma poi non è successo niente di condivisibile. Però, visto che non avevo granché modo e/o voglia per i miei soliti passatempi pesanti, avendo con me solo il tablet come oggetto in più del solito, ho approfittato dei vari momenti morti per risolvere alcune di quelle più noiose e scoccianti piccole faccende per il mio sitarello #OctoSpaccHub:

  • Mi sono presa sorprendentemente un po' di tempo (più di 2 ore...) per tentare di disegnare delle icone per 3 (non ancora tutte) delle mie #webapp che sono lì messe a disposizione... fatte partendo da altre icone e non da zero stavolta, e per quanto non sono comunque per nulla dei capolavori, forse sono almeno un po' meglio di cosa esce [quando provo a disegnare io qualcosa partendo da zero](../../../2024/03/28/pwgoduriaaaa.md) assoluto. 🥲️
  • Ho implementato anche finalmente lo script Service Worker per il #sito, in modo da permettere alle pagine di andare in cache offline, facendo quindi funzionare le app anche senza #Internet, che è un requisito senza il quale non potrei in tutta onestà considerarle veramente complete e meglio delle native... ma ora oh si, avoja. 🗡️
    • Cosa in parte correlata e in parte no, che in realtà però ho fatto una settimana fa (lol): il Worker viene registrato solo per il dominio principale (hub.octt.eu.org), mentre non per tutti gli altri (sono vari) da cui lo stesso sito è accessibile. Su quelli (esempio, qui) appare un avviso in cima ad ogni pagina che ricorda di spostarsi, e c'è un link, ma nessun redirect automatico, perché così gli altri domini possono fungere da costante backup, non si sa mai.
  • Ho aggiunto un (1) nuovo link alla barra scorribile in basso (quello della mia pagina Itch.io, perché forse ho in programma qualcosa di utile, ma questa sarà un'altra storia), che quindi è diventata talmente larga da scrollare anche sul mio desktop e sul tablet in orizzontale, e quindi ho potuto notare quanto è fastidioso il fatto che faccia di continuo avanti e indietro ogni mezzo secondo senza neanche un frame di pausa... per cui l'ho migliorata, facendo ad ogni cambio di direzione scattare un delay (che era già programmato, ma veniva prima usato solo come pausa al passaggio di mouse o dito). Ne ho anche approfittato e allargato il padding, perché su dispositivi touch era un po' difficile trascinare per scorrere a mano. 💈️
  • Infine, non meno importante: non so perché, qualche neurone sarà scattato a caso per colpa dei raggi cosmici, ma ieri sera senza motivo mi è tornata in mente una delle musichette che fanno da sottofondo al menu di selezione di alcuni famicloni... e le voci mi hanno detto che ci starebbe benissimo su una pagina web che è praticamente un menu di selezione per le mie cose. Quindi, detto fatto, "Slum" di Mighty Final Fight è stata messa... (Ovviamente, di default è mutata, non ci sono saltispaventi.) ❤️‍🔥️

E qualcosa ho fatto anche per la #SalaMuseoGames, actually: oltre ad aver finalmente risolto tutti i problemi riguardo DDLC (mancava poco e sarebbe diventata una saga), e aver aggiunto altri giochi, ho implementato un tasto per allargare gli embed senza andare a schermo intero, nascondendo la sidebar che si vede sui display larghi. Ma ci sono ancora tante e tante cose da sistemare lì sopra (soprattutto in termini di PWA), voi non avete proprio idea... ☠️