Anche quella seconda idea sembra interessante, anche se non sono sicuro di averla compresa appieno… Quante di queste brevi routine servirebbero per disegnare una linea stradale sullo schermo, e quale impatto avrebbe sulle prestazioni la gestione di quella doppia tabella, oltre al maggior numero di chiamate e ritorni di subroutine? Una stima dei cicli CPU necessari per disegnare la strada in questo modo, sommando i calcoli per la pendenza e la curvatura del tracciato, farebbe un po’ di chiarezza sulla questione.
Forse utilizzando metodi di linea a grandezza intera per ciascun tipo di elemento visualizzato (bordo sinistro / margine carreggiata sinistro / corsia sinistra / centro / corsia destra / margine carreggiata destro / bordo destro) e saltando all’interno per visualizzare la quantità corretta di bordo / margine / corsia / centro.
La parte difficile sarebbe evitare che tutti i controlli del tipo «ne ho disegnato abbastanza?» rallentino tutto. Ma forse basterebbero dei cicli compatti che disegnano X byte di erba, poi il bordo della strada, poi Y byte di strada, poi di nuovo il bordo, poi Z byte di erba, ecc.
Il bello di questo «post sui social» (un trailer in fondo è solo questo) rispetto a tutti i precedenti, è che il gioco uscirà in una data precisa non troppo lontana da oggi. Quindi non c’è bisogno di speculazioni sfrenate.
La maggior parte delle persone che hanno creato software (ok, soprattutto giochi o demo) capisce come funziona la grafica sul CPC e quale enorme vantaggio possa dare un’espansione di RAM di qualsiasi dimensione (basti pensare alla differenza tra il 464 e il 6128 e provare a immaginare il moltiplicatore di tutto ciò a 4MB). Credo che la vera differenza rispetto al primissimo annuncio del gioco a oggi sia il coinvolgimento di Toto (ricordate Alcon 2020).
Se Vespertino è un gioco che richiede un’espansione hardware molto speciale («cartuccia», se sei un gamer) con tonnellate di ROM per girare, allora il confronto tecnico con QUALSIASI altro gioco del passato (come mostrato nel video) lascia un po’ il tempo che trova. Sono davvero curioso di vedere se il gioco girerà in qualche modo su un normale 6128 (e intendo il gioco vero e proprio, non i menu elaborati).
Naturalmente, tutte queste sono curiosità che vengono da una persona più interessata alla «scienza e all’arte» dietro Vespertino che al gioco in sé. Spero davvero che sia un bel gioco e divertente da giocare, e gli darò sicuramente una possibilità da vecchio fan dei giochi di corse dell’epoca.
«Ah ecco, vista la situazione, capisco perfettamente perché tu non voglia avere niente a che fare con i social network. Mostri le piramidi di Giza due volte, PINBALL DREAMS e VESPERTINO, e troveranno comunque il modo di dire che mancano la cucina e il bagno. @Rhino sei il Duca d’Alba di AMSTRAD.
Il problema sarà che se il gioco è giocabile solo su un emulatore e accessibile solo ai possessori di CPC dotati di hardware aggiuntivo, si può davvero considerare l’impresa che si dichiarava all’inizio? Pinball Dreams è stato un momento «wow» mentre si caricava sul mio 6128. Se si scopre che questo ha bisogno di hardware aggiuntivo per girare sullo stesso hardware di Pinball Dreams, allora è come mettere i pattini a rotelle a tua nonna, spingerla giù da una discesa e sostenere che può fare i 50 all’ora! La nonna non è mica nata con i pattini a rotelle!
È un bel traguardo, ma non è la stessa impresa di Pinball Dreams. Ci sarà almeno un’immagine per CRT?
Non fraintendetemi, sembra fantastico, ma avevo capito male pensando che si trattasse di «hardware standard». Una ROM enorme non è certo hardware standard.
Sì, sfiora molto da vicino la questione di quanto sia davvero un gioco CPC «standard» a quel punto. Non molto tempo fa c’era un tizio che ha costruito un’espansione hardware che faceva girare Bioshock su un dispositivo tipo Raspberry Pi, ma renderizzava la grafica sullo Spectrum — non esattamente quello che definirei un gioco per Speccy. È un caso estremo, ma se aggiungi troppo hardware supplementare è difficile considerarlo davvero in esecuzione sull’hardware originale, anche se tecnicamente lo è.
rexbeng ha ragione sul fatto che non si può paragonare questo gioco ad altri titoli a 8 bit con il limite dei 64 KB, e ho un grandissimo rispetto per chi ha accettato la sfida di creare un gioco di corse con simili limitazioni, ma credo che la gente si aspetti che un trailer abbia un certo appeal commerciale
L’idea del gioco ci è venuta in un momento in cui, dopo l’uscita del Dandanator, cominciavano a nascere diversi progetti su cartuccia. Giochi come Sword of Ianna e i 3 titoli annunciati da 4mhz nel 2018 ne sono un chiaro esempio. La carenza di dischetti e l’aumento dei loro prezzi facevano pensare che il formato cartuccia si sarebbe diffuso maggiormente, proprio come era accaduto su altre piattaforme. È stato allora che ci siamo resi conto che i progetti annunciati venivano presentati semplicemente come giochi tradizionali, che sfruttavano la memoria della cartuccia solo per aggiungere più contenuti. Il nostro obiettivo, invece, era dimostrare che, grazie alla memoria della cartuccia, il CPC poteva eccellere anche in quello che storicamente era l’aspetto più criticato dagli utenti delle altre piattaforme: la velocità e il frame rate dei giochi. E quale modo migliore per farlo se non con un gioco di corse?
Ho sempre pensato che l’architettura e le capacità grafiche dell’Amstrad richiedano più memoria rispetto ad altre macchine a 8 bit per brillare davvero. Come sarebbero i giochi per Amiga se avessero a disposizione solo 64 KB? L’idea che volevamo trasmettere è che una cartuccia con sola memoria può offrire molto più di semplici giochi più lunghi. Con le giuste tecniche di programmazione, si possono ottenere prestazioni tali da rivaleggiare persino con un Amiga e i suoi onnipotenti coprocessori.
Per esempio:
sto raccogliendo dati per la live streaming che faremo domenica 25, e ho contato il numero di sprite diversi in Lotus su Amiga: sono tra gli 80 e i 90. Precalcolano 16 frame di scaling all’inizio di ogni livello, un’ottima idea per risparmiare spazio su disco, ma è qualcosa che non ho potuto fare a causa del formato degli sprite e della mancanza di RAM; quindi, invece, ho 28 frame scalati per gfx che, moltiplicati per il numero di gfx, risultano in oltre 5.000 sprite archiviati nella ROM. Sono 55 volte più sprite rispetto a Lotus!, consentendo una maggiore varietà, animazioni più fluide e prestazioni alla pari con l’onnipotente Blitter dell’Amiga. Ma questo miglioramento delle prestazioni non arriva da solo, e mi sono anche divertito un sacco ad affrontare questa sfida!
E forse un giorno avremo una versione più piccola con meno varietà / meno animazioni / meno menu, mantenendo comunque una buona velocità con un 6128 «quasi» normale (magari un 512K per essere «onesti» e tenere le cose nella memoria superiore)… Chiamiamola «Vespertino Prologue»
Tutto chiaro, molti capiscono come una memoria maggiore vada a vantaggio del CPC e che, programmando con furbizia (grafica a dimensione di byte, aggiornamento parziale solo degli oggetti necessari, double buffering, preshifting, clipping, colour cycling e chi più ne ha più ne metta), si possano ottenere buone animazioni a frame rate eccellenti; cavolo, persino quelli considerati «bug» possono essere sfruttati per creare animazioni appariscenti se usati con ingegno.
Vieni dalla demoscene, quindi sai bene che l’hardware aggiuntivo spedisce automaticamente la prod nella categoria «wild», piuttosto che su quella della piattaforma su cui gira. Speriamo che esca una versione ridotta all’osso di Vespertine funzionante su un 6128 liscio, giusto per fare un confronto.
In fin dei conti, siamo tutti consapevoli che non c’è nessuna magia. Solo tecnologia umana, buone idee e una programmazione intelligente. E una solida pixel art, ovviamente, perché i grafici spesso non ricevono il riconoscimento che meritano, visto che in giro c’è così tanta robaccia senza senso. Tutte le altre sparate assurde su alieni, «schede nVidia» CRTCFX, confronti ormai superati e roba del genere sono per chi spera che abbiano un qualche richiamo commerciale
Avere più memoria video fa sempre piacere. Ma dobbiamo accontentarci di quello che c’è. Entrambi i miei MSX 2 hanno 128 KB di VRAM, ma solo 64 KB di RAM principale. Non mi viene in mente nulla che si avvicini minimamente a sfruttare quell’enorme memoria video. Forse Space Manbow? Non sono mai riuscito a farlo girare, però.
Il fatto che il CPC condivida la memoria video con la RAM principale è un difetto di progettazione, ma nel 1983 non lo ritenevano nemmeno importante.
Tendo a concordare sulla questione della memoria; penso che la piattaforma sarebbe stata sfruttata molto meglio se il modello base fosse stato da 128K anziché da 64K. La necessità di uno schermo da 16K significava praticamente avere sempre margini troppo risicati — nessuna reale opportunità di fare double buffering, anche se l’hardware ne è perfettamente capace, ecc.
E da grande fan del GX/Plus, nel corso degli anni ho anche sostenuto i vantaggi offerti dalle cartucce. Sebbene le affermazioni di Amstrad secondo cui il nuovo hardware fosse accessibile solo tramite cartucce non fossero vere, è certamente progettato partendo dal presupposto che si utilizzeranno proprio quelle.
Capisco però l’argomentazione secondo cui forse si rischia di andare oltre. Vespertino è il passo troppo lungo o sta solo mostrando ciò che si può fare? Immagino che vedremo quale sarà il risultato finale e se reggerà sulla lunga distanza. Penso che molti fan di altre piattaforme lo liquideranno in modi in cui titoli come R-Type 128 o Pinball Dreams non potevano essere criticati, semplicemente a causa dell’uso di espansioni hardware rispetto alla macchina base.
A mio parere, tecnicamente, qualcosa è per CPC quando gira sul processore, sull’architettura e sui chipset del CPC, a prescindere dalla memoria e dal sistema di archiviazione. Un 464 con 64 KB e registratore a cassette è un CPC tanto quanto un 6128 con 128 KB e lettore floppy; naturalmente offrono capacità diverse, ma condividono una base comune di architettura, chipset e processore che chiamiamo CPC.
In questo senso, credo che il termine «espansione hardware» sia troppo generico.
Sull’Amiga, un’espansione hardware può andare da un’espansione da 512 KB fino a una PiStorm con CPU da 1 GHz. Nel primo caso, nemmeno i demoscener più incalliti sosterrebbero che aggiungere quei 512 KB a un A500 lo trasformi in una macchina diversa, mentre chiunque sa che una PiStorm lo fa.
Tornando al CPC, a mio avviso, una cartuccia che fornisce semplicemente memoria come supporto di memorizzazione per un software che gira sull’architettura standard, sui chipset e sul processore del CPC è software CPC che gira su CPC. La questione sarebbe diversa se la cartuccia includesse un processore che sostituisse lo Z80 o aggiungesse coprocessori grafici.
Naturalmente, il software su cartuccia non è paragonabile a quello per 128 KB, così come il software per 128 KB non è paragonabile a quello per 64 KB, ma in ogni caso si tratta sempre di CPC. Quando abbiamo pubblicato Pinball Dreams per 128 KB, abbiamo ricevuto alcune critiche per non averlo fatto uscire per 64 KB, proprio come adesso riceveremo critiche per aver rilasciato Vespertino su cartuccia. Qualsiasi feedback è il benvenuto!
Beh, non escluderei del tutto la faccenda degli alieni…
Una mattina, dopo essermi svegliato sudato fradicio da un incubo in cui venivo rapito dagli alieni, mi sono improvvisamente venute in mente le idee che hanno reso possibile il motore Vespertino, quindi chi lo sa, magari in fondo è vero xD
Stavo riflettendo esattamente sulla stessa cosa. Alcon 2020, per fare un altro esempio, non sarebbe la stessa cosa se uscisse su un supporto diverso da cartuccia/ROM. Alla fin fine, le capacità ROM del CPC sono parte integrante della sua architettura. Solo che all’epoca non venivano sfruttate così! Diciamoci la verità: il formato a cartuccia del Plus e del GX non esisterebbe senza quell’eredità.
Mi chiedo se tutto questo non derivi in parte dalle voci secondo cui nella cartuccia saranno incluse altre funzionalità. Il sonoro era una di quelle menzionate. Mi rendo conto che sto speculando anch’io a questo punto, ma considerate una cosa: Toto è stato coinvolto nella progettazione dell’hardware della cartuccia di Alcon 2020. Quella ha alcune capacità aggiuntive, ma i miglioramenti sonori derivano dall’espansione Play2CPC, necessaria per far girare le cartucce su un CPC normale. Potrebbe essere lo stesso per Vespertino?
Non riesco a capire le critiche. È un normalissimo AMSTRAD CPC. Funziona su tutte le macchine. Basta acquistare il gioco nel formato per cui è stato progettato. Insistere per avere una versione su disco o su nastro è assurdo e non necessario.
A un certo punto avevamo preso in considerazione l’idea di aggiungere 3 canali audio extra, ma alla fine abbiamo deciso di non farlo. Entreremo in tutti i dettagli durante la live streaming.
Trovo anch’io che 64k non siano mai stati abbastanza per l’architettura del CPC, ma immagino fosse comunque meglio dei 32k del BBC o dei 16k dello Spectrum, che erano altrettanto insufficienti. L’architettura del CPC divora la memoria grafica e 64k sono piuttosto limitanti. Il computer avrebbe bisogno di almeno 128k per sfruttare al meglio le altre sue caratteristiche e aggirare i suoi limiti; è un vero peccato che un’espansione di memoria da 64k non sia stata un upgrade più diffuso tra i possessori del 464.
Naturalmente, una cartuccia ROM capiente apre ancora più possibilità, cosa che si può sfruttare anche sul GX. È davvero raro, però, vedere qualcuno approfittarne sul serio, anche perché richiede un sacco di lavoro in più per tirarne fuori qualcosa di davvero interessante e degno di nota.
Aspetta! È stato quello il giorno in cui hai deciso di lasciare i Batman Group?
Non capisco il motivo delle critiche sul fatto che Pinball Dreams non fosse possibile su 64K. La risposta è semplicissima: non si poteva fare. Che poi, a quanto ho capito, è lo stesso motivo per cui Vespertino è su cartuccia, e a me sta benissimo così.