ALIEN 3 IA di DEVILSYSTEM (Markus Hohmann)

Coinvolgimento di codice e logica

Ibrido (routine chiave generate dall’IA; assemblate/modificate da umani)

Coinvolgimento di asset e pipeline

Sconosciuto (sviluppatore di terze parti

Note sul progetto e prompt

ChatGPT

ALIEN 3 sulla gamma PLUS proprio non ce lo si aspettava. Markus Hoffman, alias DEVILMARKUS alias DEVIL SYSTEM, insieme alla sua IA preferita ci porta delle novità sul progetto.

https://alien3.devil-system.de/index.html?lang=en

1 Mi Piace

Alien3_6128Plus.cpr (512,3 KB)

1 Mi Piace

Passare dalla pagina dell’autore che spiega e racconta il suo progetto e che per di più offre il suo lavoro gratis, è anche una bella cosa.

1 Mi Piace

Nello spazio nessuno può sentirti urlare… :alien:

2 Mi Piace

È bello, ma un bel porting di «ALIEN NEOPLASMA» per i nostri AMSTRAD sarebbe una bomba.

2 Mi Piace

Lo scrolling è davvero pazzesco!

C’è modo di dare un’occhiata al codice? Mi incuriosisce tantissimo capire come sia stato programmato lo scrolling, visto che finora non ci sono mai riuscito. Anche una descrizione tecnica mi farebbe già molto piacere.

Complimenti vivissimi!

Saluti,
S.D.

2 Mi Piace

Markus è sempre reperibile. Il link porta al progetto, lì trovi il contatto. Credo che utilizzi una IA specifica con cui sviluppa da anni. A volte fa un salto anche su FACEBOOK https://www.facebook.com/devilmarkus

giusto una precisazione @RETO_AMSTRAD il cognome è «Hohmann» eheh

1 Mi Piace

grazie

I tuoi sogni potrebbero avverarsi ,:alien::alien:

1 Mi Piace

«Eh? Sputa il rospo, dente d’ALIENO che non sei altro. :smiley: Quindi si prepara una conversione. Io mi prenoto l’1 e il 2.

Scherzo, magari succedesse, perché è una delle VIDEO-AVVENTURE più immersive della scena dei microcomputer.»

1 Mi Piace

Sì, l’ho condiviso dappertutto e viene fuori che sto facendo pubblicità al tipo degli album fotografici. L’ho corretto più tardi, mi capita per scrivere come si pronuncia.

1 Mi Piace

Dato che è per un Plus, immagino che usi semplicemente lo scrolling hardware, il che è parecchio più semplice rispetto al cercare di ottenere uno scrolling anche solo vagamente fluido su un CPC standard. Ci sono comunque alcuni trucchi che puoi adottare per migliorare le cose, ma se tutto ciò che si muove è gestito tramite sprite, per lo più non ne hai nemmeno bisogno.

Confermato: si tratta di hardware plus con scrolling fluido (soft scroll) e sprite.

La cosa principale è impostare i registri CRTC R12 e R13 all’inizio dello schermo. Puoi farlo da BASIC in questo modo:
OUT &BC00,12:OUT &BD00,&30:OUT &BC00,13:OUT &BD00,10

La cosa fondamentale da ricordare qui è che se inserisci molti di questi comandi, il BASIC farà scorrere lo schermo, quindi potrebbe essere difficile capire cosa sta succedendo. Perciò inserisci quella riga in un programma BASIC e modifica l’ultimo valore, quel «10», per vedere un po’ meglio come funziona.

Modificando R12 e R13 cambi il punto a partire dal quale viene mostrata la visualizzazione a schermo. Poi, in base alla larghezza dello schermo, va a capo alla riga successiva e così via. Quando arriva alla fine dello schermo torna di nuovo all’inizio, quindi se aumenti il valore di R13 e R12 (ma ricordati di aggiungere +&30 qui per mantenerlo nell’intervallo &c000-&ffff) puoi vedere come funzionano i numeri. Aggiungere, sottrarre, di quanto spostare intere righe, ecc.

Ciò che fa il Plus, poi, è fornire altri due registri. In questo modo puoi traslare lo schermo in pixel sia orizzontalmente che verticalmente. In sostanza modifichi il valore di shift da 0 fino a 15. Poi lo reimposti a 0 e aggiorni R12 e R13. Facendo così ottieni uno scorrimento fluido (soft pixel scroll). Lo stesso pattern può essere usato verticalmente con il valore di soft scroll verticale.

Una volta ottenuto questo, hai lo scorrimento dello schermo. Il passo successivo è aggiornare la grafica.

Quando scorri orizzontalmente, aggiorni una colonna di grafica su un lato dello schermo — il quale non ha molta importanza per via del modo in cui lo schermo fa il wrap — e introduci qui la nuova grafica. Se scorri e introduci nuova grafica, puoi scorrere un’intera mappa.

Se vuoi scorrere di nuovo verticalmente, aggiorni una singola riga in alto o in basso — anche qui non importa molto quale — e introduci nuova grafica per far scorrere la mappa.

Quindi, una volta fatto tutto questo, sul Plus puoi posizionare liberamente gli sprite hardware dove preferisci sopra di esso senza problemi.

Se stai scrivendo per CPC, allora calcoli dove disegnare lo sprite in base alla base dello schermo e alle coordinate x,y del tuo sprite. Lo disegni come faresti per uno schermo statico (anche se c’è un punto in cui INC HL non avanza al byte dello schermo successivo come previsto; puoi ispezionare il disassemblato della routine firmware SCR_NEXT_BYTE per vedere un metodo, un altro è disegnare lo sprite a colonne ed evitarlo, i metodi ci sono).

Dopo aver disegnato lo sprite dovrai cancellarlo; anche qui esistono vari metodi: potresti ridisegnare le tile sottostanti, copiare lo schermo durante il disegno e ripristinarlo, copiarlo da un’altra versione pulita dello schermo… varia.

Lo scroll più morbido sul CPC (senza usare il Plus) può essere fatto in vari modi; non aspettarti di eguagliare facilmente la fluidità del Plus orizzontalmente, mentre verticalmente si può fare in diversi modi.

C’è qualche aspetto specifico su cui hai bisogno di aiuto? Fammi sapere e spero che riusciremo a trovare un modo per chiarire ogni cosa.

4 Mi Piace

L’ho provato un paio di volte usando l’emulatore integrato sul sito del gioco. Da quello che vedo è un porting diretto della versione C64, quindi non è stato fatto alcun lavoro per liberare la grafica dalla limitazione dei 3+1 colori. Ma immagino che non si possa ancora chiedere a un’IA di farlo. :stuck_out_tongue:

Qualcuno ha provato a far girare il gioco su uno dei soliti emulatori o persino su un vero Plus? Mi chiedo se quelle incoerenze nel movimento degli sprite siano un problema del gioco stesso o dell’emulatore integrato.

1 Mi Piace

Grazie per la precisazione sul «PLUS». Mi era sfuggito ed ero già incredulo. Inutilmente, a quanto pare.

1 Mi Piace

Grazie mille per la disponibilità! La terrò a mente.
(Una volta avevo provato a programmare un gioco in stile ZAXXON sul CPC 6128 (senza Plus). Ero già fallito miseramente con il motore grafico…)

1 Mi Piace

Questo mi ricorda la demo «Isometrikum» di Vanity:

https://www.youtube.com/watch?v=T5SACesODy8

Uno scrolling diagonale veloce e fluido su un sistema non-Plus. Ma non è affatto facile da programmare.

2 Mi Piace

GRAZIE per il link! È fatta davvero benissimo! Non ho la più pallida idea di come si programmi una cosa del genere sul CPC 6128.