Genere
Platform in inglese significa "Piattaforma", e non c'è termine più adatto per definire questo tipo di giochi, dato che consistono effettivamente nel saltare tra diverse piattaforme. Benchè questo fatto è presente in molti videogiochi, bisogna distinguere i "platform puri" con "giochi con elementi platform". I platform puri sono quei giochi, come il già citato Super Mario, che centrano l'azione sul fare salti precisi per superare ostacoli. I livelli diventano complessi di piattaforme disposte in modo da rendere sempre più difficile l'avanzata dell'eroe. A volte può capitare che il protagonista prenda sei potenziamenti (come per il classico fungo che fa ingrandire Mario) che lo aiutano nell'avanzamento nei vari livelli. Altre ancora vi sono dei nemici che rappresentano ulteriori ostacoli. Nonostante quello che si pensa, la trama non è affatto fondamentale in questo tipo di giochi, anzi, non è nemmeno necessaria! I giochi con elementi platform invece sono spesso giochi d'azione, con alcune sezioni o parti che richiedono salti precisi
Grafica
Il platform è nato in tempi remoti e perciò trova la sua massima espressione nella grafica 2D a scorrimento laterale. Per grafica 2D non intendo necessariamente la grafica tramite sprites, ma anche grafica poligonale 3D impostata con lo scorrimento laterale.
Ecco il vecchio Super Mario Bros (1985), con grafica ad 8 bit. Se si vuole passare a qualcosa di più recente...
Gioco rivoluzionario in tutti i sensi: è il primissimo gioco in vera grafica poligonale mai creato! Lo scopo del gioco è controllare un triangolo rimbalzante e passare attraverso stanze labirintiche saltando su delle piattaforme. Il vero punto di non ritorno si avrà però con Super Mario 64 (1996)
possiamo prendere Rayman (1995), uno dei giochi che personalmente ha una delle più belle grafiche 2D. Se invece consideriamo questi ultimi tempi e la grafica poligonale, sempre però rimanendo in ambito dello scorrimento bidimensionale verso destra...
Fare un disastro tentando di trasferire le meccaniche ben consolidate dei giochi di Mario era molto facile, ma invece il risultato fu uno dei più grandi capolavori videoludici di sempre. Da quel momento in poi, Mario 64 fu il modello di riferimento, al quale si rifecero parecchi giochi, di qualità altalenante.
Gameplay
Le meccaniche di gameplay dei giochi platform sono spesso molto semplici, soprattutto nei platform puri. Si prenda per esempio Super Mario: con un tasto si salta, con un altro si corre (tenendolo premuto) o si lanciano palle di fuoco (nelle versioni più recenti si afferrano anche gli oggetti). La gravità influenza tutti gli oggetti presenti e sono presenti anche le forze d'attrito sul terreno. In pratica è una simulazione basilare della fisica del nostro mondo. Il concetto non cambia se si trasporta il tutto in un contesto tridimensionale, dove l'unica cosa diversa è il movimento non più costretto in due direzioni. Queste sono ovviamente le basi, tutto quello che c'è intorno (power up, nemici...) non è fondamentale. Infatti alcuni platform sono solo basati su salti precisi per evitare ostacoli: in tal caso calibrare i salti e sfruttare tutte le capacità del personaggio (spesso capace di saltare sui muri o fare particolari acrobazie) è l'unico modo per superare i livelli. Se si vuole invece fare qualcosa di più classico, basta aggiungere diversi nemici (uno che cammina, uno che vola, uno che rimbalza...) e diversi power up (il fungo ed il fiore di Super Mario, per intenderci) che permettono di variare un pò l'azione. Se poi si aggiungono ancora altre cose, si può far diventare il gioco come uno di un altro genere ma con elementi platform, come avevo già spiegato.
Farne uno
Fare un platform non è troppo difficile. Una volta sviluppato l'engine di base, con la fisica correttamente implementata, il gioco è già praticamente fatto. Usando un editor, in particolare Game Maker, potrebbe risultare ancora più facile. Personalmente parlando, quando usavo molto il succitato programma, usando un ottimo tutorial per platform, ne sviluppavo quasi uno a settimana! Ovviamente erano più aborti di giochi che altro, ma questo è comunque indice di come sia facile crearne. Il lavoro di progettazione è comunque fondamentale, come per tutti i giochi, ed il fatto che non riuscissi a fare un gioco intero su cento che ne iniziai ne è la riprova. Inoltre il fattore fantasia è come al solito importante: l'ennesimo clone di Super Mario non è sicuramente quello di cui abbiamo bisogno.
Spero che questa guida vi sia stata utile! Scusatemi per il fatto che aggiorno poco il blog, ma ho davvero poco tempo per gestirlo. Come al solito i commenti sono graditi!
Spero che questa guida vi sia stata utile! Scusatemi per il fatto che aggiorno poco il blog, ma ho davvero poco tempo per gestirlo. Come al solito i commenti sono graditi!
Ciao.. complimenti per il sito.. spieghi davvero cose molto interessanti per me che vorrei fare questo mestiere :)
RispondiEliminaIo sto agli inizi però (dopo aver imparato c e java ora inizio a dedicarmi al c++) e vorrei avere un paio di consigli da una persona più esperta di me... ho qualche dubbio su come si implementa la fisica e l'IA in un gioco.. non è che potresti darmi qualche dritta? se ti fa piacere fare due chiacchiere con me questo è il mio indirizzo mail: allanon.bombadil@gmail.com
Ciao Mauro, mi scuso per la mancata risposta ma purtroppo non ho mai molto tempo per questo blog. In ogni caso, non c'è un modo preciso di implementare l'IA. Scriverò qualcosa al riguardo magari sul prossimo post. Per la fisica, in realtà dipende molto da cosa devi fare. Come ben sai, sono le coordinate x ed y che posizionano un immagine sullo schermo. Le variazioni delle stesse permettono l'illusione del movimento, e più queste variazioni sono grandi, più velocemente si muoverà l'oggetto. Quindi a quel punto basta calcolare con le apposite formule(quelle che si trovano su qualunque libro di fisica delle superiori) le variazioni, in modo da dare un movimento realistico. Magari sono stato poco chiaro, farò nel caso degli esempi.
RispondiEliminaciao e grazie, io ho game maker ma ad esempio quando faccio saltare il personaggio rimane su e non si muove più.
RispondiEliminaNon è che mi potresti dare una mano????
Comunque ho anch'io un acccount blogger e se vi volete iscrivere il blog è www.sanctumxxblog.blogspot.com
Ciao Sanctum. Purtroppo non uso game maker da molto tempo, e quindi non mi ricordo bene. C'è un comando che setta la gravità, e la devi porre in direzione 270 (cioè verso il basso) e come forza un numero maggiore di zero (più è alto il numero, maggiore sarà l'attrazione). Tuttavia questo non basta... Se mastichi l'inglese, c'è l'ottimo tutorial step-by-step di Mark Overmars che usavo io ai tempi, e quello spiega tutto molto bene, ecco il link Qua
RispondiEliminatranquillo, game maker l'ho eliminato. Mi sapresti indicare un altro programma? Grazie
RispondiEliminaGame Maker è il migliore per chi vuole imparare pee me... Personalmente avresti dovuto tenerlo e farci pratica: fare i videogiochi non è una cosa da cinque minuti, richiede tempo, costanza, perseveranza ed innumerevoli fallimenti. Comunque, c'è la lista su questo post
RispondiEliminaGrazie. Ora lo rimetto e ci riprovo intanto vai sul mio blog dove troverai il link del mio forum/social network
RispondiEliminaho provato anche dev c++ ma col c++ nn ci capisco tanto... Voi sapreste darmi qualche consiglio??? Grazie ^_^
RispondiEliminaGuarda, usare il C++ per uno che non ha mai programmato in vita sua buttandosi subito sui giochi è una follia: io prima di poter iniziare a fare Fortress Brest ho dovuto fare tre anni di scuola e molta pratica da me... Se non hai le conoscenze di base di programmazione object oriented e non, è semplicemente impossibile, anche perchè non sono cose che si imparano nel giro di 5 minuti, come ho già detto... ergo, ti rimando a Game Maker ed al tutorial che ti ho postato, sempre ricordandoti che devi perseverare sempre e comunque!
RispondiEliminaok, continuerò a usare game maker, ma comunque ho esperienze in html e pascal
RispondiEliminaBeh, HTML con il C++ non c'entra poco o niente, infatti non è nemmeno un linguaggio di programmazione. Le conoscenze col Pascal possono sicuramente aiutare, ma non sono certo sufficienti, dato che, pur rimanendo uguali a livello di logica, la sintassi è molto diversa e il C++ aggiunge una serie di cose che il Pascal non può gestire, come ad esempio la programmazione ad oggetti, indispensabile per creare videogiochi più complessi del gioco del Tris!
RispondiEliminabeh, sì, hai ragione, ma ora sto crecando di farmi un forum... tu conosci qualche hosting gratuito?? (a parte forumfree, forumcommunity e forumup)
RispondiEliminaPreferirei non andare fuori argomento, nei commenti...
RispondiEliminaComunque no