Ready64 Forum

Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: Pollux - 08 Giugno 2006, 12:25:31

Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 08 Giugno 2006, 12:25:31
 Ciao a tutti,
è da poco che seguo il vostro forum, spero di avere imbroccato la sezione giusta e spero che l'argomento non sia considerato già superato!

Avrei la classica domandona da fare ai nostri esperti programmatori: ho notato (beh già ai suoi tempi) che alcuni "giochini" tipo Last Ninja, Navy Seals e Batman The Movie usano sprite in alta risoluzione a 2 colori per il primo, a 4 colori gli ultimi.
Mi sembrava che l'hardware fosse in grado di permettere l'utilizzo di soli 2 colori in alta risoluzione!

Ad un'occhiata veloce, non sembra che vengano utilizzate tecniche tipo immagini interlacciate.

Mi piacerebbe fare una conversione (limitatamente alla grafica statica o animata non interattiva) per C64 di alcuni giochi recenti, tipo Metal Slug, e sapere di poter utilizzare tranquillamente sprite hires a 4 colori sarebbe molto di aiuto.

Grazie!
Titolo: Sprite In Alta Risoluzione
Inserito da: Roberto - 08 Giugno 2006, 12:50:57
 Ciao!
L'effetto che dici tu viene ottenuto tramite la tecnica detta "sprite overlay", che consiste nel sovrapporre due sprite (per ogni frame): uno multicolor di base e uno ad alta risoluzione per le 'rifiniture'.
Personalmente devo dire che è una tecnica che mi ha sempre affascinato molto e che secondo me fornisce dei risulati gradevolissimi.
PS: Storicamente mi piacerebbe sapere chi fu il primo ad utilizzare lo sprite overlay. Conto di fare una piccola ricerca personale in proposito, prima o poi.
Titolo: Sprite In Alta Risoluzione
Inserito da: RedPanda - 08 Giugno 2006, 15:13:01
 Metal Slug sul Commodore 64 sarebbe stupendo da vedere (e' stato uno dei miei sparatutto preferiti al tempo dei cabinati da bar)! Se davvero realizzi qualcosa sarei davvero incuriosito... spero che ci terrai aggiornati!  :ciauz:  
Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 08 Giugno 2006, 17:11:54
 Ach, questo sprite overlay ha tutta l'aria di complicare le cose...

Comunque per il momento ho fatto solo una prova, convertendo brutalmente una schermata di sfondo di Metal Slug 3 con uno dei (relativamente) tanti programmi di conversione grafica PC->C64.
Più che altro devo ottimizzare qualche colore qua e là del cielo per renderlo più definito.

Il risultato non sembra malaccio, poi bisogna vedere se sarebbe realizzabile lo scrolling...

Vedrò di mettermi alla ricerca di altri "giochini" che usano sprite in alta risoluzione, in modo da capire che limiti ci sono nel loro utilizzo anche per quanto riguarda le dimensioni ed il numero di "personaggi" su schermo (per il momento Navy Seals rimane il mio termine di paragone).

Grazie a tutti, se riesco ad ottenere qualcosa di interessante vi metterò volentieri al corrente!
Titolo: Sprite In Alta Risoluzione
Inserito da: Roberto - 08 Giugno 2006, 17:38:42
 Lo sprite overlay in sè non ha niente di *relativamente* complicato, esistono degli editor specifici per disegnare sprites sovrapposti.
Forse però prima di iniziare qualsiasi cosa ti converrebbe intraprendere uno studio preliminare sui modi grafici del C64, sugli sprite, la definizione dei caratteri, il modo bitmap (eccetera).
Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 09 Giugno 2006, 19:58:44
 Ho convertito, con qualche aggiustamento, la schermata dei titoli del primo Metal Slug!

Siccome fino a qualche ora fa non avevo un sito e non sapevo come postare l'immagine, ho risolto il problema pubblicando una miserrima pagina (che spero in futuro di trasformare in un sito vero e proprio).

Chi volesse dare un'occhiata può trovarla qui: Pollux home page (http://www.webalice.it/p.formighieri/index.html)

L'immagine l'ho grabbata da WinVice con l'emulazione PAL attivata, bieca soluzione per rendere i salti di colore un po' meno bruschi.

Prossimamente proverò a convertire qualche schermata di gioco e a fare qualche animazione con gli sprite.

Questa tecnica di sprite overlay in effetti è interessante  :mattsid: , a quanto pare viene utilizzata anche in Robocop (mmh, diversi giochini della Ocean a quanto pare...).

Ciao e a presto!
Titolo: Sprite In Alta Risoluzione
Inserito da: RedPanda - 09 Giugno 2006, 21:19:44
 Non vedo l'immagine...  :angry:
Impiego Mozilla su Linux.
Titolo: Sprite In Alta Risoluzione
Inserito da: IronZorg - 10 Giugno 2006, 05:16:35
 Neanche io... :o

Mozilla su Windows.
Titolo: Sprite In Alta Risoluzione
Inserito da: Alberto - 10 Giugno 2006, 10:12:35
 Idem...
IE6 su Windows ;)  
Titolo: Sprite In Alta Risoluzione
Inserito da: RedPanda - 10 Giugno 2006, 13:26:29
 Pollux, prova a metterla temporaneamente su Imageshack:
http://imageshack.us/ (http://imageshack.us/)

Una volta caricata su quel sito, basta che segnali l'URL che ti fornisce e riportarlo nel messaggio.
Titolo: Sprite In Alta Risoluzione
Inserito da: djwiper - 10 Giugno 2006, 14:21:09
 ...e non credo si vedrà facilmente visto che il tag src punta a d:\ms_titolo.png  :P  
Titolo: Sprite In Alta Risoluzione
Inserito da: Alberto - 10 Giugno 2006, 17:56:47
 
Citazione
...e non credo si vedrà facilmente visto che il tag src punta a d:\ms_titolo.png
Eh eh,un errore che fanno molti HTMListi alle prime armi... :lol:  
Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 10 Giugno 2006, 20:23:13
 Ci avrei scommesso... :doh:

Ho seguito il consiglio di RedPanda: (http://img46.imageshack.us/img46/1888/mstitolo4qq.th.png) (http://img46.imageshack.us/my.php?image=mstitolo4qq.png)

Spero si veda qualcosa adesso!
Titolo: Sprite In Alta Risoluzione
Inserito da: djwiper - 10 Giugno 2006, 23:07:31
 
Citazione
Eh eh,un errore che fanno molti HTMListi alle prime armi... laugh.gif
Ne so qualcosa! Comunque molto bella l'immagine... bravo!
Titolo: Sprite In Alta Risoluzione
Inserito da: Alberto - 11 Giugno 2006, 11:39:40
 Bravo,continua così!
Titolo: Sprite In Alta Risoluzione
Inserito da: iAN CooG - 11 Giugno 2006, 14:44:10
 Vedo che i complimenti si sprecano, forse per incoraggiarti, ma vorrei fare una critica, spero non te la prenderai ma vanno ascoltate tutte le campane.
E' solo un immagine convertita con Project one, bmp2fli o simili, da quanto ho capito, e non e' nemmeno in formato nativo. Uno screenshot a 24bpp di un immagine a 16 colori poi mi sembra alquanto esagerato.

Sono daccordo sul fatto che si fa prima a convertire un bitmap da pc e lasciarla cosi', ma magari ritoccare l'immagine convertita per togliere i difetti e fornirla in formato PRG lanciabile da c64/emulatore sarebbe piu' consono all'area Programmazione.

Direi che prima di dire "bravo" avrei bisogno di vedere qualcosa di meglio.
Titolo: Sprite In Alta Risoluzione
Inserito da: RedPanda - 11 Giugno 2006, 15:12:41
 Hu, interessante!  B)
Speriamo bene per il resto!
Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 11 Giugno 2006, 16:02:26
 Grazie per i complimenti e per le critiche (servono anche quelle per migliorare, no? ;) ).

In effetti non ho perso ore e ore su quella che ritengo comunque una prova, viste le mie limitate conoscenze sulla grafica per C64.

Preciso in ogni caso che non mi sono limitato ad una mera conversione con un programma specifico, in quanto i risultati non sono sempre ottimali.

Dopo l'adattamento della risoluzione, in particolare ho preventivamente ricolorato lo sfondo in soli toni di grigio perchè con la conversione diretta si mescolavano pixel marroni con pixel grigi, con un effetto poco piacevole (la schermata originale ha una gradazione marroncina);
la scritta "Super vehicle-001" l'ho ricolorata in bianco (era marroncina anche quella) in modo che sia più in contrasto con lo sfondo e ho ricostruito alcune lettere che con la conversione si sono deformate;
infine ho contornato di nero tutte le lettere della scritta "Metal Slug" dato che utilizzando la retinatura Floyd-Steinberg per la conversione, i bordi erano poco definiti.

Per concludere, sempre attraverso il programma di conversione, ho salvato il disegno in .prg, l'ho caricato con WinVice e ho catturato la schermata.

Il file .prg è disponibile per tutti gli interessati, fatemi solo sapere come fornirvelo! :P

Il mio obbiettivo rimane quello di proporre le mie "visioni" su come potrebbero apparire videogiochi più o meno recenti sul C64 (magari prossimamente sulla mia nuova home page  :lol: ) cercando di rispettare le sue capacità tecniche.

Se poi qualcuno in futuro riuscirà a mettere del codice dietro a queste immagini statiche, tanto meglio! (sempre nel rispetto dei vari copyright, ovviamente!  ;) )
 
Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 22 Giugno 2006, 22:06:23
 Ecco, dopo un lungo periodo di riflessione forse sono riuscito a combinare qualcosa per poter condividere il file della schermata titoli di Metal Slug: Pollux' web site (http://www.webalice.it/p.formighieri/Links.html)

L'immagine si chiama prova.prg (l'ho testata su emulatore).

Nel frattempo ho cercato qualche programmino per poter disegnare sprite con overlay, ho trovato CS Mixer di Hitmen.

Qualcuno saprebbe consigliarmi altri programmi, anche x win?

Grazie e ciao!
Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 11 Luglio 2006, 13:04:01
 Visto che i programmi che ho trovato non soddisfano le mie esigenze, ho pensato di armarmi di carta millimetrata e matita e disegnare a mano lo sprite del personaggio Marco.

Qui potete trovare il file .d64: metalslug-sprite.d64 (http://www.webalice.it/p.formighieri/metalslug-sprite.d64)

Se premete RUN/STOP potete leggere il sorgente, scritto in Basic V2.0!
Per il momento ho usato 4 sprite, 2 in hires per il contorno e 2 in multicolor per la campitura. Conto però di trovare una soluzione per risparmiare due sprite (tipo rimappatura dei caratteri o altra soluzione che spero qualcuno possa suggerirmi).

Il prossimo passo che vorrei affrontare sarebbe quello di schiaffare lo sprite sullo sfondo di una schermata di gioco: dato che non conosco un'acca di linguaggio macchina (e neanche tanto di più di Basic  :confused: ), qualcuno saprebbe consigliarmi un sistema per caricare in memoria un'immagine 160x200 senza dover perdere una vita con linee DATA?

Infine, nel prossimo futuro cercherò di animare il tutto in modo da creare una sorta di demo.

Ciao!
Titolo: Sprite In Alta Risoluzione
Inserito da: Fabbroz75 - 11 Luglio 2006, 14:00:52
 Ho fatto una routine ( grazie a Ian ) che legge un file .koa ed esegue in sid...
magari puo' esserti d'aiuto.
se vuoi.. possiamo provare a fare qlcosa :)

p.s.
con cosa hai programmato la "demo"?
Titolo: Sprite In Alta Risoluzione
Inserito da: Roberto - 11 Luglio 2006, 15:50:48
 Lo sprite mi garba.
Bravo.
Ora sei atteso al varco dell'animazione del personaggio, uno scalino tutt'altro che facile da salire. :)  
Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 11 Luglio 2006, 20:56:36
 Grazie per gli incoraggiamenti, fanno sempre piacere!

Rispondo prima a Fabbroz75:
non so cosa vuoi dire dicendo "...esegue in sid...", però appena sistemo la schermata di sfondo la converto in formato koala e te la passo.
Come dicevo nel post il personaggio l'ho disegnato/programmato col Basic standard: una volta caricato il file, premi RUN/STOP, al prompt digiti LIST e trovi il programmino composto principalmente da POKE e DATA  ;)

Roberto, accetto la sfida!
Anche se mi sono accorto di aver disegnato il personaggio troppo in grande: nell'animazione in cui Marco beve dalla borraccia, parte di quest'ultima uscirebbe dallo sprite!
Ho rispolverato un paio di vecchi libri che acquistai secoli fa che spiegano come realizzare semplici animazioni in Basic, vedrò di adattare i programmi alle mie esigenze.

Per il momento vado avanti con il Basic, spero non sia troppo lento da pregiudicare le animazioni...

Ciao a tutti!
Titolo: Sprite In Alta Risoluzione
Inserito da: Fabbroz75 - 11 Luglio 2006, 22:56:01
 ehm.. errata corridge :)
volevo dire... esegue UN sid :)

cmq appena hai tempo passa qlcosa.. potrebbe essere interessante e stimolante provare a fare un gioco :) ( nonche' un bella sfida )

ciao :)

 
Titolo: Sprite In Alta Risoluzione
Inserito da: Pollux - 13 Luglio 2006, 23:09:54
 Se vuoi fare una prova qui puoi trovare la schermata di inizio del primo livello: Schermo1_metalslug.koa (http://www.webalice.it/p.formighieri/Schermo1_metalslug.koa)

Per quanto riguarda lo sprite non saprei cosa passarti: se ti serve un file, gli editor che ho trovato usano un formato di salvataggio .spr e mi sembra anche .raw .
Altrimenti lo puoi ricavare dalle linee DATA del programma...

Se sai di poter gestire i file .spr/raw fammelo sapere così disegno gli sprite con l'editor ed evito di calcolarmi a mano tutti i valori  :sabber:  (prossimamente preparo un file di esempio).

A presto!