|
|
|
![]() |
|
Strumenti |
![]() |
#61 | |
Senior Member
Iscritto dal: Sep 2009
Messaggi: 3627
|
Quote:
![]() Ultima modifica di >>The Red<< : 10-08-2011 alle 13:29. |
|
![]() |
![]() |
![]() |
#62 | |
Senior Member
Iscritto dal: Sep 2009
Messaggi: 638
|
Quote:
In secondo luogo, la maggior parte dei linguaggi, nel linguaggio in se, non hanno concetti come grafica, o anche input/output; viene tutto realizzato da librerie esterne. C++ è così: non ha concezione di input o output su console, grafica, o anche file se è per questo; tutte queste funzioni sono realizzate da librerie esterne, che possono essere standard e distribuite insieme al compilatore (es. iostream, cstdio, cmath etc.), oppure esterne (tipo librerie per la matematica avanzata, per la grafica 2d/3d, per gestire una gui etc.). Molti linguaggi non hanno la possibilità di gestire grafica anche solo 2d, così "out of the box". Altri invece, mi viene in mente BlitzBasic, aveva il concetto di grafica in se, quindi avevi il comando "line" o "circle", ad esempio. Quindi, se vuoi fare qualcosa con un linguaggio: 1) Devi vedere se il linguaggio da solo può farlo, e se non lo fa, 2) Trovare una libreria adatta, e imparare le funzioni della libreria. Ad esempio, per il C++, io ho usato e mi piace usare di tanto in tanto la libreria "Allegro", che ti mette a disposizione comandi per fare grafica 2D veramente semplici, e anche funzioni per gestire audio, input (tastiera, mouse), per fare semplici videogiochi insomma. Un gradino più basso livello c'è SDL, che è un po' più potente ma di minor livello, quindi non ha funzioni come "drawline", ma devi gestire i pixel manualmente. Io la sto usando in questo periodo in abbinamento a OpenGL per scrivere un videogioco, simile a Minecraft ma non un clone. La scelta della grafica su OpenGL la ho fatta per garantire la massima portabilità, e non avevo problemi di basso livello perchè la grafica non è molto complessa, e SDL per gestire gli eventi (timer, mouse, tastiera etc.). Se tu volessi fare un gioco più complesso, ti puoi affidare a un motore già pronto, come Ogre3d, Irrlicht, Panda3d etc. Altrimenti puoi basarti su un intero SDK, come appunto Source, dove in quel caso avrai poco da programmare il "programma" principale (come dovresti fare con uno dei motori sopra, o direttamente con le librerie), ma dovrai solo preoccuparti di creare i contenuti (texture, modelli, suoni etc.), e dei semplici script (tipo: "se il giocatore raggiunge il punto x,y,z, allora riproduci il suono abc e avvia lo script 123"), scritti in un linguaggio completamente dedicato a quello, che viene poi interpretato dal programma principale. Quindi, come vedi, ci sono tantissime possibilità, su diversi livelli. Puoi cominciare con un approccio bottom-up, cioè cominci dalle basi dell'hardware (la pipeline di rendering etc.) per poi salire con i livelli, oppure puoi partire a creare un mod su un SDK come Source, per poi, una volta imparati i concetti di quel livello, scendere e imparare concetti un po' più avanzati, per poi finire a gestire direttamente l'hardware con OpenGL o Direct3D. |
|
![]() |
![]() |
![]() |
#63 |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
Io i giochini su WP7 li faccio comodamente in c# e XNA oppure anche in silverlight... non sono impossibili da imparare e secondo me è un ottima base per IMPARARE
Poi che discorsi sono ... se volete fare un nuovo COD dovete avere un motore tipo CryEngine ![]() |
![]() |
![]() |
![]() |
#64 | |
Senior Member
Iscritto dal: Aug 2003
Città: Castellammare di Stabia (Na)
Messaggi: 2046
|
Quote:
Inoltre neanche mi interessa programmarmi un engine del tutto mio, anche perchè sarebbe un aspetto della programmazione del videogioco che non mi affascina più di tanto. Se mai volessi fare un gioco complesso, come hai detto, mi affiderei ad engine già rodati per poi divertirmi con aspetti della programmazione che più mi intrigano, come la creazione dei modelli poligonari, le texture e gli script Ultima modifica di American horizo : 11-08-2011 alle 17:07. |
|
![]() |
![]() |
![]() |
#65 | |||
Senior Member
Iscritto dal: Sep 2009
Messaggi: 638
|
Quote:
![]() E' per questo che ci sono le guide e i tutorial. Quote:
Quote:
![]() |
|||
![]() |
![]() |
![]() |
#66 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#67 |
Senior Member
Iscritto dal: Aug 2006
Città: The Zone
Messaggi: 21695
|
Mi inscrivo alla discussione siccome sono molto interessato.
Io vorrei partire con l'accoppiata C# + XNA siccome lo vedo abbastanza fattibile per un principiante come me. Ho seguito alcuni seminari Microsoft e l'ho trovato parecchio interessante, anche se l'ascolto della parola "Quaternione" mi ha letteralmente spaventato. ![]() Ho rimandato già tante volte l'inizio di questo studio per via dell'università, ora mi sono procurato il libro "Xna Learning 4.0", sperando di fare entrambe le cose nel migliore dei modi.. Più che altro sono spaventato dalle possibilità di far carriera in questo campo. Tutti mi scoraggiano dicendo che se si vuole proseguire devi essere o un genio, oppure devi avere un team che ti faciliti la cosa, e io non sono ne uno, ne ho l'altro. Mah.. ma una cosa è certa, l'argomento mi è sempre piaciuto... se avessi più tempo libero.. ![]()
__________________
● ( MyPC ) ● "RimWorld" ● S.T.A.L.K.E.R. 2 ● "The Indie Corner" ●
● "Starfield" ● ..ah nuuu chiiiiki briiiiki iv damke!! ● "Steam Deck" ● ● EA is the Devil... ● ![]() ![]() |
![]() |
![]() |
![]() |
#68 |
Senior Member
Iscritto dal: Aug 2003
Città: Castellammare di Stabia (Na)
Messaggi: 2046
|
|
![]() |
![]() |
![]() |
#69 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Solo in termini accademici. I linguaggi di scripting possono essere linguaggi di programmazione (se si usa Lua, Python, Unity usa proprio C#) tuttavia il motivo d'essere dello scripting è proprio fornire uno strumento di configurazione del gioco a chi programmatore non è.
Quindi nei giochi moderni, di solito chi usa lo scripting sono i vari designer e i grafici, che sono gli stessi che fanno modelli, concepts e textures. Quindi se eri interessato fin dall'inizio a questo lato della produzione di videogiochi, mi sa che ti abbiamo fatto perdere un mucchio di tempo ![]() Fai meglio a dare un occhio a Blender, 3DSMax, Maya, Photoshop etc, e relativi forum! |
![]() |
![]() |
![]() |
#70 | |
Senior Member
Iscritto dal: Sep 2009
Messaggi: 638
|
Quote:
|
|
![]() |
![]() |
![]() |
#71 | |
Senior Member
Iscritto dal: Aug 2006
Città: The Zone
Messaggi: 21695
|
Quote:
![]()
__________________
● ( MyPC ) ● "RimWorld" ● S.T.A.L.K.E.R. 2 ● "The Indie Corner" ●
● "Starfield" ● ..ah nuuu chiiiiki briiiiki iv damke!! ● "Steam Deck" ● ● EA is the Devil... ● ![]() ![]() |
|
![]() |
![]() |
![]() |
#72 | |
Senior Member
Iscritto dal: Sep 2009
Messaggi: 638
|
E perchè dovrebbero essere dei progettoni? Cosa vuol dire progettone? Io chiamo Call Of Duty, Forza Motorsport dei progettoni, non certo Minecraft, World Of Goo...
E' ovvio che poi non puoi svegliarti la mattina con un'idea, e il giorno dopo fare i milioni. Ma un giochino divertente lo puoi fare anche in mesi, o settimane se sei già pratico. Quote:
Anche trovando un solo amico che può aiutare, diventa più divertente perchè si può discutere, scambiare idee etc. Se poi proprio non riuscirai a finirlo, va bene, potrai lasciarlo perdere per sempre o tenerlo magari per riguardarlo in futuro. Un' altra cosa mi sembra importante da dire: non devi iniziare a creare un gioco, solo con lo scopo di venderlo. Il gioco che svilupperai deve essere un gioco che a te personalmente piacerebbe giocare, solo in questo modo riuscirai a fare un bel gioco. E se la fortuna vuole, potrai anche venderlo e farci qualche soldo, oppure darlo gratis. Come dicevo prima, personalmente sto scrivendo un gioco, ispirato a Minecraft, ma con blocchi di dimensione diversa e orientato alla costruzione di marchingegni vari, quindi con l'elettricità, dei sistemi meccanici etc. E tutto questo lo abbiamo iniziato (siamo in 2), perchè volevamo un gioco così, per giocarlo noi stessi; pensiamo anche, in futuro, di venderlo, ma se non dovesse funzionare, non ci sarebbe nessun problema, e continueremo a giocarci e a migliorarlo per noi, o renderlo open source. E intanto avremo imparato l'OpenGL, migliorato la conoscenza del C++, ripassato un po' di geometria tridimensionale etc. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:25.