Imparare a disegnare da codice

Molto spesso la grafica dei giochi puo' essere composta da forme geometriche molto semplici, si pensi al Pong, il Breakout e il Tetris. Sono tutti giochi in cui gli elementi grafici sono semplici forme geometriche quali cerchi, rettangoli e quadrati.

Questi elementi grafici sono realizzati dal programma per mezzo di funzioni specifiche, che molto spesso sono la semplice conversione in linguaggio informatico di quelle formulette di geometria analitica che ci insegnavano a scuola.

Come nella realta', per disegnare dobbiamo disporre di una qualche superficie idonea.
Nel precedente tutorial "Datti una mossa" ho introdotto molto velocemente un tipo di superficie idoneo e adatto alla nostra causa, la SDL_Surface. Nello specifico, una superficie all'interno del programma di un videogame e' un'area di memoria (ram o video) grande quanto serve, atta a contenere le informazioni che si visualizzeranno sullo schermo quali pixel, grandezza e altezza.

Un pixel e' un quadratino sullo schermo composto dai tre colori primari, Rosso, Blue e Verde (RGB), che insieme ad altri compone le immagini sullo schermo.
Piu' nello specifico e' una struttura dati, contenente i valori cromatici di base del colore che vogliamo utilizzare nelle gradazioni volute. Si possono avere pixel da 8 a 32 bit, nell'ultimo caso sono divisi in 8 bit per colore primario. I primi 8 sono riservati alla trasparenza dell'immagine, spesso questi bit vengono ignorati.

La superficie e' un buffer (array monodimensionale) contenente svariate informazioni come gia' detto, le piu' importanti oltre i pixel sono la grandezza, l'altezza e il pitch.


La zona azzurra e' la nostra finestra di gioco, la zona arancione e' l'area rimanente dello schermo.
Il driver video in uso sul sistema crea un buffer che usa per la gestione della grafica sullo schermo, grande quanto la larghezza di risoluzione scelta sul sistema, questo buffer e' detto Pitch (in italiano Campo).
Se la risoluzione di sistema e' 800x600 mentre quella della finestra di gioco e' 320x200, la nostra superficie sara' un buffer di ampiezza [320*200] (Larghezza per altezza) ed avra' una sua posizione nel pitch che sara' grande [800*600].

Questi due buffer pur essendo di base array monodimensionali possono essere intesi come tabelle formate da righe e colonne.
Se per esempio volessimo disegnare un pixel alle coordinate (10,20), ci arriveremo sapendo la lunghezza dello schermo in primis. Moltiplicando la lunghezza dello schermo per il numero di colonne, sapremo in che punto nel pitch inizia la riga che vogliamo (scorriamo l'asse Y con 320*20), ora che siamo alla riga voluta ci basta sommare il valore della coordinata X per il numero di bit per pixel (Bpp, scorriamo l'asse X di un numero di byte corretto) per muoverci alla colonna desiderata (320*20+10).

Si puo' riassumere il lavoro teorico in una pratica funzione:

void drawPixel(int x, int y, int color)
{
Uint32 bpp, ofs;

bpp = screen->format->BytesPerPixel;
ofs = screen->pitch*y + x*bpp;

SDL_LockSurface(screen);
memcpy(screen->pixels + ofs, &color, bpp);
SDL_UnlockSurface(screen);
}

Nanostray 2

Ho comprato questo gioco giusto ieri per soli 14,99 euro da gamestop, fino al mese scorso costava 6 euro in piu', il prezzo e' accettabile a mio dire.

Un titolo veramente particolare questo Nanostray 2, uno space shooter in 3D con visuale 2D ricco di effetti grafici. Ricorda molto titoli come Darius Gaiden ed R-Type nell'insieme.

Questo e' il seguito dell'omonimo titolo Nanostray, sempre per Nintendo DS.
Il gioco basa la sua storia su una navicella in missione nello spazio, l'equipaggio risvegliato dopo anni di sonno criogenico scopre che il virus Nanostray (probabilmente gia' conosciuto nel capitolo precedente) si e' evoluto attaccando forme di vita tecnologiche sempre piu' avanzate.
Scopo della nuova missione e' di raccogliere campioni del virus, sfidando abili nemici in ben 8 livelli carichi di ostacoli.

Il gioco piu' piccolo del mondo

Non si tratta del gioco piu' corto del mondo ne tantomeno del gioco piu' semplice in tema di gameplay, ma bensi' di una versione del mitico gioco arcade Defender in miniatura.

Il suo creatore, Mathieu 'p01' Henri in sole 3 notti ha realizzato una versione del tutto giocabile del mitico Defender in una favicon, ovvero l'icona personalizzata che ogni sito puo' possedere o meno. Tutto lo schermo di gioco e' ridoto ad un'icona 16x16 nella barra degli indirizzi del vostro browser o nella scheda corrente.
Il gioco e' basato su javascript, quindi ne si necessita' l'abilitazione per l'utilizzo. Informazioni su comandi e quant'altro serva per giocare sono presenti nella pagina del gioco come il gioco stesso.

Importazione Si o No?

Da un po' di tempo mi frulla per la testa una cosa, guardando dietro alle copertine di giochi di importazione nei vari negozi, notavo una dicitura inglese che citava all'incirca "This game is for sale, rental and use only inside this countries" seguita da una lista di paesi nei quali il gioco si sarebbe potuto vendere, affittare e giocare.

Non ho trovato nessuna legge al riguardo, chiedendo e leggendo su vari forum sull'argomento ho potuto dedurre che la cosa e' puramente preventiva.
Mi spiego meglio, se un gioco non e' ancora uscito in questo o quel paese, cio' implica che non e' stato ancora classificato per un genere specifico di giocatori o probabilmente potrebbe venire pure censurato per i suoi contenuti ritenuti poco idonei e di conseguenza si potrebbero scaturire azioni legali.
Per prevenire cio', le software house impongono (senza comunque l'appoggio di nessuna legge apparente) che il gioco venga fatto girare solo nel paese di provenienza, anche per facilitarne il controllo e gestire meglio eventuali azioni legali correlate al prodotto.

E' dai tempi della Playstation che nei negozi si vedono giochi di importazione, anche per console quali Nintendo 64 e Sega Saturn. Di recente i negozi si sono trasformati tutti in catene quali gamestop o gamerush, in cui raramente ho trovato titoli di importazione.
I pochi titoli trovati erano giochi per DS usciti anche nel nostro paese, con una differenza di prezzo notevole, si puo' parlare di titoli usati per DS di importazione a 15 euro contro i 29 del titolo in versione europea sempre usato.
Ricordo il titolo New Super Mario Bros, presso gamestop la versione US di importazione nuova costava 15 euro a differenza dei 49 della versione europea.

I vantaggi del comprare giochi di importazione sono notevoli, non e' ben chiaro il fatto se sia legale comprarli o meno. Molti dicono al riguardo, che la vendita e' legale se l'acquisto viene effettuato in uno dei terrotori su cui il gioco puo' essere venduto, quindi acquistare un gioco di importazione su internet puo' essere legale se il venditore ha sede ed effettua la procedura di vendita in uno dei paesi concessi dall'autore del gioco.

Se volessi comprare un gioco di importazione in uno store al di fuori dei paesi concessi?
Anche qui non si sa bene che pensare o cosa dire, se il gioco viene venduto come usato, teoricamete il negoziante che ne effettua la vendita puo' essere inteso solo come intermediario tra il privato che vende e il privato che acquista.
Se il gioco viene venduto come nuovo, si presume che si siano pagate tasse doganali per il gioco piu' la famosa IVA applicata sui prodotti in vendita nel negozio in base al valore della merce.

I privati che acquistano di importazione e quindi ricevono la merce da paesi esterni alla comunita' europea, pagano di norma un fisso di euro 5.50 piu' eventuale IVA per merce di valore fino a 45 euro, oltre i 45 si paga un dazio e un importo IVA fino ad un valore complessivo di 350 euro. Oltre questo valore complessivo, il fisso sale ad 11 euro.
Per quanto riguarda le societa', quindi i negozi, fino ai 22 euro pagano solo il fisso di 5.50, oltre questo valore complessivo il fisso sale a 11 e si aggiungono dazio e IVA.

Fino a prova contraria e' tutto legale, le tasse vengono pagate in ogni caso senza problemi.
Per quanto riguarda il copyright, ovvero il diritto d'autore. Esistono leggi e convenzioni internazionali sul diritto d'autore, un gioco che non viene venduto ufficialmente in un paese, sara' comunque coperto e protetto dal diritto d'autore, sempre se il paese e' aderente alle convenzioni internazioniali.
Credo che anche qui, per evitare dubbi sull'aderenza o meno, quella famosa scritta di cui parlavo prima sia posta a scopo tutelativo preventivo per questi rari casi.

La cosa piu' assurda di quella frase e' il dire che tale gioco debba essere usato solo all'interno di un territorio specifico, puo' essere anche sensata come cosa in alcuni casi. Ricordo il caso di Wolfenstein, che per via dei suoi contenuti ne fu vietata la vendita e l'utilizzo in Germania.
Probabilmente alcuni contenuti nel gioco, seppur non offensivi per una certa cultura potrebbero esserlo per altri, anche qui siccome il gioco non viene classificato da un'autorita' competente in materia in un paese specifico perche' non pubblicato ufficialmente (come gia' detto prima) ci si potrebbe incorrere in battaglie legali, molto difficile che succeda se il gioco viene venduto a relativamente pochi privati a differenza di un titolo venduto su larga scala nei negozi e quindi alla portata di tutti e anche di un pubblico non idoneo.
Sinceramente direi che il pericolo di una battaglia legale e' praticamente nullo, non riesco a vedere possibili scenari alla cosa.

Volendo aggiungere anche altro, la maggior parte dei giochi di importazione arriva dal Giappone, e' risaputo di quanto siano gelosi delle loro creazioni, c'e' un pensiero comune secondo cui solo il popolo nipponico sia capace di apprezzare come si deve certe opere. Possibile ennesimo motivo a quello strano avvertimento sulla copertina seppur privo di fondamenti legali, anche se la SONY diede battaglia legale ad un famosissimo sito di vendita di videogames per vietarne la vendita dei suoi prodotti hardware (console e accessori), voci di corridoio parlano di un solo interesse di speculazione da parte di SONY sulla vendita di prodotti al di fuori del Giappone. Il sito in definitiva chiuse i battenti, questa e' l'unica battaglia legale riguardo prodotti di importazione di cui ho sentito parlare ma che non sia prettamente relativa al discorso che sto affrontando.

Mi viene in mente anche un altro motivo per un possibile divieto, essendo i giochi materiali prodotti su supporto fisico, potrebbero contenere materiali non idonei a bambini di una certa eta' o banditi del tutto da quel paese. Qui il discorso volge sulla responsabilita' individuale di chi acquista il prodotto, anche se lo rivende a terzi la responsabilita' va a chi lo possiede.
Il prodotto si suppone passi una frontiera dove venga sdoganato e controllato, se il prodotto viene ritenuto idoneo arrivera' a destinazione, anche qui nulla che possa dar credito al divieto.

In definitiva, si potrebbe anche parlare del bollino SIAE applicato su tutti i prodotti multimediali, cio' comporta che si venga pagata l'IVA con l'acquisto del prodotto, prodotti di importazione arrivano sprovvisti di tali bollini ma in ogni caso l'IVA viene pagata tramite passaggio doganale.
Credo si siano coperti tutti gli eventuali punti e dubbi riguardo la compravendita di materiale di importazione. Probabilmente il pagamento di una tassa alla SIAE scoraggia la pubblicazione di molti titoli nel nostro paese, ma questo e' un altro discorso.

Analizzati tutti i punti, non trovando leggi specifiche al riguardo e sentendo vari pareri da compratori abituali, deduco che acquistare giochi da store online situati in territorio americano o asiatico non comporta la violazione di nessuna legge, ribadendo ulteriormente che il materiale se viene fatto passare attraverso le frontiere doganali e' da considerarsi idoneo.

Dove si possono acquistare titoli a buon prezzo e di importazione?
Uno dei piu' sicuri e maggiori store online per la vendita di materiale videoludico di importazione e' sicuramente Play-Asia.com, si possono acquistare titoli a buon prezzo e a piccole spese di spedizione, si parla di circa 4 euro per una busta air mail anche se il tempo di arrivo e' incerto e potrebbe essere molto lungo. Si puo' parlare anche di un attesa di 4 mesi, ma piu' probabile nei periodi di festivita' come il natale ad esempio.
In alternativa si possono acquistare giochi da privati o probabili commercianti online presso il sito di eBay anche se io personalmente consiglio di piu' Play-Asia.

Spero che questo articolo riesca a chiarire molti dei vostri dubbi in materia, molto di quello che ho scritto e' frutto di ragionamenti e materiale (seppur poco) trovato in rete. Non garantisco la validita' al 100% dei contenuti, siete gli unici responsabili per eventuali acquisti di questo tipo.

Buon gaming a tutti!

Nintendo World Championships 1990

Nell 1990, la Nintendo of America promosse una competizione del tutto particolare, il Nintendo World Championships.
In questa fantastica competizione, i partecipanti si sfidavano su un sistema NES con una cartuccia del tutto particolare contenente 3 giochi, Super Mario Bros, Rad Racer e il mitico Tetris. Ogni gioco aveva la sua sfida da portare a termine, tutte e tre le sfide dovevano essere concluse entro un tempo limite di 6 minuti e 21 secondi. La competizione ricorda molto il film "Il piccolo grande mago dei Videogames".

Le sfide cambiavano a seconda del gioco, per Super Mario Bros (primo titolo a cui ci si sfidava) si partiva in single player con un totale di 99 vite (Si tratta probabilmente di una versione patchata del gioco, in quanto in quello originale vi era presente un bug per un numero di vite troppo alto), la sfida consisteva nel raccogliere un totale di 50 monete. Tra il primo e l'inizio del secondo livello si e' gia' quasi a meta' dell'opera, oltre a raccogliere le monete bisognava anche realizzare un buon punteggio che come gli altri giochi veniva sommato in un totale a fine sfida.

Il secondo titolo della compilation era Rad Racer, anche qui si giocava una partita in single player con vari vantaggi quali tempo illimitato per terminare la sfida e a mio dire un gioco leggermente piu' facilitato rispetto all'originale. Anche la colonna sonora di gioco sembra essere diversa dal titolo originale, ma non ne sono sicuro.

L'ultimo titolo della competizione era il mitico Tetris per NES, sempre in modalita' single player ma senza nessun vantaggio apparente nel gameplay. La sfida a questo titolo consisteva nel realizzare il punteggio piu' alto possibile nel tempo rimanente di gioco.

Al termine della sfida come gia' detto, venivano sommati tutti i punteggi totalizzati nei vari giochi.
Solo per gli ultimi 2 veniva moltiplicato il punteggio, aiutando cosi' ulteriormente i giocatori a realizzare punteggi sempre piu' alti.
Il mio punteggio come si puo' vedere dallo screenshot e' ben lontano dai record totalizzati dai partecipanti alla sfida, un certo Thor Aackerlund totalizzo' un record oltre i 4,000,000 di punti mentre un certo Jeff Falco ne totalizzo' 2,800,000.

Il vincitore assoluto porto' a casa un assegno da 10,000 dollari, una nuova macchina Geo Metro Convertible, un TV a 40" e un trofeo dorato di Mario.
Ne ricevettero uno in argento tutti gli altri partecipanti, i rimanenti top 7 di ogni categoria invece ricevettero un assegno da 100 dollari.
Non male nemmeno per i semi finalisti che ricevettero 50 dollari in Nintendo Cash piu' un cappellino ufficiale della competizione e due spille di Super Mario.
Peccato che da noi in Italia non si sia mai organizzato niente di tutto cio'...

Anche se sono passati piu' di 20 anni dalla competizione ormai, possiamo sempre rifarci sfidandoci con il nostro amato emulatore per NES.
Esiste una rom della cartuccia della competizione, si trova facilmente sui vari siti di emulazione.
Io l'ho giocata tranquillamente sull'emulatore fceux con il supporto del pad nes della Retro link (di cui ho gia' parlato).

Unica nota, data la particolarita' della cartuccia su cui erano presente degli switch (come si vede in foto) per impostazioni di vario tipo, per far partire il gioco nonostante abbia usato il gamepad ho dovuto premere il tasto "Invio" per far partire il gioco.
Pare che alcuni emulatori siano anche in grado di gestire questi switch, sinceramente non ho avuto modo di provarli. Durante il gioco, i tasti Start e Select sembrano non avere nessuna utilita' apparente.

Nonostante il tempo limite di 6 minuti e 21 secondi, pare che la cartuccia per quanto riguarda Super Mario Bros e Tetris possa vantarne versioni complete. Sono riuscito a raggiungere il livello 8-1 in Super Mario Bros in una frenetica corsa senza fine da una warp zone all'altra prima che la cartuccia mi bloccasse il gioco per via del tempo scaduto.
Per quanto riguarda Tetris, credo che se il tempo non limitasse la partita lo potrebbe anche portare a termine probabilmente.

Se avete intenzione di cercare il gioco su ebay, come usato, sappiate che possono esserci ben 3 versioni della cartuccia. Una classica in scocca grigia, tipica dei giochi del NES, una in scocca argentata e una versione gold rilasciata in soli 26 esemplari del valore stimato di 17.500 dollari.
Che dire? Un giocattolino veramente costoso, pensando che anche un gioco a 30 euro e' una bella spesa di questi tempi.

Extra Mario Bros

Se questo gioco fosse stato sviluppato dalla Nintendo negli anni del NES sicuramente ne sarei stato un fan sfegatato.

Questo e' un grande hack del gioco di Super Mario Bros per NES, non si tratta solo di un semplice rempapping dei livelli e qualche cambiamento grafico.

Si tratta di un vero e proprio hacking del codice di gioco, l'autore di questo hack ha realizzato all'interno del classico Mario elementi caratteristici di Metroid in stile Mario.

Il classico fiore del fuoco vanta una potenza distruttiva maggiore e anche direzioni di fuoco alternative a seconda delle necessita' del giocatore. Mario puo' usufruire di potenziamenti nei suoi movimenti di base quali Space Jump e Screw Attack tipici di Metroid.
Tutti questi attacchi tornano utili in vari momenti del gioco e per l'accesso ai vari passaggi segreti.

Il gioco intero e' un enorme labirinto in pieno stile Metroid, ci si perde facilmente fra un tubo e l'altro! Molti passaggi hanno un design molto simile rendendo molto facile lo smarrimento, alcuni invece sono nascosti in posti a primo occhio impensabili (sotto aculei ad esempio come nel livello 4). Si puo' accedere ai vari passaggi segreti, molto spesso, grazie ai potenziamenti del fire flower con cui riusciremo a distruggere i muri come fossero nemici ed eliminare spunzoni da pavimenti e soffitti liberando passaggi altrimenti inaccessibili.

Il gioco e' strutturato su 6 livelli di cui 1 speciale, ogni livello non ha una vera e propria fine.
L'obbiettivo sara' quello di raccogliere il potenziamento nascosto se possibile e l'eventuale chiave segreta nascosta da qualche parte. Al raggiungimento di un certo numero di chiavi, ci sara' possibile accedere al livello 5, ovvero il livello finale.
I piu' temerari potranno anche andare oltre, in tutto vi sono 8 chiavi nel gioco, raccogliendole tutte e 8 si avra' a disposizione una variante del livello 5 che non appena terminato ci dara' la possibilita' di vedere il vero finale del gioco!

La fine di gioco presenta il classico combattimento Mario vs Bowser, raccogliendo tutte e 8 le chiavi si avra' un combattimento extra con un Browser gigante. L'unico punto debole di questo giga Bowser sara' il suo occhio, solo non appena questo cambiera' direzione dello sguardo.

Nel gioco i power up e le chiavi non sono le uniche cose nascoste da trovare, a discapito del giocatore sara' interessante dare la caccia ai 1up segreti. Dovrebbero essere una ventina circa in tutto il gioco, provate a saltare nei posti piu' impensabili o stranamente ornati per scovarli.

Una volta finito il gioco in modo decente, si potra continuare a giocare dallo schermo dei titoli scegliendo "continue", Mario a questo giro sara' in bianco e nero!
Non e' un semplice omaggio a Super Mario Land 2, ne un bug del gioco, semplicemente Mario ora e' invincibile al tocco! Possiamo dare pieno sfogo alle nostre abilita' di gioco senza preoccupazioni, salti pericolosi e azzardi vari, e non solo...
Avendo a disposizione questa versione extra di Mario, potremmo camminare persino sulla lava senza nessun problema, cio' sara' molto utile nel livello Zero del gioco!

Giocando scoprirete da qualche parte l'accesso al livello Zero, noterete un certo passaggio sopra elevato a della lava con vari cartelli di ritorno. Proseguendo lungo il fiume lavico raggiungeremo la zona "Special", qui i nostri super poteri di invincibilita' non avranno piu' effetto contro nemici e ostacoli. Man mano che proseguiremo nella zona speciale troveremo i vari power up di gioco se non li avessimo gia' presi fino ad arrivare alla fine del percorso in cui sfuggiremo da un gigantesco Metroid in una corsa frenetica!

La ricompensa sara' la Master Key, del valore complessivo di 8 chiavi. Potremmo cosi' accedere senza troppi giri all'ultimo livello e finire il gioco per l'ennesima volta. Il tempo di gioco sara' sommato a quello della partita precedente tranne per quanto riguarda i 1up raccolti, quelli saranno da recuperare nuovamente da capo tutti quanti!

Questo gioco seppur difficile puo' essere apprezzato un po' da tutti, richiede tanta pazienza ed ostinazione.
La patch ips per questo gioco puo' essere tranquillamente trovata con una ricerca su google o presso gli appositi siti di emulazione.


















Quando Super Mario incontra Metroid


  • Grafica insolita ma piacevole

  • Ripropone Super Mario sotto una chiave diversa


----------


  • Il gioco e' un enorme labirinto, ci si perde facilmente