1 00:00:00,240 --> 00:00:04,700 Nell'ultima puntata di Developing, ho scelto il motore di gioco - Unity - 2 00:00:04,700 --> 00:00:07,040 e ho iniziato ad imparare ad usarlo. 3 00:00:07,040 --> 00:00:10,670 Ma ora è il momento di rivelare l'idea per il mio gioco 4 00:00:10,670 --> 00:00:14,035 e, beh, di iniziare a crearlo. 5 00:00:14,400 --> 00:00:19,130 Ma da dove si inizia a sviluppare un gioco? 6 00:00:19,130 --> 00:00:25,540 Penso sia una domanda d'importanza cruciale perché, come vedrete, 7 00:00:25,540 --> 00:00:29,680 iniziare lo sviluppo di un gioco col piede sbagliato 8 00:00:29,680 --> 00:00:33,797 può rivelarsi disastroso per il progetto. 9 00:00:33,797 --> 00:00:34,897 Fatemi spiegare. 10 00:00:44,800 --> 00:00:48,530 Fatemi iniziare dall'idea per il gioco. 11 00:00:48,530 --> 00:00:52,510 Creerò, e tenetevi forte perché è pazzesco, 12 00:00:52,510 --> 00:00:55,540 un platform bidimensionale a scorrimento orizzontale. 13 00:00:55,540 --> 00:00:57,350 Sì, lo so, tutti gli sviluppatori indie 14 00:00:57,350 --> 00:01:00,119 iniziano con un platform a scorrimento orizzontale. 15 00:01:00,119 --> 00:01:02,320 Ma penso ci siano delle buone ragioni. 16 00:01:02,320 --> 00:01:04,330 Amo il genere. 17 00:01:04,330 --> 00:01:08,460 Nel complesso i platform sono relativamente facili da creare - 18 00:01:08,460 --> 00:01:10,600 quantomeno non è un MMO. 19 00:01:10,600 --> 00:01:15,450 Ed ho creato molti video sul level design e il character design per i platform, 20 00:01:15,450 --> 00:01:17,760 il che dovrebbe tornare utile. 21 00:01:17,760 --> 00:01:24,150 Inoltre sarà, tenetevi forte di nuovo, un platform con una peculiarità. 22 00:01:24,150 --> 00:01:29,120 L'idea è di rendere magnetico il personaggio del mio platform, 23 00:01:29,120 --> 00:01:34,620 ovvero respingerà alcune piattaforme attraendone altre. 24 00:01:34,620 --> 00:01:38,560 E si potrà cambiare la polarità premendo un pulsante. 25 00:01:38,560 --> 00:01:42,910 L'idea mi è venuta da questo gioco: The Legend of Zelda: Oracle of Seasons. 26 00:01:42,910 --> 00:01:45,810 In questo gioco c'è un guanto magnetico come power-up 27 00:01:45,810 --> 00:01:50,600 che permette a Link di respingere alcune superfici attraendone altre. 28 00:01:50,600 --> 00:01:53,357 Può essere usato anche per raccogliere grandi sfere metalliche 29 00:01:53,357 --> 00:01:56,210 da usare nella risoluzione dei rompicapo e per combattere i nemici. 30 00:01:56,210 --> 00:02:01,680 È una meccanica davvero forte ma sembra limitata dal genere, 31 00:02:01,680 --> 00:02:03,800 dalla prospettiva top-down della telecamera, 32 00:02:03,800 --> 00:02:06,960 e ovviamente dai limiti tecnologici del Game Boy. 33 00:02:06,960 --> 00:02:11,860 Così ho pensato: e se prendessi in prestito quell'idea 34 00:02:11,860 --> 00:02:16,500 e la implementassi in un genere diverso, un frenetico platform 2D? 35 00:02:16,500 --> 00:02:19,520 Qualcosa che richiama Celeste o Super Meat Boy. 36 00:02:19,520 --> 00:02:22,355 Un gioco in cui bisogna padroneggiare il magnetismo 37 00:02:22,355 --> 00:02:26,150 per avere velocità, fluidità e precisione. 38 00:02:26,150 --> 00:02:27,800 Questa è l'idea. 39 00:02:27,800 --> 00:02:30,650 Mentre la domanda ora è: da dove inizio? 40 00:02:30,650 --> 00:02:33,630 Apro Unity e inizio a programmare? 41 00:02:33,630 --> 00:02:37,840 Apro Photoshop e inizio a creare la grafica? 42 00:02:37,840 --> 00:02:41,350 Inizio a pensare alla storia o ai personaggi? 43 00:02:41,350 --> 00:02:43,355 Da dove inizio? 44 00:02:43,600 --> 00:02:48,430 Sarò sincero con voi: non è il primo gioco che tento di creare. 45 00:02:48,430 --> 00:02:51,910 Fin da bambino ho avuto idee per i giochi, 46 00:02:51,910 --> 00:02:55,290 e in vari momenti della mia vita ho provato a creare quei giochi 47 00:02:55,290 --> 00:02:57,470 con diversi strumenti e quant'altro. 48 00:02:57,470 --> 00:03:06,460 Ma non ho quasi mai finito quei giochi e penso che la ragione sia sempre la stessa: 49 00:03:06,460 --> 00:03:09,560 ho iniziato nel modo sbagliato. 50 00:03:09,560 --> 00:03:10,680 Lasciate che vi mostri. 51 00:03:10,680 --> 00:03:14,870 Ho preso questa cartella dalla casa dei miei genitori 52 00:03:14,870 --> 00:03:20,930 ed è piena di note e bozzetti e idee per un gioco che stavo creando 53 00:03:20,930 --> 00:03:24,000 alcuni anni prima di iniziare Game Maker's Toolkit. 54 00:03:24,000 --> 00:03:27,868 Questo è un tappetino per il mouse di Starcraft Ghost. 55 00:03:27,868 --> 00:03:30,739 Quel gioco non è mai uscito, giusto? Potrebbe valere qualcosa, 56 00:03:30,739 --> 00:03:32,830 lo metto tra la roba di eBay. 57 00:03:32,830 --> 00:03:36,110 Il gioco avrebbe dovuto chiamarsi Carter's Curse. 58 00:03:36,110 --> 00:03:38,970 Parlava del famoso archeologo Howard Carter, 59 00:03:38,970 --> 00:03:41,800 il tizio che ha scoperto la tomba di Tutankhamon. 60 00:03:41,800 --> 00:03:45,940 E, almeno nel mio gioco, avrebbe anche rievocato un'antica maledizione egizia 61 00:03:45,940 --> 00:03:51,021 che lo avrebbe portato a combattere zombie, mummie e antiche divinità egizie. 62 00:03:51,021 --> 00:03:55,740 Ricordo di aver passato ore ed ore a disegnare tutta questa roba. 63 00:03:55,740 --> 00:03:58,160 Voglio dire... che nerd! 64 00:03:58,480 --> 00:04:01,480 Comunque. Come avreste affrontato questi nemici? 65 00:04:01,480 --> 00:04:04,480 La risposta: giocando a dei rompicapo Nonogram. 66 00:04:04,480 --> 00:04:08,810 I Nonogram sono dei rompicapo a griglie basati sulla logica, un po' come il Sudoku. 67 00:04:08,810 --> 00:04:11,110 Nintendo ha creato molti giochi del genere. 68 00:04:11,110 --> 00:04:13,840 Ero davvero ispirato da giochi come Bookworm Adventures 69 00:04:13,840 --> 00:04:16,970 dove c'è un rompicapo alla base dello schermo 70 00:04:16,970 --> 00:04:20,800 che se completato danneggia i nemici in una piccola scena di combattimento 71 00:04:20,800 --> 00:04:22,560 in cima allo schermo. 72 00:04:22,560 --> 00:04:26,370 La mia idea era simile: ci sarebbe stata una griglia Nonogram alla base dello schermo 73 00:04:26,370 --> 00:04:30,000 mentre Howard Carter avrebbe combattuto i mostri in cima allo schermo. 74 00:04:30,000 --> 00:04:32,280 Sono quindi passato allo sviluppo. 75 00:04:32,280 --> 00:04:35,760 Stavo creando il gioco in un'app per iPad chiamata Codea 76 00:04:35,760 --> 00:04:38,820 che permette di creare giochi per iOS sul vostro iPad. 77 00:04:38,820 --> 00:04:43,430 L'avevo utilizzata in precedenza per una vera e propria app Nonogram per iOS 78 00:04:43,430 --> 00:04:45,600 quindi probabilmente avrei saputo programmarlo, 79 00:04:45,600 --> 00:04:49,700 ma volevo che la grafica fosse meravigliosa così ho aperto Photoshop 80 00:04:49,700 --> 00:04:52,800 iniziando a creare sprite e frame d'animazione. 81 00:04:52,800 --> 00:04:58,210 Ho ancora una cartella su Dropbox piena di sprite e animazioni. 82 00:04:58,210 --> 00:05:02,450 Ho creato molti personaggi diversi, le mosse finali per Howard Carter, 83 00:05:02,450 --> 00:05:08,080 una cutscene introduttiva, i menù con dei bei pulsantoni da premere. 84 00:05:08,080 --> 00:05:10,580 Ero davvero preso. 85 00:05:10,580 --> 00:05:16,722 Ma poi ho capito una cosa. Una cosa abbastanza importante. Una cosa... 86 00:05:16,880 --> 00:05:21,120 abbastanza deleteria per il progetto. 87 00:05:21,120 --> 00:05:26,080 Il gioco non era granché. Davvero pessimo, per niente divertente. 88 00:05:26,080 --> 00:05:31,940 E più programmavo, più sviluppavo, e più capivo qual era il problema: 89 00:05:31,940 --> 00:05:37,040 i Nonogram non hanno abbastanza profondità per un gioco del genere. 90 00:05:37,040 --> 00:05:39,790 Non ci sono né tattica né strategia, 91 00:05:39,790 --> 00:05:44,490 non è possibile adattare le azioni al tipo di nemico che si sta affrontando, 92 00:05:44,490 --> 00:05:47,910 e in definitiva il combattimento era irrilevante. 93 00:05:47,910 --> 00:05:50,720 Avreste potuto ignorare l'intera sezione superiore dello schermo 94 00:05:50,720 --> 00:05:52,320 e il gioco avrebbe funzionato comunque 95 00:05:52,320 --> 00:05:54,580 perché tutto ciò che fate è giocare ad un Nonogram. 96 00:05:54,580 --> 00:05:59,030 Significava non poter rendere il gioco più difficile o interessante 97 00:05:59,030 --> 00:06:01,250 a seconda del nemico che si affronta, 98 00:06:01,250 --> 00:06:05,040 e significava che il giocatore avrebbe fatto la stessa cosa ancora e ancora. 99 00:06:05,040 --> 00:06:09,670 Avevo creato un gioco superficiale, ripetitivo e noioso. 100 00:06:09,670 --> 00:06:13,590 Forse avrei potuto aggiustarlo ma a quel punto ero così avanti nello sviluppo 101 00:06:13,590 --> 00:06:18,960 e così demoralizzato che ho cestinato tutto. 102 00:06:18,960 --> 00:06:21,350 Qual era stato il mio errore? 103 00:06:21,350 --> 00:06:24,470 Beh, con un senno di poi frutto di anni e anni... 104 00:06:24,470 --> 00:06:26,640 è passato quasi un decennio... 105 00:06:26,640 --> 00:06:28,540 mi sembra abbastanza ovvio cos'è accaduto. 106 00:06:28,540 --> 00:06:33,800 Ovvero: quando fate un gioco dovete create molte cose diverse. 107 00:06:33,800 --> 00:06:40,119 Le principali sono la musica, la grafica, il game design, la storia e il codice. 108 00:06:40,119 --> 00:06:44,850 Ora è facile vederle sullo stesso piano... ma non è così. 109 00:06:44,850 --> 00:06:48,330 In molti casi il game design non è alla pari 110 00:06:48,330 --> 00:06:53,250 ma bensì è la base su cui poggiano tutte le altre parti. 111 00:06:53,250 --> 00:06:58,150 E così se quella parte è debole finirà col far crollare il tutto. 112 00:06:58,150 --> 00:07:01,000 Potete risolvere i bug e ridisegnare la grafica 113 00:07:01,000 --> 00:07:03,600 ma se il gameplay è viziato di per sé, 114 00:07:03,600 --> 00:07:07,760 talvolta l'intero progetto potrebbe essere irrecuperabile. 115 00:07:07,760 --> 00:07:09,670 Ed è di fatto quello che mi è accaduto. 116 00:07:09,670 --> 00:07:12,920 Ho dedicato così tanto tempo alla grafica e all'animazione 117 00:07:12,920 --> 00:07:15,740 che nel momento in cui sono finalmente arrivato al gameplay, 118 00:07:15,740 --> 00:07:18,360 mi sono accorto che l'intero progetto era difettoso. 119 00:07:18,360 --> 00:07:21,620 Avevo di fatto costruito una casa su delle fondamenta davvero instabili, 120 00:07:21,620 --> 00:07:26,560 per poi ritrovarmi sorpreso e arrabbiato quando il water è sprofondato nel pavimento. 121 00:07:26,560 --> 00:07:29,830 È imbarazzante dire che non mi è successo solo quella volta. 122 00:07:29,830 --> 00:07:32,720 Volevo creare un gioco d'avventura punta e clicca in stile noir 123 00:07:32,720 --> 00:07:35,410 con un peculiare sistema d'indizi generati proceduralmente - 124 00:07:35,410 --> 00:07:39,120 ma ho dedicato così tanto tempo alla storia e alla ricerca su quel periodo 125 00:07:39,120 --> 00:07:42,240 che non ho mai iniziato a progettare quel sistema. 126 00:07:42,240 --> 00:07:47,310 E volevo creare una versione moderna e frenetica del gioco mobile Snake 127 00:07:47,310 --> 00:07:49,780 ma mi sono così impantanato nel correggere i bug 128 00:07:49,780 --> 00:07:51,920 e nel rendere perfetto il codice per il movimento 129 00:07:51,920 --> 00:07:54,767 che non ho mai scoperto se il gioco fosse divertente 130 00:07:54,767 --> 00:07:57,200 prima di annoiarmi ed esaurirmi. 131 00:07:57,200 --> 00:08:00,710 E quindi ogni volta che ho cercato di progettare un mio gioco 132 00:08:00,710 --> 00:08:06,290 ho messo altri elementi come la storia e la grafica davanti al gameplay. 133 00:08:06,540 --> 00:08:07,330 Perché? 134 00:08:07,680 --> 00:08:13,290 Penso si possa ridurre il tutto a due presupposti decisamente errati. 135 00:08:13,290 --> 00:08:17,980 Il primo presupposto è che se il gioco era figo nella mia testa, 136 00:08:17,980 --> 00:08:22,370 allora lo sarebbe stato anche una volta creato. 137 00:08:22,370 --> 00:08:24,100 Ovviamente non era così. 138 00:08:24,100 --> 00:08:26,110 Il secondo presupposto 139 00:08:26,110 --> 00:08:29,840 era l'impossibilità di capire se il gioco fosse divertente 140 00:08:29,840 --> 00:08:31,830 prima di completarlo. 141 00:08:31,830 --> 00:08:35,390 Avrei dovuto continuare a lavorare finché ad un certo punto 142 00:08:35,390 --> 00:08:38,320 avrei capito se funzionava... giusto? 143 00:08:38,320 --> 00:08:40,400 No, di nuovo sbagliato. 144 00:08:40,400 --> 00:08:46,500 Ed è davvero imbarazzante da raccontare perché ora le risposte appaiono ovvie. 145 00:08:46,500 --> 00:08:48,080 Ma non erano ovvie allora. 146 00:08:48,080 --> 00:08:50,440 È solo da quando faccio Game Maker's Toolkit, 147 00:08:50,440 --> 00:08:52,340 da quando studio lo sviluppo dei videogiochi, 148 00:08:52,340 --> 00:08:55,540 dopo aver intervistato dozzine e dozzine di game designer 149 00:08:55,540 --> 00:09:00,270 che so come nascono molti dei giochi di maggior successo. 150 00:09:00,270 --> 00:09:03,460 I game designer hanno continuamente delle idee 151 00:09:03,460 --> 00:09:07,360 e sono sicuro che nelle loro teste suonino divertentissime. 152 00:09:07,360 --> 00:09:12,400 Ma i migliori game designer sanno che i loro cervelli sono dei gran bugiardi. 153 00:09:12,400 --> 00:09:18,870 L'unico modo per sapere se un'idea è buona è metterla in pratica, testarla. 154 00:09:18,870 --> 00:09:24,510 Ma invece di creare l'intero gioco, un designer deve semplicemente creare un... 155 00:09:24,510 --> 00:09:25,760 prototipo. 156 00:09:25,760 --> 00:09:30,280 Un prototipo è solo un piccolo banco di prova per un'idea, 157 00:09:30,280 --> 00:09:34,350 progettato unicamente per vedere se l'idea è divertente o meno. 158 00:09:34,350 --> 00:09:36,920 Di solito questi prototipi sono davvero brutti 159 00:09:36,920 --> 00:09:42,810 con una grafica raffazzonata o forme di base o sprite presi da altri giochi. 160 00:09:42,810 --> 00:09:45,280 Spesso sono buggati e scadenti 161 00:09:45,280 --> 00:09:48,890 e non prevedono altro se non le caratteristiche essenziali 162 00:09:48,890 --> 00:09:50,540 necessarie per testare quella meccanica. 163 00:09:50,540 --> 00:09:53,930 Sono solo una versione sufficientemente funzionante dell'idea per il gioco, 164 00:09:53,930 --> 00:09:55,760 costruita il più velocemente possibile, 165 00:09:55,760 --> 00:10:00,730 con l'unico scopo di verificare se l'idea per il gioco funziona. 166 00:10:00,730 --> 00:10:04,780 È divertente o interessante? Vale la pena dedicarvicisi? 167 00:10:04,780 --> 00:10:09,760 È una base solida sulla quale costruire il resto del gioco? 168 00:10:09,760 --> 00:10:13,510 Ed è quello che farò. Questa volta lo farò nel modo giusto. 169 00:10:13,510 --> 00:10:16,860 Mi concentrerò esclusivamente sulla creazione del prototipo, 170 00:10:16,860 --> 00:10:19,360 e sarò estremamente disciplinato 171 00:10:19,360 --> 00:10:23,120 e non mi dedicherò ad altro se non a mettere alla prova questa idea. 172 00:10:23,120 --> 00:10:27,020 Per quanto riguarda la grafica, mi affiderò a Google Immagini. 173 00:10:27,020 --> 00:10:29,310 Non ci sarà nessuna musica, nessuna storia, 174 00:10:29,310 --> 00:10:33,910 non penserò al nome del gioco o dei personaggi, 175 00:10:33,910 --> 00:10:38,240 Non inizierò a disegnare l'icona per un gioco che non è stato ancora creato, 176 00:10:38,240 --> 00:10:39,640 Mark, idiota. 177 00:10:39,640 --> 00:10:44,780 Il codice sarà scadente e pieno di bug perché sto ancora imparando ad usare Unity, 178 00:10:44,780 --> 00:10:48,600 ma sarà abbastanza buono per verificare se questa idea funziona. 179 00:10:48,600 --> 00:10:51,912 Solo un banco di prova per testare le meccaniche di gioco 180 00:10:51,912 --> 00:10:53,020 e vedere cos'è divertente. 181 00:10:53,020 --> 00:10:56,485 Quindi iniziamo, e apriamo Unity. 182 00:10:56,485 --> 00:10:57,750 La prima cosa da creare 183 00:10:57,750 --> 00:11:01,110 era un personaggio in grado di muoversi a destra e a sinistra e saltare, 184 00:11:01,110 --> 00:11:05,520 così ho applicato delle forze al rigidbody alla pressione dei tasti dedicati. 185 00:11:05,520 --> 00:11:09,020 Ci sono stati subito dei problemi per niente incoraggianti, 186 00:11:09,020 --> 00:11:10,770 ma alla fine ci sono riuscito. 187 00:11:10,770 --> 00:11:12,640 Poi ho aggiunto un magnete alla scena 188 00:11:12,640 --> 00:11:17,360 facendo in modo che il personaggio ne fosse attratto. 189 00:11:17,360 --> 00:11:21,300 Nel farlo sono dovuto diventare un programmatore esperto 190 00:11:21,300 --> 00:11:24,160 elevando le mie abilità di programmazione fino alla mente galattica, 191 00:11:24,160 --> 00:11:28,590 così mi sono scrocchiato le dita e ho digitato questa linea di codice... 192 00:11:28,590 --> 00:11:31,990 come muovere un rigidbody verso un altro oggetto. 193 00:11:31,990 --> 00:11:34,440 Ok, sì, ho usato Google, trovato del codice, 194 00:11:34,440 --> 00:11:35,930 e l'ho schiaffato nel mio progetto. 195 00:11:35,930 --> 00:11:38,440 Ma mi sono assicurato di aver capito come funziona - 196 00:11:38,440 --> 00:11:42,290 fondamentalmente trova la direzione tra il personaggio ed il magnete 197 00:11:42,290 --> 00:11:45,260 per poi applicare le forze al rigidbody in quella direzione. 198 00:11:45,260 --> 00:11:50,320 Inoltre ho ottimizzato il codice in modo che accelerasse all'avvicinarsi al magnete. 199 00:11:50,320 --> 00:11:53,930 Poi ho fatto in modo che si potesse spegnere il magnete premendo un pulsante 200 00:11:53,930 --> 00:11:59,290 mantenendo però la velocità del personaggio, librandolo in aria. 201 00:11:59,290 --> 00:12:01,430 Quindi se inserisco una piattaforma qui sopra 202 00:12:01,430 --> 00:12:03,770 posso attirare il personaggio verso il magnete, 203 00:12:03,770 --> 00:12:06,580 lasciarlo andare e poi saltarci sopra. 204 00:12:06,580 --> 00:12:11,220 Non è male... ma è un po' difficile da controllare. 205 00:12:11,220 --> 00:12:15,449 Forse il codice non è perfetto, le cose sfuggono di mano abbastanza facilmente. 206 00:12:15,449 --> 00:12:17,588 Ma mentre facevo delle ricerche a riguardo, 207 00:12:17,588 --> 00:12:20,540 mi sono imbattuto in qualcosa di molto utile che c'è in Unity. 208 00:12:20,540 --> 00:12:24,058 È un componente nativo chiamato Point Effector, 209 00:12:24,058 --> 00:12:26,720 che è fondamentalmente... un campo magnetico. 210 00:12:26,720 --> 00:12:30,860 Non so come mi sia sfuggito, la sua icona è letteralmente un magnete. 211 00:12:30,860 --> 00:12:31,900 Ecco come funziona. 212 00:12:31,900 --> 00:12:35,690 Associate un collider ed un Point Effector ad un GameObject, 213 00:12:35,690 --> 00:12:37,521 e poi definite una forza d'attrazione. 214 00:12:37,521 --> 00:12:42,800 Ora quando un rigidbody sarà nel collider, sarà attratto verso il centro del campo. 215 00:12:42,800 --> 00:12:45,595 Inoltre potete usare il sistema di maschere di livello di Unity 216 00:12:45,595 --> 00:12:48,830 in modo da attrarre solo determinati oggetti. 217 00:12:48,830 --> 00:12:51,640 Questo avrebbe certamente reso più facile la creazione del gioco, 218 00:12:51,640 --> 00:12:54,240 così ho decido di rifare il prototipo. 219 00:12:54,240 --> 00:12:56,400 E, sì, il gioco è risultato più solido. 220 00:12:56,400 --> 00:12:59,870 È più facile fare delle modifiche e mi permette di fare così fighe tipo... 221 00:12:59,870 --> 00:13:05,050 se aggiungo un punto d'attrazione ai poli del magnete, succede questo - e non è male. 222 00:13:05,050 --> 00:13:08,630 Ma quando ho creato questo secondo prototipo, per qualche motivo, 223 00:13:08,630 --> 00:13:09,450 non so bene perché, 224 00:13:09,450 --> 00:13:11,770 ho deciso di non usare Mario come personaggio 225 00:13:11,770 --> 00:13:15,720 e di rimpiazzarlo con l'immagine di un magnete. 226 00:13:15,720 --> 00:13:19,350 E questo mi ha dato un'idea: 227 00:13:19,350 --> 00:13:25,940 e se il personaggio non fosse magnetico ma ci fosse un magnete nel mondo di gioco? 228 00:13:25,940 --> 00:13:29,890 E il personaggio potesse avvicinarsi e raccogliere il magnete? 229 00:13:29,890 --> 00:13:34,990 Per farlo ho usato il sistema nativo di Unity dei Joints, un altro componente. 230 00:13:34,990 --> 00:13:39,000 Questo permette di collegare due rigidbody usando vari tipi di giunto 231 00:13:39,000 --> 00:13:40,935 come carniere (Hinge) e molle (Spring). 232 00:13:40,935 --> 00:13:44,160 Quindi ora il personaggio trasporterà il magnete 233 00:13:44,160 --> 00:13:48,340 che, se attratto da un pezzo di metallo, porterà con sé il personaggio. 234 00:13:48,340 --> 00:13:51,530 Finché non lo lascerete andare e sarete di nuovo liberi di muovervi. 235 00:13:51,530 --> 00:13:55,270 E il gameplay che volevo in origine, dove si usava la traiettoria del magnete 236 00:13:55,270 --> 00:13:57,870 per lanciare il personaggio verso una piattaforma più alta, 237 00:13:57,870 --> 00:14:01,710 può essere ottenuto semplicemente lasciando andare il magnete a mezz'aria. 238 00:14:01,710 --> 00:14:06,390 Inoltre permette molte altre cose, come usare due magneti o più. 239 00:14:06,390 --> 00:14:09,030 E potreste, ad esempio, posizionare il magnete qui sopra, 240 00:14:09,030 --> 00:14:13,680 farvi inseguire da un nemico, disattivare il magnetismo e... splat! 241 00:14:13,680 --> 00:14:18,590 Oh, questa in effetti non è male. Potrebbe funzionare. 242 00:14:18,590 --> 00:14:21,240 Improvvisamente il gioco sembrava molto più interessante 243 00:14:21,240 --> 00:14:23,920 rispetto alla mia idea originale che, devo ammettere, 244 00:14:23,920 --> 00:14:26,350 iniziava a preoccuparmi un po'. 245 00:14:26,350 --> 00:14:29,510 Se il vostro personaggio è magnetico e viene attratto e respinto, 246 00:14:29,510 --> 00:14:32,820 è facilissimo sentirsi un po' fuori controllo. 247 00:14:32,820 --> 00:14:34,900 Mentre con un magnete come oggetto separato 248 00:14:34,900 --> 00:14:38,595 ci sono momenti in cui si ha il controllo totale del personaggio 249 00:14:38,595 --> 00:14:41,200 mentre si è un po' fuori controllo quando si trasporta il magnete. 250 00:14:41,200 --> 00:14:44,520 Inoltre ero preoccupato dalla carenza di idee 251 00:14:44,520 --> 00:14:46,968 per un gioco in cui il personaggio è magnetico. 252 00:14:46,968 --> 00:14:50,160 Ma non appena ho avuto due entità separate, 253 00:14:50,160 --> 00:14:52,470 le idee hanno cominciato a fluire. 254 00:14:52,470 --> 00:14:54,990 Inoltre adoro i giochi in cui si fa avanti e indietro 255 00:14:54,990 --> 00:14:57,840 tra due diverse tipologie di gameplay. 256 00:14:57,840 --> 00:15:02,320 Pensate a come cambia Mario Odyssey in base alla presenza del cappello. 257 00:15:02,320 --> 00:15:07,450 Nel mio gioco il personaggio è agile e può saltare molto in alto senza il magnete, 258 00:15:07,450 --> 00:15:10,920 mentre è lento e pesante quando lo trasporta - 259 00:15:10,920 --> 00:15:15,140 ma ovviamente quel magnete apre un mare di opportunità. 260 00:15:15,140 --> 00:15:18,920 Non dovrei essere sorpreso che sia emersa un'idea ancora migliore 261 00:15:18,920 --> 00:15:20,440 durante la prototipazione. 262 00:15:20,440 --> 00:15:24,329 Come abbiamo visto nell'episodio di GMTK 'The Games That Designed Themselves', 263 00:15:24,329 --> 00:15:28,820 è abbastanza comune che emergano nuove idee durante la prototipazione. 264 00:15:28,820 --> 00:15:31,260 Pensiamo al gioco Crypt of the Necrodancer: 265 00:15:31,260 --> 00:15:35,201 nel progetto originario del gioco, avrebbe dovuto essere un roguelike 266 00:15:35,201 --> 00:15:38,380 con un esiguo margine di tempo tra un turno e l'altro. 267 00:15:38,380 --> 00:15:40,558 Ma durante lo sviluppo i designer si sono accorti 268 00:15:40,558 --> 00:15:44,410 che sarebbe stato ancora più interessante se, al posto del timer, 269 00:15:44,410 --> 00:15:46,960 ci fosse stato il ritmo di una canzone. 270 00:15:46,960 --> 00:15:51,737 Quindi i prototipi non sono solo un modo per testare e provare la validità di un'idea: 271 00:15:51,737 --> 00:15:56,040 sono un modo per generare idee nuove e migliori. 272 00:15:56,040 --> 00:16:00,160 Durante questa fase ho fatto un'altra interessante scoperta in Unity: 273 00:16:00,160 --> 00:16:02,219 questo si chiama Sprite Shape. 274 00:16:02,219 --> 00:16:06,030 E viene generalmente usato quando si vuole fare del level design organico, 275 00:16:06,030 --> 00:16:08,080 come nei giochi di Ori, 276 00:16:08,080 --> 00:16:11,190 ma nel mio caso l'ho usato per ottenere un colore uniforme 277 00:16:11,190 --> 00:16:14,360 che mi ha permesso di fare un rapidissimo level design. 278 00:16:14,360 --> 00:16:17,160 Ho potuto assemblare l'area di un prototipo 279 00:16:17,160 --> 00:16:20,210 usando delle semplici maniglie come in Photoshop. 280 00:16:20,210 --> 00:16:21,860 E così ho ricostruito il prototipo 281 00:16:21,860 --> 00:16:25,840 e questa volta ho voluto che il personaggio fosse un po' più facile da controllare, 282 00:16:25,840 --> 00:16:28,240 qualcosa di più simile ad un vero personaggio dei videogiochi. 283 00:16:28,240 --> 00:16:32,620 Non volevo rimanere impantanato nella programmazione di movimenti e salti, 284 00:16:32,620 --> 00:16:36,160 così ho scaricato da internet uno script per il controllo del personaggio. 285 00:16:36,160 --> 00:16:37,590 Funziona benissimo, 286 00:16:37,590 --> 00:16:42,680 così in futuro potrò concentrarmi nel migliorarlo, rifarlo o quant'altro. 287 00:16:42,680 --> 00:16:45,520 Per ora non voglio dedicarci altro tempo. 288 00:16:45,520 --> 00:16:48,760 In questo prototipo ho anche iniziato a vagliare altre meccaniche 289 00:16:48,760 --> 00:16:55,480 come il poter lanciare e richiamare a sé il magnete come Thor e il suo martello. 290 00:16:55,480 --> 00:16:59,260 E dato che il rigidbody del magnete rimbalza sul rigidbody del personaggio, 291 00:16:59,260 --> 00:17:02,330 darà un piccolo feedback quando lo acchiappate. 292 00:17:02,330 --> 00:17:04,950 È una sensazione di libertà ludica. Bellissimo. 293 00:17:04,950 --> 00:17:09,020 E poi ho pensato a vari scenari in cui si può usare il magnete, 294 00:17:09,020 --> 00:17:12,210 come lanciarlo contro un muro per creare una piattaforma. 295 00:17:12,210 --> 00:17:16,730 Magari collegarlo ad un pistone per poi slacciarlo al momento giusto per farlo volare. 296 00:17:16,730 --> 00:17:20,520 Magari invertire la sua polarità per saltare tra due nastri trasportatori. 297 00:17:20,520 --> 00:17:23,360 O ancora: abbassare questa piattaforma, 298 00:17:23,360 --> 00:17:27,870 salirci sopra e poi cambiare la polarità del magnete per lanciarsi in aria. 299 00:17:27,870 --> 00:17:30,620 Whoa, non è niente male, vero? 300 00:17:30,620 --> 00:17:35,220 Sembra proprio un videogioco. È divertente! 301 00:17:35,220 --> 00:17:40,480 Ed è stato il momento in cui ho sentito che questa idea aveva del potenziale. 302 00:17:40,480 --> 00:17:46,220 È originale: ho visto molti giochi basati sul magnetismo, ma niente di simile. 303 00:17:46,220 --> 00:17:50,540 Permette un gameplay basato sia sul platforming sia sui rompicapo. 304 00:17:50,540 --> 00:17:54,100 Sento che le idee per questo gioco fluiscono così facilmente 305 00:17:54,100 --> 00:17:56,380 che sarà possibile creare molti livelli diversi. 306 00:17:56,380 --> 00:17:58,830 E, soprattutto, è davvero divertente da giocare. 307 00:17:58,830 --> 00:18:00,960 Mi basta entrare in questa scena su Unity, 308 00:18:00,960 --> 00:18:04,410 prendere un controller, ed è tutto davvero piacevole. 309 00:18:04,410 --> 00:18:06,870 È sicuramente un ottimo segno. 310 00:18:06,870 --> 00:18:10,250 È questo il potere dei prototipi: 311 00:18:10,250 --> 00:18:15,070 potete usarli per verificare se l'idea per un gioco è effettivamente buona. 312 00:18:15,070 --> 00:18:16,440 E se siete davvero fortunati, 313 00:18:16,440 --> 00:18:20,820 potreste veder emergere nuove idee durante questa fase di prototipazione. 314 00:18:20,820 --> 00:18:24,840 Credo sia necessario un certo livello di disciplina: 315 00:18:24,840 --> 00:18:30,910 al momento non dovete concentrarvi su nient'altro, solo il gameplay. 316 00:18:30,910 --> 00:18:32,100 Ed è difficile. 317 00:18:32,100 --> 00:18:36,910 In questo video non vi ho mostrato l'intera settimana passata sugli effetti particellari, 318 00:18:36,910 --> 00:18:40,750 gli shader, gli elementi dell'interfaccia e cose così - 319 00:18:40,750 --> 00:18:45,530 Sono ricaduto nella vecchia abitudine di essere distratto e rapito 320 00:18:45,530 --> 00:18:48,380 da cose che al momento non sono importanti. 321 00:18:48,380 --> 00:18:51,800 Ma per fortuna me ne sono reso conto e ho cestinato quel prototipo 322 00:18:51,800 --> 00:18:54,430 prima di tornare alle cose importanti. 323 00:18:54,430 --> 00:18:56,640 E in definitiva penso che abbia funzionato: 324 00:18:56,640 --> 00:18:59,650 ho finito col creare qualcosa che credo sia davvero divertente, 325 00:18:59,650 --> 00:19:04,500 che abbia del potenziale, e sul quale sono entusiasta di lavorare. 326 00:19:04,500 --> 00:19:07,510 I giochi precedenti che ho cercato di creare quando ero più giovane, 327 00:19:07,510 --> 00:19:11,600 si basavano su una sorta di cieca speranza che il gioco fosse divertente, 328 00:19:11,600 --> 00:19:15,450 che non è il modo più incoraggiante per creare un gioco. 329 00:19:15,450 --> 00:19:19,300 Ma ora sento di star costruendo su delle basi davvero solide 330 00:19:19,300 --> 00:19:23,620 e ora tutti gli altri aspetti - la storia, la musica, la grafica - 331 00:19:23,620 --> 00:19:29,200 possono essere costruiti sapendo che le fondamenta sottostanti sono solide. 332 00:19:29,200 --> 00:19:34,400 E così credo che sia questo il modo per iniziare a creare un gioco: 333 00:19:34,400 --> 00:19:36,280 costruire un prototipo. 334 00:19:36,280 --> 00:19:40,850 Resta solo una domanda: poi cosa diavolo faccio? 335 00:19:40,850 --> 00:19:42,920 Immagino che lo scopriremo la prossima volta, 336 00:19:42,920 --> 00:19:44,760 nel prossimo episodio di Developing. 337 00:19:44,760 --> 00:19:46,700 Grazie mille per la visione, 338 00:19:46,700 --> 00:19:50,130 e spero di rivedervi alla prossima tappa di questo viaggio. 339 00:19:50,130 --> 00:19:51,300 Arrivederci. 340 00:20:14,320 --> 00:20:18,320 L'idea mi è venuta da questo gioco, The Legend of Zelda: Oracle of Seasons. 341 00:20:19,701 --> 00:20:22,510 Dannazione. Da questo gioco. Oops. 342 00:20:25,120 --> 00:20:26,370 Da questo gioco. 343 00:20:26,931 --> 00:20:28,421 Mi è venuta da questo gioco. 344 00:20:28,421 --> 00:20:29,425 questo gioco. 345 00:20:29,492 --> 00:20:30,212 questo gioco. 346 00:20:30,212 --> 00:20:32,954 questo gioco: The Legend of Zelda: Oracle of Seasons. 347 00:20:32,954 --> 00:20:34,249 venuta da 348 00:20:34,474 --> 00:20:38,630 L'idea mi è venuta da questo gioco: The Legend of Zelda: Oracle of Seasons. 349 00:20:40,200 --> 00:20:41,450 Questa era ottima.