Home Homebrew Rilasciata la nuova beta 27 di Scratch Everywhere! con supporto per DS,...

Rilasciata la nuova beta 27 di Scratch Everywhere! con supporto per DS, PS4 e versione Web

80
0

Pubblicata una nuova versione beta di Scratch Everywhere!, il runtime in C++ che consente di eseguire progetti realizzati con Scratch 3 su console di sesta, settima e ottava generazione, tra cui Nintendo Wii U, Wii, 3DS, Switch, GameCube e PlayStation Vita.

L’aggiornamento introduce diverse novità significative, tra cui il supporto per Nintendo DS, un port considerato da molti impossibile, ma ora realtà.

Gli sviluppatori raccomandano di consultare il file README per conoscere le limitazioni di questa versione, che può presentare crash frequenti a causa delle restrizioni di memoria e dell’assenza del supporto per le variabili cloud.

Arriva anche il porting Web, grazie a @gradylink, che ha convertito il runtime in WebAssembly, rendendo così ScratchBox compatibile con Scratch Everywhere! e consentendo l’esecuzione direttamente via browser.

Inoltre, dopo oltre tre mesi di lavoro, @PwLDev ha realizzato il porting per PlayStation 4, aprendo la possibilità di giocare ai progetti Scratch anche su console modificate con firmware 3.5.

Il team ha anche migliorato il motore principale, ottimizzando la resa grafica degli sprite, correggendo diversi problemi di memoria e migliorando la gestione dei blocchi “if-else” e delle variabili visibili a schermo.

Infine, sono stati aggiunti nuovi tipi di monitor e introdotto un blocco personalizzato che consente di rilevare il controller in uso.

Controlli

Mouse

  • 3DS: Scorrere il dito o lo stylus sullo schermo inferiore per muovere il mouse e toccare lo schermo inferiore per cliccare.
  • Wii U GamePad: Utilizzare il touchscreen del GamePad.
  • Wii Remote: Utilizzare la barra sensore Wii per controllare il mouse.
  • PS Vita: Utilizzare il touchscreen frontale.
  • Altri controller: Entrare in modalità Mouse tenendo premuto L. Utilizzare il D-pad per muovere il mouse e premere R per cliccare.

Funzionalità uniche

Modalità schermo 3DS

  • Qualsiasi progetto Scratch con risoluzione non modificata verrà mostrato solo sullo schermo superiore.
  • Utilizzando un client Scratch modificato come TurboWarp, è possibile accedere alle Impostazioni Avanzate del progetto e modificare la risoluzione:
    • 400x480 abilita entrambi gli schermi.
    • 320x240 abilita solo lo schermo inferiore.
    • 400x240 adatta perfettamente il progetto allo schermo superiore.
    • Nota: Assicurarsi di cliccare su Store Settings In Project su TurboWarp per applicare correttamente le impostazioni.

Modalità schermo Wii U

  • Attualmente i progetti vengono visualizzati allo stesso modo su TV e GamePad, senza possibilità di cambiare modalità schermo.

Audio

  • Un suono potrebbe richiedere tempo per caricarsi se riprodotto per la prima volta.
  • [Piattaforme non-3DS]: Se riprodurre un suono dallo Stage, il suono verrà riprodotto come Streamed Sound e non richiederà caricamento.
    • Solo un Streamed Sound può essere riprodotto alla volta, utile per musica di sottofondo.
    • [Wii, GameCube, Vita]: Lo Streamed Sound non è supportato; Tutti i suoni presenti nello Stage verranno caricati e riprodotti come suoni normali.
  • [Wii, GameCube]: I suoni possono non caricarsi se troppo lunghi o se ci sono troppi suoni caricati contemporaneamente.

Framerate

  • Utilizzando un client Scratch modificato come TurboWarp, è possibile abilitare l’opzione avanzata 60 FPS (Custom FPS) e cambiare il valore di FPS.

Blocchi implementati in modo diverso

  • Il blocco Username restituisce il nickname del 3DS o il nome Mii corrente su Wii U.
  • Il blocco Touching __? utilizza collisioni a scatola semplificate, il che può causare comportamenti errati.
  • Il blocco Stop 'All' riporta al menu del progetto.

Blocchi personalizzati speciali

Blocchi di collegamento tra progetti

  • open (____) .sb3
  • open (____) .sb3 with data (____)
  • received data (variable)

Questi blocchi permettono di suddividere un gioco grande in parti più piccole (es. gioco principale, shop o cutscene) e caricarle al bisogno. Tutti i percorsi sono relativi alla cartella scratch-everywhere, quindi le sottocartelle devono essere specificate (es. MyGame/main.sb3).

Questo aiuta a evitare problemi di memoria, mantiene i progetti modulari e facilita la gestione dei giochi grandi.

Progetto di riferimento: https://scratchbox.grady.link/project/twStEkSKjQaH

Nota: In futuro questa funzione potrebbe essere sostituita da un’estensione dedicata una volta disponibile il supporto alle estensioni.

Limitazioni

Essendo un progetto in stato molto preliminare, si incontreranno molti bug, crash e funzionalità non funzionanti.

Lista delle limitazioni conosciute

  • Testo e immagini bitmap incorporate non verranno mostrati su immagini vettoriali.
  • Le estensioni (es. Penna e Musica) non sono ancora supportate.
  • Alcuni blocchi possono causare crash o comportamenti indesiderati.
  • Prestazioni scarse con molti clone (~50+).
  • [Wii, Switch, Vita]: Variabili cloud non supportate (ma probabilmente lo saranno in futuro).
  • [Wii, Wii U, GameCube, Switch]: Solo il primo controller connesso funziona.
  • [Wii]: PAL richiede 50Hz.
  • [GameCube]: Variabili cloud non supportate.
  • [GameCube, NDS]: Memoria limitata, mantenere i progetti piccoli.
  • [NDS]: Modalità doppio schermo non supportata.
  • [3DS]: Prestazioni scarse con molti blocchi in esecuzione. Immagini grandi potrebbero non caricarsi.
  • [Vita]: Touch posteriore non supportato.

Blocchi non implementati:

  • Tutti i blocchi say e think (#393).
  • La maggior parte degli effetti dei costumi (solo Ghost e Brightness sono supportati).
  • Effetti audio Pitch e Pan left-right.
  • Quando il volume è > ___.
  • Tutti i blocchi Touching colore.
  • Loudness.

Installazione

Scratch Everywhere! è un software Homebrew e richiede una console hacked/modded. Ci sono due metodi per installare il runtime:

  1. Scaricare la release o la nightly build (facile).
  2. Compilare il file da soli (più complesso).

Nota: Le nightly build sono significativamente più instabili rispetto alle release e dovrebbero essere utilizzate solo se indicato in un bug report o se si conoscono esattamente le implicazioni dell’uso delle nightly.

Avvio su 3DS

Scaricare il file .cia o il file .3dsx nella scheda Releases o dalla nightly build.

Nota: Scratch Everywhere! per 3DS è disponibile anche su Universal Updater, quindi è possibile scaricarlo e mantenerlo aggiornato direttamente da lì.

.cia (App installabile)

  • Posizionare il file .cia nella cartella cias/ della scheda SD del 3DS.
  • Aprire l’applicazione FBI, navigare nella cartella cias/ e installare il file .cia.
  • Posizionare i progetti Scratch in 3ds/scratch-everywhere e aprire l’app Scratch Everywhere! dal menu Home.

.3dsx

  • Posizionare il file .3dsx nella cartella 3ds/ della scheda SD del 3DS.
  • Posizionare i progetti Scratch in 3ds/scratch-everywhere.
  • Aprire il Homebrew Launcher sul 3DS e avviare l’app.

Avvio su NDS

  • Scaricare il file .nds nella scheda Releases o dalla nightly build.
  • Posizionare il file nella scheda SD e i progetti Scratch in sd:/scratch-ds/.
  • Avviare l’app.

Avvio su Wii U

Scaricare il file scratch-wiiu.zip nella scheda Releases o dalla nightly build.

Nota: Scratch Everywhere! per Wii U è disponibile anche su Homebrew App Store, quindi è possibile scaricarlo e mantenerlo aggiornato da lì.

  • Scompattare il file nella cartella sdcard:/wiiu/apps/.
  • Posizionare i progetti Scratch in sdcard:/wiiu/scratch-wiiu/.
  • Aprire l’app dal Wii U Menu o dal Homebrew Launcher.

Avvio su Wii

Scaricare il file scratch-wii.zip nella scheda Releases o dalla nightly build.

Nota: Scratch Everywhere! per Wii è disponibile anche su Open Shop Channel, quindi è possibile scaricarlo e mantenerlo aggiornato da lì.

  • Scompattare il file e posizionare la cartella apps/ nella root della scheda SD.
  • Posizionare i progetti Scratch in sdcard:/apps/scratch-wii/.
  • Aprire l’app dal Homebrew Menu sulla Wii.

Avvio su GameCube

  • Scaricare il file scratch-gamecube.dol nella scheda Releases o dalla nightly build.
  • Posizionare i progetti Scratch nella cartella scratch-gamecube sul dispositivo di archiviazione.
  • Aprire l’app sulla GameCube.

Avvio su Nintendo Switch

  • Scaricare il file scratch-nx.nro nella scheda Releases o dalla nightly build.
  • Nota: Scratch Everywhere! per Nintendo Switch è disponibile anche su Homebrew App Store.
  • Posizionare i progetti Scratch in sdcard:/switch/scratch-nx/.
  • Aprire l’app sulla Nintendo Switch.

Avvio su PS Vita

Nota: Scratch Everywhere! per PS Vita è disponibile anche su VitaDB, quindi è possibile scaricarlo direttamente dalla Vita usando VitaDB Downloader. Tuttavia, la build su VitaDB potrebbe essere qualche versione indietro.

  • Scaricare il file scratch-vita.vpk dalla scheda Releases o dalla nightly build, trasferirlo sulla memoria della Vita e installarlo usando VitaShell.
  • Posizionare i progetti Scratch in ux0:data/scratch-vita/ (creare la cartella se non esiste).
  • Aprire e avviare l’app dalla LiveArea della Vita.

Avvio su PS4

  • Scaricare il file scratch-ps4.pkg dalla scheda Releases o dalla nightly build e installarlo usando il proprio HEN preferito (GoldHEN, Mira, ecc..).
  • Posizionare i progetti Scratch in /data/scratch-ps4/. Se la cartella non esiste, crearla.
  • Aprire l’app dalla XMB della PS4.

Changelog

Port DS!

  • Pensavano fosse impossibile… ma “impossibile” è il mio secondo nome.
  • Si consiglia di leggere il README per conoscere le limitazioni di questo porting!
  • È probabile che si verifichino molti crash, quindi aprite un issue su GitHub se li riscontrate.
  • Problemi noti
    • L’apertura dei progetti e la modifica dei controlli possono causare il crash del sistema.
    • Le variabili cloud non saranno supportate.
    • La RAM è molto limitata, quindi cercate di mantenere i progetti piccoli.
    • Numerose limitazioni audio; consultare il README per i dettagli.
  • Implementato tramite pull request #362!

Port Web

  • @gradylink ha portato il runtime su WebAssembly!
  • Grazie a questo, ScratchBox è stato aggiornato per utilizzare Scratch Everywhere!.
  • Implementato tramite pull request #334!

Port PS4

  • @PwLDev ha dedicato oltre tre mesi al porting di Scratch Everywhere! su PS4!
  • Ora tutti gli utenti con PS4 modificata alla versione 3.5 possono divertirsi con i giochi di Scratch sul grande schermo.
  • Problemi noti:
    • Le variabili cloud non sono attualmente supportate.
  • Implementato tramite pull request #278!

Modifiche runtime

  • Ottimizzate le prestazioni di rendering degli sprite.
  • Corretta una grave perdita di memoria legata al blocco If else.
  • Risolte perdite di memoria nel menu principale e nell’audio.
  • Il blocco Switch costume to con numero come input ora seleziona correttamente il costume corrispondente.
  • Corretta la posizione dei monitor (variabili visibili).
  • Aggiornato l’aspetto dei monitor, ora più simile a quello di Scratch.
  • Aggiunto il supporto a un maggior numero di tipi di monitor.
  • Introdotto un blocco personalizzato Scratch Everywhere! controller.
    • Restituisce il controller attualmente in uso.
  • [Piattaforme SDL2] Corretto il ridimensionamento degli sprite disegnati con la Penna.

Modifiche 3DS

  • Corretta la resa grafica con l’estensione Pen.
  • L’estensione Pen ora può essere utilizzata in modalità doppio schermo.
  • Il cursore del mouse non può più uscire dai bordi dello schermo.
  • Corretto un errore di compilazione quando l’opzione ENABLE_AUDIO è disattivata.

Modifiche Wii

  • Corretto un problema che causava un framerate ingiocabile nei progetti.

Modifiche Wii U

  • Il blocco Stop "all" ora riporta correttamente al menu principale.

Modifiche Vita

  • I suoni provenienti dallo stage ora vengono riprodotti come audio in Streamed.

Modifiche Switch

  • Corretto un problema per cui il menu della tastiera non si chiudeva quando veniva chiusa la tastiera virtuale.

Download: Scratch Everywhere! Beta Build 27 (3DSX) (CIA)

Download: Scratch Everywhere! Beta Build 27 (DS)

Download: Scratch Everywhere! Beta Build 27 (Gamecube)

Download: Scratch Everywhere! Beta Build 27 (Switch)

Download: Scratch Everywhere! Beta Build 27 (Vita)

Download: Scratch Everywhere! Beta Build 27 (PS4)

Download: Scratch Everywhere! Beta Build 27 (Wii)

Download: Scratch Everywhere! Beta Build 27 (Wii U)

Download: Source code Scratch Everywhere! Beta Build 27

Download: Release attestation (json)

Fonte: github.com