Come si impara a programmare videogiochi?

0

Questo post è apparso originariamente sul forum di Indie Vault a opera del sommo Tommo, lo riproponiamo qui (con qualche piccolo editing e aggiornamento) a imperitura memoria!

Sarebbe un po’ da aggiornare (magari anche da parte di altri, perché no?), ma comunque rimane una buona base di partenza da linkare a chiunque chieda “da dove inizio?”

A voi!

Come inizio a programmare videogiochi?

Apro questo thread in risposta alle decine di thread sullo stesso argomento che vengono aperti continuamente, e finiscono sempre con mezzi consigli imprecisi, flame aggravati e gente bannata.

D’ora in poi i “beginners” che vogliono qualche consiglio su che strada prendere, possono postare qui!

WARNING: ogni altro thread “concorrente” verrà terminato senza pietà alcuna!

Non esiste la strada giusta

Per iniziare, rispondo con una domanda: cos’è che vuoi fare, esattamente?

Esistono giochi grandi, piccoli, retro, AAA, artistici etc… ogni tipo di gioco ha diversi requisiti, richiede diverse capacità e tempo di realizzazione.

Allo stesso modo il “programmatore di videogiochi” non è una figura indistinta, ognuno si specializza in ciò che preferisce.

C’è la carriera “tecnica” di chi punta a lungo termine nell’industria, c’è chi vuole fare soldi coi giochi Flash della domenica, chi vuole raccontare qualcosa, chi vuole solo fare il gioco che ha sempre sognato, etc.

Un po’ come in un RPG, prima di partire si sceglie la classe, e come si vuole giocare. :)

Fatto? Fatto.

Google is your best friend

E se fare videogiochi è un’attività così multiforme, allora come faccio a trovare tutorial che mi spieghino che devo fare?
La risposta è una sola e categorica: non esistono!

Però sapendo cercare e sapendo chiedere, si trova sempre qualcuno che ha già affrontato un problema simile nel vasto internet.

Saper cercare e saper modificare ogni soluzione a proprio vantaggio è il requisito #1 per qualsiasi gamedev che si rispetti.

Saper trovare la direzione giusta per realizzare quello che si vuole è importantissimo, e questo thread nasce proprio per scongiurare i tanti thread tipo “voglio iniziare a fare videogiochi, ditemi come si fa” e le loro conclusioni pirotecniche :D

In questo post provo a linkare tutte le soluzioni più importanti spiegando il loro livello, ma è solo un riassunto da integrare con le proprie ricerche… La pigrizia non è ammessa!

But he speaks English

Se saper cercare è il requisito #1, il requisito #2 è sicuramente sapere l’inglese da paura, perché tutto quello che si trova di veramente utile su internet è regolarmente in inglese!

Si può anche provare ad andare avanti con l’italiano, con i vari libri universitari di informatica e con quel poco che arriva tradotto, ma senza l’inglese si è programmatori di serie B, poco da discutere, nemmeno su un sito .it.

E poi non facciamo i soliti italiani, suvvia. :D

Gli attrezzi del mestiere

Qualcuno avrà fatto caso che, arrivato al quarto paragrafo, ancora non ho proferito le parole sacre, quelle che ogni nabbo (detto in maniera affettiva, sia chiaro) ama ripetere: il famigerato “miglior linguaggio”.

Ebbene, il linguaggio è uno strumento, anzi lo strumento base, e come tale va scelto per ultimo. EBBENE SÌ. Il linguaggio non è importante.

Quello che conta, sono i problemi che bisogna risolvere, e quelli li risolvono i famosi “tools”, cioè i famosissimi Game Engines, Graphic Libraries, DirectX, OpenGL eccetera.

Ogni tipo di tool ha diverse potenzialità e si trova ad un livello più o meno “alto”: i tool ad alto livello sono quelli più completi ma anche meno flessibili (ad esempio limitati a poche tipologie di gioco in cui eccellono) e “chiusi” (aggiungere feature particolari può rivelarsi impossibile), mentre i tool a basso livello non bastano da soli per fare un gioco, ma sono flessibili e fanno capire molto di più come funzionano le cose.

It is dangerous to go alone, take this

AKA tool di sviluppo rapido.

Con questi tool si possono realizzare giochi molto velocemente e concentrandosi sul lato gameplay/grafica senza grandi conoscenze di programmazione, ma attenzione perchè @TheCrib vi odierà se li usate. :D

Ocio, un tool completo non vi leva la responsabilità di risolvere i vostri problemi: il cervello serve sempre!

Tool di sviluppo “rapido” popolari

Storicamente, i tool di sviluppo rapido erano una buona soluzione per sviluppare un prototipo del gioco, e per provare se le idee fondamentale di gameplay potevano funzionare, ma non per realizzare l’intero prodotto finale (un esempio possono essere le vecchie versioni di GameMaker). Ad oggi, esistono tool completi che permettono uno sviluppo abbastanza rapido, ma sono anche abbastanza solidi da poter essere usati per lo sviluppo del gioco intero – anche se non sempre.

Ecco una breve lista di tool disponibili anche in versione gratuita:

  • Unity: tool molto flessibile che permette lo sviluppo di giochi di quasi ogni tipologia, sia in 2D che in 3D. Usa C# (o meno spesso JavaScript) per la parte di programmazione. Ha un asset store dove componenti prefatti (modelli o anche script) possono essere comprati o venduti. Permette di creare binari per PC/Mac/Linux/Android/iOS e alcune console.

  • Unreal Engine: altro tool molto popolare e generico quanto Unity. Storicamente migliore sul lato rendering (ma la cosa è discutibile oggigiorno), ha un sistema chiamato “blueprints” che permette di creare script con un editor visuale che non richiede la conoscenza di linguaggi di programmazione.

  • Godot Engine: tool simile a Unity, ma meno stabile e/o con meno features. È però totalmente gratis e open source.

  • GameMaker: Studio: storico tool abbastanza maturo, orientato ai giochi 2D.

  • Construct: tool limitato al 2D, ma ben fatto. Ha un sistema di drag’n’drop che non necessita di conoscenza di linguaggi di programmazione.

  • Stencyl: altro tool prettamente 2D, abbastanza semplice ma completo, che permette anch’esso di creare la logica degli oggetti senza scrivere codice, ed è inoltre disponibile in italiano.

  • RPG Maker: tool specifico per creare RPG in 2D/isometrici, contiene molti elementi già pronti per sviluppare rapidamente questo tipo di giochi. Diventa molto limitato se si vuole uscire dal “seminato”.

  • Twine: tool (open source) che permette di creare facilmente storie interattive, anche complesse.

Real Programmers write engines

AKA tool di sviluppo lento.

Generalmente, nella mente del giovane smanettone, vige l’eguaglianza videogioco = engine. E questo è SBAGLIATO. Almeno quanto fare sesso con un rinoceronte che non ti ama più (cit.).

Potrei dire che partire a sviluppare costruendo il proprio motore sia un buon esercizio didattico, che è un’esperienza formativa, che… ma sarebbero tutte ca##ate. :D

Un motore proprietario non dovrebbe essere scritto prima del gioco, a meno che non si abbia una grande esperienza, e si stia leggendo questo post per passare un due orette visto quanto è lungo.

Un motore di gioco è un pezzo di software che deve bilanciare una MAREA di vincoli e di sfide tecniche che difficilmente chi è alle prime armi saprà individuare a priori, portando a design sballati che fanno tutto e niente… e soprattutto, il “design a priori” non porterà mai a un motore funzionante e completo alla prova dei fatti!

Il mio consiglio è di essere umili e partire seguendo un motore fatto da altri, magari uno di quelli del paragrafo sopra, oppure preso da un buon libro, il tutto mentre si è ben ancorati alla realtà da un gioco che si sta provando a finire. Non iniziare, FINIRE. che è ben diverso.

In questo modo, finito il gioco è possibile trovarsi tra le mani un bel motore semplice e riutilizzabile, e un sacco di soddisfazione.

Qualsiasi altro modo vi porterà a mostruosità così mostruose da sembrarvi errori di gioventù già a 21 anni. Ve lo garantisco. :D

Va detto anche che se si vuole tentare una vera carriera di game developer dal lato “programmazione”, affrontare almeno una volta la costruzione di un motore con gli strumenti giusti mette un livello sopra a chi smanetta con i motoracci tanto odiati dai pro, perché permette di capire davvero che cosa è importante quando si sviluppa un gioco.

Le vie di mezzo

Esistono anche innumerevoli vie di mezzo, cioè librerie più o meno open source e più o meno flessibili, che forniscono un sacco di roba, ma devono comunque essere integrate per realizzare un gioco.

Personalmente non gradisco questo approccio: anche se probabilmente è più didattico, porta tuttavia con grande facilità a risolvere problemi schiaffando dentro librerie e complicando sempre di più il proprio codice, ed è l’antitesi del Keep It Simple.

Però appunto è didattico, perché obbliga a imparare come le diverse parti di un motore di gioco comunicano tra loro e sono integrate.

Esempi in questo senso possono essere Ogre3D (libreria C++ utilizzabile come renderer), pygame (libreria Python per fare semplici giochi 2D) o Box2D (libreria C++ per gestire fisica in 2D).

Keep it simple

A volte, per certi tipi di gioco non è nemmeno necessario usare o costruirsi un framework…

A volte se il gioco è abbastanza semplice si può direttamente programmare quello, senza passare dal via. :)

È una pratica che probabilmente porta a codice sporco, confuso e poco riusabile, ma è un’opzione che viene fin troppo spesso accantonata, anche quando sarebbe la soluzione migliore e la più rapida!

Da consigliarsi per giochi 2D semplici in linguaggi di altissimo livello tipo Flash, Java, HTML5 etc, dove il linguaggio di per sé è già abbastanza espressivo e “grafico” senza bisogno di usare altro.

È anche la cosa migliore per fare un prototipo di gameplay!

TO DO linguaggi adatti a lavorare senza engine.

Requisiti consigliati

Anche se nel resto del post la faccio praticona, aggiungo che una solida preparazione sulla struttura dei processori/memoria, sulle proprietà degli algoritmi, e sull’algebra/geometria lineare è un grande aiuto, e anche se si può tranquillamente fare un gioco senza sapere niente di tutto ciò, essere ferrati su questi argomenti merita sicuramente in termini di qualità di quello che si scrive.

Il posto migliore per studiare quelle cose è l’università, che non è così inutile come si ama dire in giro. :D

CODAREEE!!!

Quindi, abbiamo scelto la direzione da prendere, il tool da usare, e di conseguenza il linguaggio. E ora?

Ora, bisogna sbatterci la faccia e provare, senza troppa paura di sbagliare.

L’esperienza si fa con gli errori, i primi giochi non saranno entusiasmanti e i primi motori saranno delle robe contorte.
Ma conta il viaggio, non la meta, quindi codareee!!!

~fin~

@tutti: consigliatemi tutti i software e i cambiamenti che vi pare, facciamo una cosa fatta bene. :)

BrunoB Come inizio a programmare videogiochi?

Apro questo thread in risposta alle decine di thread sullo stesso argomento che vengono aperti continuamente, e finiscono sempre con mezzi consigli imprecisi, flame aggravati e gente bannata…… D’ora in poi i “beginners” che vogliono qualche consiglio su che strada prendere, possono postare qui!… WARNING: ogni altro thread “concorrente” verrà terminato senza pietà alcuna!

guarda, forse l’articolo non l’hai letto, ma ti ho ripostato l’introduzione, se voglia essere una “bibbia” o meno ognuno giudicherà da come si “presenta”… imho stando alle premesse che ti ho citato, vuole essere proprio (di presunzione) il thread “definitivo” o comunque di riferimento a riguardo, e questa è una delle ragioni per cui cominciandolo a leggere e… finito di leggerlo l’ho definito “deludente”. Proprio perchè da come si “autointroduceva” mi aspettavo chissà cosa, mi aspettavo una disamina molto più approfondita che non ritrovarmi l’obbligo di conoscere un inglese da paura.. e sorvolare compeltamente su una marea di aspetti molto più importanti che non son stati chiamati in causa manco di striscio..
ecco perchè ho voluto mettere i puntini sulle “i”. se si fosse proposto UMILMENTE come un thread indicativo E STOP, tanto di cappello, ci son scritte tante cose giuste, altre magari opinabili ed altre come l’inglese con la quale proprio mi trovo in disaccordo (basterebbe togliere il “da paura” ma anche quella è presunzione… è un voler dire io lo magno a colazione e posso sviluppare, voi boveri ignorandi nisba… chiaro il concetto?), siccome però è un articolo che appunto non vuole essere umilmente un thread e basta, ma si autodichiara IL THREAD (tutti gli altri son nessuno) allora mi permetto di dire la mia e dissentire.

ad ogni modo, per chi volesse imparare a usare Blender prima di correre all’estero ci sono degli ottimissimi videotutorial spiegati benissimo e dall’abc sul canale di questo tizio sul tubo, ma è giusto per dirne una…
https://www.youtube.com/user/ilstudiox

sarebbe bello anche valorizzare quello che facciamo in italia, o se non è in inglese non “fa figo”?

BrunoB Questo post è apparso originariamente sul forum di Indie Vault a opera del sommo Tommo, lo riproponiamo qui (con qualche piccolo editing e aggiornamento) a imperitura memoria!

eh, ma non riprendere solo quello che ti fa comodo… nel contesto da cui è stato preso (IV) voleva essere un topic di riferimento, per evitare 1000 topic mono-post con scritto “voglio fare videogiochi, che faccio?”
Io non ci vedo nessun “atteggiamento di superiorità ” e se proprio vogliamo parlare di umiltà mi farei un po’ di autocritica ;)

L’avevo già letta in passato ma è ancora piuttosto attuale, anche quel “c’è chi vuole fare soldi coi giochi flash della domenica…” :metal::stuck_out_tongue_closed_eyes::metal:

onestamente ho trovato l’articolo alquanto spicciolo e un po’ deludente, specie considerando titolo e premesse che sembrava dovesse “illuminare” davvero tutti i niubbi e sbaragliare qualsiasi altro “thread concorrente”.
inoltre ci sono alcune cose con le quali sono nettamente in disaccordo:
1) non è affatto detto che debba essere come in un rpg, che uno si “sceglie la classe” e via, molte volte la “classe” la si scopre casualmente, oppure ci si rivela a noi stessi man mano che “cresciamo” come sviluppatori. Non è detto che sia cosa nota o che si scelga in partenza, strada facendo possono tranquillamente succederne di tutti i colori, possiamo partire come grafici2D o con l’idea di fare un platform e ritrovarci a fare tutt’altro…
2) l’inglese è sicuramente importante e per molte cose indispensabile, questo è vero, ma basta qualche conoscenza di base e alla meno peggio un po’ di google translator per “arrangiarsi”, quel “da paura” di cui l’articolo parla, è mero terrorismo psicologico e non è affatto requisito imprescindibile come sembrerebbe dare a intendere.
Alla lista dei tool gratuiti proporrei di aggiungere anche “STENCYL”, intanto perchè a differenza di altri è in ITALIANO, e poi perchè se non ricordo male (in caso scusatemi e correggetemi) per fare i giochi “flash” dovrebbe essere completamente fruibile in tutte le sue funzioni (salvo poi voler esportare altrove o in altri formati, ma da quel punto di vista è equiparabile a Game Maker).

NN81 1) non è affatto detto che debba essere come in un rpg, che uno si “sceglie la classe” e via, molte volte la “classe” la si scopre casualmente, oppure ci si rivela a noi stessi man mano che “cresciamo” come sviluppatori. Non è detto che sia cosa nota o che si scelga in partenza, strada facendo possono tranquillamente succederne di tutti i colori, possiamo partire come grafici2D o con l’idea di fare un platform e ritrovarci a fare tutt’altro…

Questo discorso che tu fai e’ anche vero, pero’ dipende anche dal tipo di sviluppatore che si e’/si vuole essere: se si vuole provare la strada indipendente, o si e’ proprio agli inizi e si vuole esplorare il campo, le dinamiche che tu descrivi sicuramente avvengono. Se si e’ invece gia’ un po’ a conoscenza dell’ambiente e si vuole impostare una carriera in uno studio gia’ esistente, molto piu’ spesso si sceglie in cosa specializzarsi, stile RPG.

NN81 2) l’inglese è sicuramente importante e per molte cose indispensabile, questo è vero, ma basta qualche conoscenza di base e alla meno peggio un po’ di google translator per “arrangiarsi”, quel “da paura” di cui l’articolo parla, è mero terrorismo psicologico e non è affatto requisito imprescindibile come sembrerebbe dare a intendere.

Su questa cosa non sono invece d’accordo. Cioe’, poi, bisognerebbe anche capire cosa vuol dire “da paura” o meno. Certo, per i tutorial o le documentazioni, un inglese decente puo’ bastare. Ma la game industry e’ un campo globale, se si vuole lavorare spesso o ci si sposta all’estero da dipendente (e quindi serve parlare e scrivere bene), o se si prova da indipendenti poter lavorare con publisher stranieri, o andare ad eventi internazionali a mostrare i giochi, sono passi molto utili/fondamentali, e anche per essi serve una ottima conoscenza.

NN81 Alla lista dei tool gratuiti proporrei di aggiungere anche “STENCYL”, intanto perchè a differenza di altri è in ITALIANO, e poi perchè se non ricordo male (in caso scusatemi e correggetemi) per fare i giochi “flash” dovrebbe essere completamente fruibile in tutte le sue funzioni (salvo poi voler esportare altrove o in altri formati, ma da quel punto di vista è equiparabile a Game Maker).

Ho curato io la lista dei tool, che non esisteva nell’articolo originale. Non volevo fare un listone ma piu’ una selezione, ho lasciato fuori Stencyl solo perche’ gia’ avevo messo GameMaker (piu’ conosciuto e con piu’ storia) e Construct (di cui sento parlare piu’ di Stencyl), ma e’ stata una scelta assolutamente superficiale. Possiamo anche aggiungerlo, ma non vorrei che dopo si provasse a fare la lista di tools definitiva che e’ una gran fatica a fronte di una bassa utilita’…

NN81 trovo che gli RPG Maker siano un ottimo antipasto

Io invece penso che RPG Maker nasconda troppe cose per darti una vera idea di cosa significhi fare un gioco (e l’ho usato anche io ), molto meglio GameMaker a questo punto.

Per quel che riguarda l’inglese se uno sta proprio a zero c’è Duolingo che ho trovato molto buono per farsi delle basi (io l’ho usato per il francese ed il tedesco)
http://www.duolingo.com/

NN81 onestamente ho trovato l’articolo alquanto spicciolo e un po’ deludente, specie considerando titolo e premesse che sembrava dovesse “illuminare” davvero tutti i niubbi e sbaragliare qualsiasi altro “thread concorrente”.

Su questo punto mi trovi completamente d’accordo.
Anzi, già da un po’ stavo pensando di scrivere una “guida” simile (da un noob per i noobs), ma poi temevo che avrebbe abbassato troppo il livello del forum.. :/

Pasto eh, ma non riprendere solo quello che ti fa comodo… nel contesto da cui è stato preso (IV) voleva essere un topic di riferimento, per evitare 1000 topic mono-post con scritto “voglio fare videogiochi, che faccio?”

Eh, ma a me non pare dia una risposta poi così esaustiva alla domanda; anzi quando mi è capitato di leggerlo anni fa mi ha reso semplicemente più confuso.
Cioè, questa magari è una cosa scema, ma da un post intitolato “Come si impara a programmare videogiochi?” mi aspetto almeno che spieghi (o meglio “menzioni”) cosa sia un game loop, o che comunque includa un mini glossario dei termini più comuni e/o delle varie cose di cui si potrebbe occupare un programmatore in un videogioco [Fisica, Intelligenza Artificiale, Shaders, “creare un network per il multiplayer online”1, etc.. ]

(NOTA: ho appena realizzato che il post originale è indirizzato ad aspiranti programmatori di videogiochi quindi le prossime righe perdono di senso :( )


Delle risorse che invece ho trovato più illuminanti e interessanti (io assumo che tutti i noobs puntino ad essere game designers, o almeno credano di volerlo) sono state:

1) questi post di Ciro Continisio http://www.html.it/guide/guida-game-design/
in cui espone vari concetti e riflessioni (applicabili anche a giochi-non-video)

2) and THIS http://wannabe.urustar.net/ , che ha praticamente definito tutto quello che ho fatto fin’ora.


P.s.

Per svariati anni ho trovato un mistero come si potesse fare un programma con un’interfaccia grafica, dato che ho sempre fatto tutto da terminale, prima di venire a conoscenza dell’esistenza di librerie già scritte appositamente per quello; pensate sia comune come problema?

1: per quel che riguarda questo argomento brancolo nel buio, ho paura anche solo a scriverlo

Wintermute
guarda, riguardo il punto “1” visto che l’articolo cita i “beginners” come utenti in indirizzo particolare, credo che il parlare di fare “carriera” meriti tutto un discorso a parte…

riguardo il punto “2” non sei poi così in disaccordo come sostieni inizialmente, infatti tu stesso subito dopo riconosci che bisognerebbe “capire cosa vuol dire da paura”, ma per come la vedo io avere un inglese da paura significa qualcosa che si approssima all’essere madrelingua, o comunque possederne una proprietà di linguaggio tale da potersi destreggiare autonomamente in lungo e in largo, cosa che ripeto ritengo esageratamente esagerata e di sicuro non indispensabile (ad un certo livello) per un “beginner”.

riguardo il tool (essendo stati citati tool gratuiti, infatti si menziona Construct1, o Classic che dir si voglia, piuttosto che un Construct2 o un Clickteam Fusion che non possono definirsi free in quanto le features sono limitate a tot nelle rispettive versioni “free”) ho ritenuto opportuno menzionare STENCYL perchè è probabilmente l’unico in italiano esistente, il che per un “beginner” che non mastica molto l’inglese è senz’ ombra di dubbio un aspetto di non poca considerazione _
questo, l’umile parere di un “beginner” che sta IMPARANDO A PROGRAMMARE VIDEOGIOCHI.
se poi ho frainteso l’articolo, chiedo venia XD

NN81 cosa che ripeto ritengo esageratamente esagerata e di sicuro non indispensabile (ad un certo livello) per un “beginner”.

eh, ma non puoi spendere anni a diventare programmatore e “poi dopo” imparare l’ inglese. Credo che il percorso di crescita di questi aspetti debba essere parallelo, quindi immagino che il consiglio sia quello di non tralasciare l’ inglese ma di abituarsi fin da subito ad usare la documentazione inglese.

se poi non diventi programmatore, almeno conosci una lingua in più! :P

Pasto e chi lo mette in dubbio? ma da lì ad arrivare a dire che padroneggiare una lingua ad un livello “da paura” sia requisito ce ne passa di acqua sotto i ponti, ma ce ne passa… del resto come ho detto nel primo commento: l’inglese è sicuramente molto importante e per MOLTE COSE INDISPENSABILE, ma non ne ho certo parlato in termini di “conoscenza da paura” a nessuno nè lo vedo come requisito imprescindibile (specie per un beginner) come invece da ad intendere l’articolo.
Ci tengo a mettere i punti sulle “i” perchè son cose come queste, a volte, che fanno desistere la gente in partenza.
Da un lato si vorrebbe incoraggiare poi in realtà si finisce col fare terrorismo, sto tool da usare è difficile, sto tool richiede conoscenze di liguaggio di programmazione o non ci fai un piffero… ho letto tante cazzate in giro…
Per quanto riguarda il tema dell’articolo, ci sarebbero un sacco di cose mio avviso è molto più importanti di cui parlare che non l’elencare 4 tool e 2 consigli messi in croce (tra l’altro poi, come nel caso dell’inglese, sballati perfino).

NN81 credo che il post non voglia essere la bibbia sul cosa fare (anche perchè, come riportato, una “risposta non c’è”) quindi credo sia più costruttivo integrare il post con la propria esperienza piuttosto che analizzare punto per punto.
Nell’ultimo anno ad esempio ho preso un corso (in inglese ovviamente :P) su Udemy e sto imparando qualcosa di Blender e di inglese. Seguendo il video non ho grossi problemi a capire cosa viene fatto, ma non nascondo che la mia conoscenza limitata mi fa perdere molto di quello che dicono… che tipicamente sono dettagli sul perchè e per come si fanno certe scelte (=vera conoscenza! :D ).

Pasto Comunque Blender è un software “multifunzione”, nel senso che è pensato sia per fare rendering architetturali, che VFX, che assets per videogiochi. E’ quindi difficile trovare un corso o uno youtuber che spieghi tutto per fare gli assets, senza contare che spesso Blender lo modificano nell’interfaccia e quindi i vecchi tutorial fanno più confusione che altro.

Per modellare io ho imparato negli anni da solo mischiando la sperimentazione con qualche tutorial visto qua e la al bisogno. Tutte le volte che ho provato a seguire degli youtubers interessanti (redbaron85, CG cookie e David Ward, che comunque consiglio) finivo per rimanere sempre insoddisfatto dalla poca applicabilità per il real time.

Una cosa che mi sento di consigliare non sono videotutorials ma una vecchia rivista online che ho sempre seguito e che nel suo piccolo era fantastica, ma purtroppo era un progetto personale che ha avuto una periodicità molto diluita nel tempo e che ultimamente era stata abbandonata: si chiama Blender Magazine Italia
http://magazine.blender.it/
Di recente hanno fatto uscire un numero, a novembre 2016.

NN81 ad ogni modo, per chi volesse imparare a usare Blender prima di correre all’estero ci sono degli ottimissimi videotutorial spiegati benissimo e dall’abc sul canale di questo tizio sul tubo, ma è giusto per dirne una…
https://www.youtube.com/user/ilstudiox

Se voglio fare l’ architetto non è male come corso… ma non se vuoi fare modelli per videogame ;)

NN81 guarda, forse l’articolo non l’hai letto, ma ti ho ripostato l’introduzione, se voglia essere una “bibbia” o meno ognuno giudicherà da come si “presenta”… imho stando alle premesse che ti ho citato, vuole essere proprio (di presunzione) il thread “definitivo” o comunque di riferimento a riguardo, e questa è una delle ragioni per cui cominciandolo a leggere e… finito di leggerlo l’ho definito “deludente”. Proprio perchè da come si “autointroduceva” mi aspettavo chissà cosa, mi aspettavo una disamina molto più approfondita che non ritrovarmi l’obbligo di conoscere un inglese da paura.. e sorvolare compeltamente su una marea di aspetti molto più importanti che non son stati chiamati in causa manco di striscio..

Come diceva @Pasto, l’articolo viene dal forum di IV e da un suo momento particolare quindi quella frase necessita anche del suo contesto, forse tenerla intera cosi’ e’ stato un errore… Va anche detto che essa va intesa in parte in modo ironico.
Detto questo, solo per il fatto che l’articolo sia destinato a principianti, non credo debba fornire solo consigli “facili” ma anche dritte che permettono di prendere la cosa in un ottica professionale (quindi di carriera, di ogni tipo). E in quell’ottica, specializzarsi o imparare bene (almeno) l’inglese e’ molto importante. Non e’ un requisito per iniziare, sicuramente no. Ma per diventare un professionista del campo, 8/10 si. Si puo’ iniziare con meno, l’articolo alla fine questo lo sottointende, ma non e’ da pensarsi come “introduzione per quelli che vogliono inziare a programmare videogiochi e poi dopo un po’ fermarsi”, ma per quelli che vogliono iniziare e potenzialmente diventare i migliori del campo, perche’ no.

Per i tool, non ho presente Stencyl ma quasi tutti i tool sono free MA con la versione pro a pagamento con qualche vantaggio. Construct ho linkato il sito in genere perche’ tra un po’ esce il nuovo ma volevo intendere “scaricatevi l’ultimo”. Quindi sia Clickteam che Stencyl ecc. potrebbero stare benissimo nella lista, li ho solo lasciati fuori nel tentativo di fare “selezione”, ma si possono anche aggiungere.

NN81 come è già stato detto il post l’abbiamo preso paro paro da Indie Vault quindi va valutato anche nel suo contesto, ovvero quello di un forum dove arrivavano un sacco di richieste di principianti che “non voglio programmare non so disegnare mi scoccia l’inglese ma ho un’idea fighissima per un gioco come faccio?”

inoltre anche se non viene detto esplicitamente è un post rivolto a chi voglia fare dei videogiochi una professione e non un semplice hobby

se vuoi creare videogiochi senza particolari ambizioni in termini di guadagno, visibilità e qualità ci sta di andare di tool ultrasemplici e di rimanere confinati nella nicchia dei siti e delle guide e dei tutorial in italiano, magari ti capiterà la super botta di culo e creerai il prossimo minecraft, ma (molto) più probabilmente no, in ogni caso però se è solo un hobby anche chissene

se invece però vuoi fare “il passo successivo” e fare dei videogiochi una professione, inevitabilmente la strada da seguire è quella indicata nel post, per cui mettersi sotto a imparare l’inglese (che comunque torna utile per mille altre cose), ampliare i propri orizzonti al di là dei tool “tutto in uno”, e così via

sicuramente comunque è un post perfettibile e magari lo rimaneggeremo e aggiorneremo man mano per farlo diventare una guida “a tutto tondo” che tenga conto anche delle esigenze di chi non vuole diventare un pro e/o è proprio ai primissimi passi, del resto anche nei piani originali doveva essere una roba “work in progress” e non incisa nella pietra immutabile nei secoli dei secoli, e lo stesso Tommaso era un po’ titubante nel ripubblicarla così com’era

per fare un esempio di una possibile integrazione, un’osservazione molto giusta secondo me è quella che ha fatto Angelo Pesce sul gruppo Facebook, ovvero che per chi è alle prime armi forse la cosa fondamentale è iniziare in ambienti che pongano forti limitazioni (come ad esempio quello del PICO-8) in modo da imparare i concetti di base senza “annegare” nell’oceano di possibilità che offrono altri tool più avanzati

detto ciò invito comunque a non partire subito sparati con l’idea che si voglia fare i “cattivi” per tarpare le ali a chi ha l’entusiasmo dei primi passi, semplicemente chi ha già fatto un certo percorso sa già quali sono certe trappole in cui si può cadere e quindi avvisa in anticipo

in Italia, ma anche nel mondo alla fine, ci sono tanti “corsi di videogiochi” che promettono di imparare a fare videogiochi senza saper programmare, senza sapere un minimo d’inglese, senza saper disegnare o fare musica, in pratica solo col potere della mente e credendoci tanto tanto, e chi è alle prime armi spesso si lascia sedurre da quest’approccio alla “giocando s’impara” e spende tempo e soldi per poi ritrovarsi in mano con tanto fumo e nient’altro

forse è per reazione a questo malcostume che poi quando si vuole essere “seri” si finisce per essere anche “duri”, ma è quel tipo di “tough love” che alla fine in fondo sicuramente dà più risultati del “tutti possono fare videogiochi! basta tanta fantasia e un pizzico di magia!”

Pasto
mah guarda non si butta via nulla, io parlo ovviamentedei “beginners” cioè quelli che installano il programma e non conoscono manco come si zoomma, scala un oggetto, piazza una mesh eccetera, per i niubbi e per avvicinarsi al programma da zero sono degli ottimi tutorial, spiegati poi molto bene e con tanta pazienza, che non è da tutti.
come si impara a programmare videogiochi, come si impara ad andare in bicicletta, come si impara ad usare Blender, tutto si impara da zero, piano piano, prima si impara a camminare, poi a correre, poi a saltare, poi a fare le capriole eccetera

NN81 Tu dimentichi la passione, vero (e forse unico) motore che spinge le persone ad affrontare le difficoltà e raggiungere gli obiettivi. Non a caso, per avvicinare i bambini alla programmazione usano strumenti come Scratch (scratch.mit.edu) e non come facevano con noi 20 anni fa che al massimo ti facevano riordinare gli elementi di un vettore (che poi ogni programmatore che si rispetti deve saper fare… ma non è il mio caso! :P )

Comunque ti ripeto, credo che il topic sia stato messo in piedi per raccogliere i pensieri di chi vuole condividere la propria esperienza nel campo (non io che faccio altro nella vita) per aiutare chi… vuol essere aiutato.

BrunoB ma è quel tipo di “tough love” che alla fine in fondo sicuramente dà più risultati del “tutti possono fare videogiochi! basta tanta fantasia e un pizzico di magia!”

ognuno semina quel che raccoglie, sono semplicemente del parere che con la buona volontà (ma quella a fatti non tanto a parole) si possa riuscire in qualunque cosa. certo poi, ognuno nel soggettivo ha rispettivi limiti e talenti, ma ciò non toglie che se uno veramente si applica e ci si dedica avrà dei risultati positivi. non sarà forse Tetris o Minecraft ma sarà sicuramente qualcosa dal “mediamente sopra la media” in poi

Perlomeno questa storica guida sta alimentando una discussione lunga e vivace, una delle prime del forum, che è sempre cosa buona. :D

la domanda che mi nasce spontane a questo punto è se ci sono dei “pro” tra i membri del forum, sarei curioso di saperlo e magari dare un occhiata ai loro lavori

beh senza fare nomi (poi in caso chi vorrà si farà avanti da sé) ti posso dire che c’è gente che lavora a minecraft, gente che sta in USA in Apple, gente che lavora in DICE, gente che ha lavorato in Square Enix, gente che in questi giorni è alla GDC portata lì da AESVI a rappresentare l’Italia, etc etc

in altre parole non è gente che s’atteggia e basta se è questo che “temi”

magari però i più pro non li trovi tanto a scrivere nel forum quanto nella chat Discord e/o nel gruppo Facebook

BrunoB magari però i più pro non li trovi tanto a scrivere nel forum quanto nella chat Discord e/o nel gruppo Facebook

uhm… questo è quello che “temevo”, non tanto la gente che s’atteggia, quello lo facciamo tutti chi più chi meno, è anche naturale credo

BrunoB magari però i più pro non li trovi tanto a scrivere nel forum quanto nella chat Discord e/o nel gruppo Facebook

forse questo non aiuta molto chi non riesce a essere “online” in modo continuativo da seguire una chat… però credo che un buon topic potrebbe comunque attirare l’ attenzione … magari proprio in chat :P

Mah stavo quasi pensando di scrivere qualcosina del genere anche io. Condivido quasi tutto, ma la cosa piu’ importante di tutte in verita’ e’ porsi dei limiti molto stringenti.

Quando si inizia, partire sparati con roba che ti da miliardi di possibilita’ significa praticamente di certo fallire. Unreal uno non lo dovrebbe neanche per scherzo nominare. Gia’ Unity e’ decisamente troppo. Questa roba non aiuta, guardare su google non aiuta, tutto queste infinite possibilita’ significano la morte.

La cosa migliore per iniziare e’ partire da quaclosa che ponga grandissimi vincoli. Pico-8 ad esempio…

a difesa del post va detto che l’originale è molto vecchio (risale al 2011, il PICO8 non so neanche se esistesse all’epoca, di sicuro non era così diffuso/conosciuto) e soprattutto si inseriva nel contesto di Indie Vault dell’epoca, dove magari certe cose venivano date già per scontate

detto ciò sicuramente fai un’osservazione giusta, magari ce l’aggiungiamo prossimamente 🙂

Comments are closed.