|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Sep 2010
Messaggi: 42
|
In che linguaggio sono scritti i VideoGames?
Vi pongo una domanda semplice che sempre mi sono fatto..
In che linguaggio vengono scritti solitamente i videogiochi di alto livello? (ps3) In giro ho letto che si usa anche il C++ è vero?? e chi di voi ha l'esperienza necessaria per creare un videogioco? (la parte informatica) |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Sep 2006
Messaggi: 40
|
Un tempo gli sviluppatori creavano con le proprie mani il motore del gioco e sopra di esso costruivano l'insieme di regole che lo rendevano tale.
Oggi le case di sviluppo acquistano licenze di motori grafici creati da altre case e ci costruiscono sopra l'ambientazione e le regole partendo dalla creazione di moduli in C#/C++, oppure utilizzando linguaggi di scripting proprietari e linguaggi più comuni quali Lua o Python. Al giorno d'oggi, oltretutto, è assolutamente di rilievo la programmazione degli shader, quindi in relazione a questi si parla principalmente di GLSL oppure CG. I giochi più semplici sono solitamente scritti in C/C++, C#, OC, Java o qualche linguaggio interpretato più "semplice". In questo caso le metodologie sono più simili a quelle utilizzate nei vecchi tempi, dove lo sviluppo iniziava e finiva all'interno dello stesso gruppo di programmatori. In sostanza alcune case possiedono il loro motore grafico che utilizzano per differenti giochi creati dalle stesse case, altre acquistano licenze di motori, interfacciandosi in vari e differenti modi con essi, questo parlando in termini dei giochi ai quali ti riferisci come di "alto livello". |
![]() |
![]() |
![]() |
#3 | |
Bannato
Iscritto dal: Sep 2010
Messaggi: 42
|
Quote:
e poi cosa intendi "i giochi piu semplici sono scritti in C++"? |
|
![]() |
![]() |
![]() |
#4 | |
Member
Iscritto dal: Sep 2006
Messaggi: 40
|
Gli shader sono un insieme di istruzioni utili alla scheda grafica per determinare le caratteristiche finali di una superficie geometrica. GLSL e CG sono due linguaggi che consentono di programmare il comportamento di uno shader, il quale viene poi eseguito dal processore grafico della propria scheda video. GLSL, cosi come CG sono basati su C in fatto di istruzioni e sintassi; GLSL è stato introdotto dal gruppo Opengl, CG da nVIDIA. Oltre a questi possiamo trovare anche l'HLSL di Microsoft oppure il più basso ASM shader.
Quote:
Intendo dire che i giochi più semplici sono scritti interamente utilizzando tali linguaggi, talvolta in un unico linguaggio, senza la presenza di modularità o configurazione tramite scripting. |
|
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: Sep 2010
Messaggi: 42
|
Grazie per le tue spiegazioni! molto preciso e chiaro!
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Quote:
L'ostacolo insuperabile è la creazione dei contenuti grafici. Perdi un sacco di tempo, non ti diverti neanche un po' e il risultato fa comunque schifo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quoto Ndwr, e aggiungo che un linguaggio gettonatissimo per fare giochini semplici è l'ActionScript che gira con Flash.
Di solito negli AAA si utilizza C++ perchè ad alti livelli gli svantaggi come la difficoltà e la complessità pesano meno di vantaggi come prestazioni insuperate, l'accesso a basso livello o la possibilità di riusare tonnellate di codice che è stato realizzato in passato da circa chiunque. Basti sapere che nativamente, tutti gli SDK di tutte le console recenti e non espongono le loro funzioni in C/C++. Comunque un gioco si può realizzare in qualsiasi linguaggio... il problema come dice il saggio PGI-Bis sono i contenuti. Non so se hai dato un occhio ai credits di qualche gioco recente, tipo GTA... 20 programmatori e 120 modellers ![]() Poi certo dipende dalla scala del progetto... per un giochino "onesto" la coppia coder+artist tuttofare funziona abbastanza. Ultima modifica di Tommo : 04-10-2010 alle 01:49. |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
C++, Java, C# e Python.
Principalmente ho visto questi linguaggi nella mia esperienza. Anche Obj-C (in ambito iPhone). In ambito Mac no... (ci sono diversi articoli dove Obj-C purtroppo perdere in framerate a causa di alcuni costrutti interni e quindi viene usato il C puro per eseguire certi algoritmi. Poco conta, fa parte dell'Obj-C). |
![]() |
![]() |
![]() |
#9 |
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
I tool sono in genere fatti in c++, java o c#.
La parte game può essere fatta in c++ o con un linguaggio di script (lua, unreal script, quake c, python). L'engine è sempre fatto in c/c++. |
![]() |
![]() |
![]() |
#10 |
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
Ti assicuro che le web application nascondono dei livelli di complessità notevoli, molto più di quanto si possa immaginare; non si limitano al semplice 'stampa e vai...'.
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
Ti assicuro che le web application nascondono dei livelli di complessità notevoli, molto più di quanto si possa immaginare; non si limitano al semplice 'stampa e vai...'.
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
|
Quote:
Diciamo che un babbuino no ma un programmatore qualsiasi con una buona nozione di inglese e tanta voglia di fare può ottenere discreti risultati in breve tempo, sfruttando adeguatamente Google. |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Quote:
L'unica è incappare in un esemplare di questa specie mitologica, il graficus bradus, disponibile alla produzione di contenuti per il gusto di farlo, che aiuterebbe il macacus programmatoris nel raggiungimento dello scopo. Ma non mi è mai capitato di incontrarne uno.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
![]() |
![]() |
![]() |
#15 |
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
Senza dubbio. Rimango convinto del fatto che un game engine sia una delle tipologie di software più difficili da fare, una web application una delle più semplici. Per fare una web application si usano linguaggi più semplici con gestione automatica della memoria, non servono eccezionali basi matematiche, non serve una grande conoscenza dell'architettura su cui gira il software. Spesso conviene comprare un server più potente che ottimizzare una applicazione, cosa che non puoi certo fare nel settore dei videogiochi.
|
![]() |
![]() |
![]() |
#16 | |
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
Quote:
Che poi con engine come irrlicht ci vuol poco a prendere una heightmap e fare un terreno ma se vuoi fare qualcosa di più complesso capisci che fai prima a buttarlo e rifarlo da capo.... I framework seri come miles, granny, havok etc in genere costano e non è così banale integrarli tra loro. Pensa poi a tutta la parte di gestione delle risorse, al ciclo vita degli oggetti. Come e quando allocare e deallocare gli oggetti non è una cosa tanto semplice in un videogioco. Sei assolutamente costretto a utilizzare allocatori custom. Ultima modifica di javaboy : 04-10-2010 alle 22:10. |
|
![]() |
![]() |
![]() |
#17 | |
Bannato
Iscritto dal: Sep 2010
Messaggi: 42
|
Quote:
|
|
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
C'è il vincolo del realtime che implica gente veramente cazzuta, perchè un conto è saper risolvere un problema, un conto è saperlo risolvere in una frazione di un sessantesimo di secondo. Poi si fare un giochino flash è una roba banale... ma già l'iPhone citato da Javaboy richiede un certo impegno se si vogliono fare le cose per bene! Intanto se non ti compri Unity devi scrivere tutto in OpenGL, e in entrambi i casi hai a che fare con una libreria di sistema praticamente sconfinata. PGI-Bis, forse ti sei sempre arenato alle prime fasi di un gioco perchè ti mancavano i contenuti, e ti sembra di aver fatto tanto... ma per esperienza, quando il gioco è "quasi" funzionante non si è nemmeno al 40% dello sviluppo ![]() Quindi ti sei perso la parte veramente difficile, quella di fare una cosa che si può vendere davvero. Purtroppo è un aspetto facile da sottovalutare, io stesso l'ho fatto finchè non ci ho sbattuto il muso ![]() Ultima modifica di Tommo : 04-10-2010 alle 23:19. |
|
![]() |
![]() |
![]() |
#19 | |
Bannato
Iscritto dal: Sep 2010
Messaggi: 42
|
Quote:
|
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
In un mondo di pazzi l'unico sano di mente è da ricovero.
E' la cosa più naturale del mondo desumere che io sostenga che scrivere Crysis 3 è una stronzata. Affermazione che non potrebbe che essere ribadita allegando un'immagine di me in bermuda che in piedi su un pedalò mi proclamo Nettuno, dio degli oceani. Ribadisco, nel pieno possesso delle mie facoltà mentali, che la parte più complicata del programmare un videogioco non ha a che fare con la programmazione ma con la produzione dei contenuti grafici. Se qualcuno di voi vuole fare la parte grafica, io in 15 giorni vi porto un onesto FPS in stile Unreal o Quake 2. Completo: io non mi areno quando programmo. PS: e in quei 15 giorni ci scrivo anche un tutorial
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:40.