|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2007
Messaggi: 59
|
Programmazione Videogames che skill bisogna avere ?
Salve a tutti, probabilmente chiederò una pletora di domande dannatamente banali, ma se non mi levo questi dubbi adesso non lo faccio più e questo mi sembra un buon posto dove chiedere.
Posto che da quel che ho capito gran fetta della programmazione nei videogiochi è legato alla grafica, un po' di dubbi mi assalgono: -Inanzitutto cos'è esattamente cosa fa il programmatore di grafica ? (Penso di sapere la risposta, ma preferisco avere quelle di altri - Domanda che si lega alla prima: Qual'è il confine di demarcazione tra artista 3D e programmatore 3D ? Anche questa è molto banale probabilmente, vorrei più che altro capire quanto un programmatore deve sapere smanettare con roba artistica e nel chieder questo mi riferisco ad una situazione con un grande team, non ad uno sviluppo indie con pochi ottimi a fare tutto. - Last but not the least : Le skill pratiche che bisogna avere quali sono ? Io mi sto iniziando a guardare il C++ (all'uni abbiamo fatto un po' di C e Java, quindi procedo abbastanza velocemente), ma mi pare di aver capito che servono anche enormi competenze matematiche sopratutto di Algebra lineare, il che non mi dispiace, ma vorrei capire quali altre matematiche sono coinvolte. Mi scuso se sono domande che possono sembrare banali e forse lo sono, ma visto che sogno questo tipo di carriera vorrei aver le idee piuttosto chiare prima di gettarmi nel buio Vi ringrazio molto Ultima modifica di cifa : 27-02-2012 alle 21:43. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 68
|
Non sono del settore, però ti direi:
a) La buona conoscenza dell'algebra lineare ti serve se vuoi andare in quel campo, quantomeno per avere idea di cosa succede sotto. b) L'artista 3d sviluppa il modello con 3d-max o equivalenti, il "programmatore 3d" (come lo chiami tu) dovrebbe "muoverlo" o farci fare quel che serve, quindi dovrebbe conoscere le librerie grafiche (OpenGL, DirectX e via dicendo)... almeno per quanto ne so io... Due cose pi pragmatiche: c) puoi andare sui siti web delle software house che fanno videogame, alla sezione jobs e vedere quali sono i profili (junior) che cercano. d) svariate università americane hanno corsi di videogame-programming. Di sicuro in internet si trova quantomeno l'elenco dei contenuti dei corsi. Anche il Polimi mi pare ne abbia un... |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
A livello amatoriale non serve praticamente nulla: piovono librerie e motori da tutte le parti, più che altro componi. Bastano vaghissime idee tipo gli oggetti occupano uno spazio, stanno in punto, si può fare la distanza tra punti... robe di questo livello.
Dal punto di vista professionale, pur non essendo del settore, darei per evidente che se ti vuoi occupare del motore grafico devi sapere qualcosa di geometria e affini. Non la geometria delle medie, la geometria di quella volta che al primo anno di ingegneria meccanica lessi "domani lezione di geometria uno", pensai "uh che bello i triangoli e i quadrati" e alla prima frase del professore "Sia J un K-Spazio Vettoriale..." mi venne uno spontaneo "ma che cacchio sta dicendo questo?". Ecco, quella geometria lì. Che parla anche di triangoli ma dopo che c'è passato sopra un camion: più che altro intuisci che sia un triangolo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#4 | |||
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Imho il grosso scoglio è la grafica. Cioè la realizzazione delle mash e relative texture.
In passato ho fatto qualche giochino per divertimento e il problema che ho trovato insormontabile ( non avendo nessunissimo gusto artistico nè capacità in tal senso ) è stato quello di creare scenari "decenti". Come fa notare PGI-Bis, finchè si resta nell'amatoriale si può arrangiare praticamente di tutto, ma per uno sviluppo professionale ci vogliono pensare con know-how in varie aree. Non è possibile realizzare un gioco medio/grande da soli. Per rispondere alle tue domande, direi: Quote:
si può partire dallo sviluppo di un motore grafico, con competenze che spaziano dalla geometria, algebra lineare, fino a tutti i frizzi e lazzi relativi al buon uso delle risorse hardware grafiche, fino allo scripting con blender per fare un giochino Quote:
per esempio nei grandi team, c'è chi sviluppa il motore grafico, chi si occupa dell'ai, chi lavora sulla fisica del motore grafico....questi gruppi non hanno nessun legame con quello che poi verrà implementato usando quel motore....per loro è questione di oggetti matematici, non forme artistiche Quote:
C++ è preferito per lo sviluppo di motori grafici, Java lo si trova nello sviluppo di giochini, Python fa la parte del leone nei motori di scripting direi che però il ventaglio di competenze è abbastanza ampio Ultima modifica di pabloski : 04-03-2012 alle 18:42. |
|||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Dire "programmare videogames" al giorno d'oggi è generico, non è più come 20 anni fa quando c'erano uno/due programmatori che si occupavano di tutta la logica, supportato/i mediamente da un grafico e da un tracker per il sonoro.
Se ti muovi nel 3D ed utilizzi librerie esterne, come le citate directX o openGL o vari motori costruitici sopra (= non ti fai il motore da te) devi avere qualche nozione matematica (coordinate, assi, matrici e trasformazioni). Matematica da primo/secondo anno di ingegneria et similia. Se invece sei addetto alla fisica del motore hai bisogno sicuramente di qualche nozione in più. Bisogna anche avere una buona dimestichezza con la programmazione, gestione della memoria, ottimizzazione. Per i linguaggi, una volta i vg erano il regno di c e asm; dall'aumento della complessità (anni '90) si preferisce adottare un modello oo, per cui c++ (preferito per banali ragioni di performance sui linguaggi managed). Se poi vuoi fare un giochino 2D che muove qualche sprite e fa beep beep, di certo non avrai bisogno di tutto ciò e ti basta qualche rudimentale conoscenza di Java, C#, VB, Delphi o qualsiasi cosa sappia creare uno schermo/finestra e gestire qualche item grafico - probabilmente basterebbero le sole label. Se già conosci Java e vuoi provare l'ebrezza di fare qualcosa di semplice in 3D senza imparare un linguaggio nuovo (che poi arrivare ad un livello decente in c++ non è di certo immediato) puoi provare le librerie Java3D; finchè non spargi in giro troppi poligoni fanno egregiamente il loro dovere.
__________________
Il sole è giallo |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
In ogni caso si puo' usare game maker, flash, HTML5+Javascript, C/SDL, e perfino Python + Pygame. L'importante e' capire le meccaniche che stanno dietro alla costruzione di giochi e poi quelle stesse conoscenze le puoi applicare ovunque. Ti assicuro che ne scorrera' acqua sotto i ponti prima che dirai "accidenti ho bisogno di ottimizzare di piu'/cambiare linguaggio". Un buon punto di partenza comunque e' http://www.indievault.it. Se ti iscrivi al forum troverai risorse e aiuto. Il sito per eccellenza invece e': http://www.gamedev.net/ In bocca al lupo!
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:40.




















