Forum >> Programmazione Python >> Videogames >> principiante

Pagina: 1

Ho studiato il libro "beginning game development with python and pygame" di Will McGugan e l'ho trovato molto interessante, vorrei approfondire e, capacità permettendo, lavorare nel campo dello sviluppo di videogiochi per pc, cosa mi consigliate di fare?
Ho studiato il libro "beginning game development with python and pygame" di Will McGugan e l'ho trovato molto interessante, vorrei approfondire e, capacità permettendo, lavorare nel campo dello sviluppo di videogiochi per pc, cosa mi consigliate di fare?
Apri con una sola domanda il vaso di Pandora di uno degli argomenti più interessanti e complessi del mondo dello sviluppo.

L'industria dei videogames ha raggiunto vette incredibili, del tutto comparabili per costi ed impegno di risorse con quello dell'industria cinematografica, non per nulla ci sono "fusioni" sempre più frequenti tra le due. Sviluppare un gioco di livello alto, quelli definiti AAA, è diventato un'impresa faraonica, con team formati da centinaia e centinaia di persone. Pensa che Destiny della Bungie (quelli di Halo) è il videogioco più costoso di sempre con 500 milioni di dollari spesi (anche se più di metà finiti nel marketing), quindi molto più del più costoso film mai realizzato.

In questi contesti faraonici ci sono figure specializzate in singoli aspetti dello sviluppo del gioco: grafici, disegnatori, animatori, modellatori 3D, programmatori di vario livello compresi quelli del motore del gioco, level design, tutti gli addetti ai suono che ormai sono veri e proprio musicisti e chi più ne ha più ne metta. Non trascuriamo poi tutto il reparto marketing, che spesso decreta il successo o l'insuccesso del titolo stesso, e la sezione dei tester, importanti per la realizzazione di un buon prodotto (anche se ultimamente ho il sospetto che i tester siano gli utenti finali, vabbé questo è un altro discorso).

In questi contesti devi avere un preparazione specifica su uno degli argomenti/strumenti richiesti, ed oltretutto è davvero molto difficile per noi italiani perché di software house di questo genere me ne vengono in mente poche, anzi una: Milestone.

Poi esiste l'universo parallelo degli indie o indipendenti se vogliamo dirla all'italiana. Qui ci possono essere spazi lasciati alla creatività, ma non credere che sia tutto semplice e pionieristico, non è più così. Purtroppo le cose si stanno affinando (vedi prodotti come Limbo o il recente Unravel) e stanno diventando sempre più rari i casi di one-man-band. Certo gli indie costano molto di meno, ma spesso sono ugualmente un manipolo di programmatori che si mettono insieme per cercare di dare vita alle loro creature e se anche non hanno l'ausilio di un editore, devono comunque far fronte a costi di produzione non proprio banali, l'esempio di No man's sky dovrebbe far riflettere.

Avere la volontà di sviluppare un gioco, presuppone l'utilizzo di più risorse software, a meno che di non voler fare un clone di pong. Non potrai affidarti solo a Python, ma dovrai utilizzare anche software molto vari come ad esempio Maya, Blender, 3D Studio Max, etc... senza contare che dovrai scegliere e poi studiare un Engine (motore grafico), per fortuna ce ne sono anche di open source, che però variano nel loro utilizzo anche solo per il tipo di gioco che intendi realizzare, ad esempio un FPS avrà esigenze diverse da un Isometrico.

Insomma il mondo è vario e richiede un grado di specializzazione notevole, consiglio prima di gettarti nella mischia di fare un'attenta analisi di quello che vuoi realizzare o delle conoscenze che vuoi acquisire e come intendi farlo, anche considerando quali risorse intendi utilizzare.

Cya
Ho scaricato l'unreal engine e unity che sono gratuiti, mi sto concentrando su unreal che mi sembra un po' meglio ( ad una prima occhiata ), mi rendo conto dell'immenso lavoro puramente artistico che dovrei fare per realizzare il progetto che ho in mente quindi parte dei miei sforzi andranno nel cercare gente, comunque, sempre ad una prima occhiata, l'unreal engine non mi consente di creare il sistema di combattimento che ho in mente almeno senza programmare e guarda caso l'unreal engine è programmato in C quindi adesso sto studiando C per 'tradurre' il codice open source dell'unreal engine che credo mi servirà come esempio ( ho un enorme bisogno di esempi, anche semplici, ma che almeno mi danno un idea di come fanno gli esperti a creare ed implementare un sistema di combattimento o anche un interfaccia ).



PS: capisco che ognuno tira l'acqua al suo mulino, quindi comprendo gli autori dei libri di python che ho studiato quando decantano i miglioramenti di python verso C, ma se gli esperti nel campo usano ancora C ci sarà una ragione qual'è?
PS: capisco che ognuno tira l'acqua al suo mulino, quindi comprendo gli autori dei libri di python che ho studiato quando decantano i miglioramenti di python verso C, ma se gli esperti nel campo usano ancora C ci sarà una ragione qual'è?

Beh il mondo degli engine è dominato da C, C++ ed affini, sicuramente perché le prestazioni giocano un ruolo fondamentale e la velocità di esecuzione di C è invidiabile.

Python dal canto suo certamente ti permette di sviluppare velocemente delle interfacce e dei semplici giochi, ma non utilizzando degli engine veri e propri, ma più delle librerie atte allo scopo. Anche quando si sente parlare di engine in Python, si commette in realtà un errore, basti pensare a Panda3D che nonostante sia scritto in C++, permette proprio come un framework di essere usato scrivendo codice Python, ma non è scritto in Python. Magari anche altri motori permettono una cosa, sinceramente non me la sono posta come domanda.

Ma non facciamoci troppe domande, il tuo approccio è corretto, segui a mio avviso una strada coerente e quando avrai una beta (alpha) da farci vedere, vieni a condividerla sul forum.

In bocca al lupo.
Daniele

P.S. Parli di C, ma l'Unreal Engine (immagino tu stia parlando del 4) non è scritto in C++?
si credo sia c++ comunque sto studiando su c primer plus perchè è il più consigliato online, in questo libro spiega che c++ è molto simile a c, quindi ho pensato che nel caso ne avrò bisogno non dovrei avere molti problemi a trovare online le differenze


Pagina: 1



Esegui il login per scrivere una risposta.