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. ✨️
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. 🗿️
Bene, come dire, oggi con questa storia di #RenPy ho a dir poco <em>esagerato</em>… perché in realtà, dopo aver detto che me ne sarei lavata le mani, ho comunque cercato di vedere della roba, perché avevo scoperto altri #problemi non proprio ignorabili. È servito? Sni. ☠️
La prima cosa è che su mobile la tastiera su schermo non funziona, perché è implementata in modo strano, prima che cambiassero e la facessero effettivamente bene. Quindi, sul mio porting di DDLC non si riuscirebbe neanche ad iniziare il gioco, perché non si può inserire il proprio nome nel momento in cui il programma lo chiede, a meno di collegare una tastiera fisica, che è pazzia. Con un po’ di ingegno e tanta sperimentazione, però, ho effettivamente risolto il problema: premendo un tasto dedicato nel menu contestuale, faccio apparire un <input> a schermo, dove l’utente può digitare con la propria tastiera virtuale normalmente, e il codice che ci sta dietro legge gli eventi per ricostruirli e inviarli al <canvas> che esegue il gioco. È un po’ una #hack ma sostanzialmente funziona bene. 🕳️
E poi… ho scoperto che in realtà no, le immagini che impiegano una vita a caricare si rifiutano proprio di farlo finché non avviene (oltre al passaggio di abbastanza scene di dialogo, ma va un po’ a caso) un evento di re-rendering totale, che ho individuato succedere in due casi: quando si preme il tasto destro per far scomparire l’HUD, oppure quando la finestra viene ridimensionata. Ora, chiamatemi scema, ma ho provato a mettere mano nella parte del codice che triggera un resize, perché quella del render è proprio dentro il codice WASM e quindi non c’è umanamente verso, ma… non sono arrivata a granché, dopo un po’ di prove. Ho tentato una strategia diversa, cioè simulare un doppio click col mouse ad ogni click dell’utente, ma farlo troppo veloce non fa ri-renderizzare nulla, e farlo troppo lentamente spacca le interazioni degli utenti… E quindi ho anche provato a sfruttare un iframe di servizio per poter fare ridimensionamenti della finestra ad ogni click (no, non basta lo styling), ma ci sono le stesse problematiche riguardo la velocità (eccetto che qui l’eccesso causa flash dello schermo, aiuto!). 🐞️
E in tutto questo, nonostante abbiano dimostrato di fare release totalmente rotte una dopo l’altra, i RenPyisti si sono rivelati anche abbastanza efficienti: la mia #issue di prima ha non solo avuto delle risposte, ma qualche ora fa è già stata creata una pull request per sistemare il problema, incredibilmente. (Ma io ancora mi chiedo, come è possibile che sono stata io a individuarlo?) Però, loro non hanno una CI normale per creare le build, e io a compilare da sorgente sul mio PC non ci sono riuscita (ed ecco perché volevo a tutti i costi ficcare i miei workaround nel codice già compilato anziché provare a fare un fix per bene prima), quindi dovrò per forza aspettare che creino loro la prossima nightly… domani, probabilmente?! Vabbè, per ora tenetevi il giochino sistemato in parte, è già meglio di nulla; ho anche aggiunto un ulteriore tasto al menu contestuale per fare refresh visivo su mobile, dove il right click non si può fare. 🤥️
:blob_cat_peek_owo: La fiction (pas très) interactive Sortir du cercueil (adaptation de ma nouvelle du même nom) est maintenant disponible et jouable en ligne sur itch.io : https://crowdagger.itch.io/sortir-du-cercueil
Started coding a Match 3 variant last night, and the basics are mostly working!
The hardest part, amusingly, was getting it to update the images when you pass over a new tile, because renpy only processes a proper interaction when the drag completes (if the called dragged function returns a non-None value)
(Have some ideas about how I can make this a lot better today, so hopefully that'll get cleaned up, and then I'll actually implement grid refill and scoring today)
Hey cuties, since I just migrated, here's my new introduction!! :blobcataww:
I am trans, asexual, and an extremely queer nerd. I do art sometimes including digital art, music, and game dev stuff. Right now I am working on a queer dating sim called Cosmic Latte, but I mostly post about that over on: @nitrobrew
Outside of gaming I am super obsessed with The Twilight Saga, JoJo, She-Ra, and Pokémon.
Basically... if it's gay and cute, I probably like it. :BlobhajTransPrideHeart:
A few folks have asked me my opinion of the whole Unity debacle, especially in light of releasing a new game.
It's terrible and no one deserves to deal with their nonsense, I feel for Unity devs 😔
I have been and will continue using open source engines exclusively 👍
All three engines I've used to make games thus far (GB Studio, Ren'py & Bitsy) are open-source, and if I ever need a more robust engine for a game, I'll use Godot.
I recommend trying out any of them, depending on your needs as a dev!
The communities surrounding these engines are really involved and supportive, and it's nice to know that they literally cannot pull a Unity, by design.
I had been primarily using calckey.social the past while, (and some of the extra features their software adds are great) but they've been having frequent stability /usability issues that were making it hard to use, and Roni said I could set up here. I have nothing against the Firefish devs / admins on a personal level or anything, they seem quite nice from the bits we've interacted.
I'm also @Hawkwinter - but I'm mostly trying to stick to using that for art-related stuff.
I do 3d character stuff, 2d graphic design and cartography stuff. A bit of 2d character art. Tech/it stuff. Programming. Working on a Visual Novel in Ren'py. I'd like to figure out how to make VRChat and VTuber avatars.
Not currently accepting commissions, but I would probably like to in the future.
I like TTRPGs? Particularly GURPS, & heavily homebrewed D&D3.x with Eclipse. Also Rolemaster 4e. Played other stuff over the years but those ones are my favorites.
For entertainment, I like Wuxia, and Xianxia, and the Forgotten Realms, and Tolkien.
I'm interested in sustainable longterm architecture (to last centuries, not decades), science and tech, passive heating and cooling systems, and high-efficiency masonry woodstoves. 'Fancy-offgrid'. Regenerative agriculture and watershed management is neat too.
I occasionally read some philosophy. Nietzsche has a few neat ideas on individual self improvement, but the Tao te Ching has neat ideas on other stuff, like a few ideas on how a functional society would work. I'm not going to pretend to be a well-read philosophy student though.
In addition to regular social-media-ing, Gamedev-type stuff might get posted from here sometimes too? I'm really not sure.
Anyway, here's some misc examples of my work in different mediums / styles. The custom in-game menu screenshot is a WIP. I've been doing a good bit of reprogramming and extending things under the hood.
Joined due to hating the bird app more and more. I am Robert, I am an aspiring game dev. Currently working on some jam entries that I look forward to sharing here. #O2A2#VisualNovel#RenPy
So I made a zine and decided to add an interactive part to it, this was the first thing I ever programmed in my life and I learned from 0 for this project, I gained some confidence with coding working with #Twine now, and I really want to learn to make visual novels, maybe with #RenPy ? I guess I'll need to learn python. I think it'll fit what I have in mind for the next project. I only know I want to keep the creepy-funny vibes and of course work with the same universe. https://toyhou.se/21498714.hide-and-seek