View Full Version : creare un videogioco
andreaben94
31-10-2010, 15:51
ciao a tutti faccio la terza superiore informatica e sono un appasionato di videogiochi.. volevo sapere cosa bisogna conosciere x creare in futuro un videogioco anche semplice... insomma da cosa bisogna partire e tutto il procedimento x creare un videogioco.. potete aiutarmi?? so che non è una cosa semplice ma almeno provo a iniziare a mettere le basi..
Beh dipende dal videogioco.
Per poter fare un videogioco serve un team in cui ci sono dei programmatori e degli artisti che producono gli asset ( immagini, modelli 3d, suoni etc).
Per quanto riguarda la programmazione devi conoscere BENE un linguaggio di programmazione qualsiasi e delle librerie che ti permettano di gestire la grafica e i suoni. Oppure puoi utilizzare un engine o un framework già pronto ma ci saranno comunque da programmare parecchio.
Se vuoi fare un gioco 2d puoi utilizzare flash (linguaggio di programmazione action script), python (con le librerie pygame), oppure c# (con xna).
I videogiochi seri, quelli che trovi nei negozi, in genere sono fatti in c++ e utilizzano le librerie directx o opengl per la grafica, fmod, miles o openal per l'audio più altri framework come havok per la fisica o granny per le animazioni.
Per iniziare potresti studiare il linguaggio python e le librerie pygame.
Beh dipende dal videogioco.
Per poter fare un videogioco serve un team in cui ci sono dei programmatori e degli artisti che producono gli asset ( immagini, modelli 3d, suoni etc).
Per quanto riguarda la programmazione devi conoscere BENE un linguaggio di programmazione qualsiasi e delle librerie che ti permettano di gestire la grafica e i suoni. Oppure puoi utilizzare un engine o un framework già pronto ma ci saranno comunque da programmare parecchio.
Se vuoi fare un gioco 2d puoi utilizzare flash (linguaggio di programmazione action script), python (con le librerie pygame), oppure c# (con xna).
I videogiochi seri, quelli che trovi nei negozi, in genere sono fatti in c++ e utilizzano le librerie directx o opengl per la grafica, fmod, miles o openal per l'audio più altri framework come havok per la fisica o granny per le animazioni.
Per iniziare potresti studiare il linguaggio python e le librerie pygame.
This.
E aggiungo saper leggere l'inglese come fosse la prima lingua, e andare nel forum che ho in firma :asd:
cdimauro
02-11-2010, 05:54
Beh dipende dal videogioco.
Per poter fare un videogioco serve un team in cui ci sono dei programmatori e degli artisti che producono gli asset ( immagini, modelli 3d, suoni etc).
Per quanto riguarda la programmazione devi conoscere BENE un linguaggio di programmazione qualsiasi e delle librerie che ti permettano di gestire la grafica e i suoni. Oppure puoi utilizzare un engine o un framework già pronto ma ci saranno comunque da programmare parecchio.
Se vuoi fare un gioco 2d puoi utilizzare flash (linguaggio di programmazione action script), python (con le librerie pygame), oppure c# (con xna).
I videogiochi seri, quelli che trovi nei negozi, in genere sono fatti in c++ e utilizzano le librerie directx o opengl per la grafica, fmod, miles o openal per l'audio più altri framework come havok per la fisica o granny per le animazioni.
Per iniziare potresti studiare il linguaggio python e le librerie pygame.
Se continui così dovremo chiedere agli amministratori di cambiarti il nickname in pythonboy, mio giovane padawan. :D
io sto per iniziare a creare un videogioco come progetto per il corso di "videogames design and programming" al politecnico di milano. lavoriamo in gruppi composti da 5 persone e avremo circa 4 mesi per cui non possiamo sicuramente metterci a programmare tutto da 0 con directx o opengl. useremo UDK invece, con il suo linguaggio di scripting UnrealScript che cmq permette di usare dll esterne scritte in c++ (forse anche con altri linguaggi) per aggiungere funzionalità particolari (possibilità che sfrutteremo sicuramente). ovviamente il problema più grosso saranno gli assets perché essendo 5 studenti di ingegneria informatica non siamo dei grandi artisti 3d o 2d. speriamo bene :D
@tommo: forum molto interessante, grazie
jappilas
02-11-2010, 11:42
ovviamente il problema più grosso saranno gli assets perché essendo 5 studenti di ingegneria informatica non siamo dei grandi artisti 3d o 2d. speriamo bene :D mi ricorda molto il problema che avevamo su diamonds tempo fa, troppi programmatori (peraltro molti all' inizio digiuni di java, quasi tutti di TDD) e un solo (due all' inizio) graphic designer...
in bocca al lupo ;)
mi ricorda molto il problema che avevamo su diamonds tempo fa, troppi programmatori (peraltro molti all' inizio digiuni di java, quasi tutti di TDD) e un solo (due all' inizio) graphic designer...
in bocca al lupo ;)
crepi!
se c'è qualche volontario che ci vuole dare una mano per la grafica o i suoni mi faccia sapere :D. il prof ha detto che per questo tipo di cose possiamo rivolgerci a chi vogliamo, trovarle dove ci pare, ecc... perchè non è su questo che è focalizzato il corso. forse però stiamo andando un po' OT :p
banryu79
02-11-2010, 13:43
crepi!
se c'è qualche volontario che ci vuole dare una mano per la grafica o i suoni mi faccia sapere :D. il prof ha detto che per questo tipo di cose possiamo rivolgerci a chi vogliamo, trovarle dove ci pare, ecc... perchè non è su questo che è focalizzato il corso. forse però stiamo andando un po' OT :p
Magari prova a postare nella sezione "Computer Graphics", a parte i consigli vari circa eventuali questioni grafiche, e le tonnellate di info in merito che puoi trovare, mi pare che discussioni riguardanti progetti senza scopo di lucro siano ammesse (ma leggi il regolamento della sotto sezione per sicurezza :read:)
Magari prova a postare nella sezione "Computer Graphics", a parte i consigli vari circa eventuali questioni grafiche, e le tonnellate di info in merito che puoi trovare, mi pare che discussioni riguardanti progetti senza scopo di lucro siano ammesse (ma leggi il regolamento della sotto sezione per sicurezza :read:)
ok grazie per il consiglio
EDIT: fatto, ho aperto un thread nella sezione Computer Graphics, se vi interessa il link è in firma
cmq permette di usare dll esterne scritte in c++ (forse anche con altri linguaggi) per aggiungere funzionalità particolari
Occhio che la comunicazione è a senso unico, solo i tuoi script possono comunicare direttamente con il C++, e gli script rimangono appunto script all'interno di procedimenti di basso livello che l'UDK esegue più o meno a tua insaputa.
Il che preclude tutte le cose utili del C++ che usano i grossi studi, tipo utilizzare UDK in C++ per configurare grafica, rendering e quant'altro, usare librerie di terze parti etc.
A conti fatti scriversi una routine in C++ senza queste features è praticamente inutile.
Per quanto riguarda la parte grafica del progetto, dato che è una questione seria (progetto universitario) vi sconsiglio vivamente di affidarvi a sconosciuti e non via internet, per esperienza ci si trova sempre in un mare di ritardi e di abbandoni.
Studiate un gioco di cui potete realizzare la grafica voi stessi, vi conviene. Anche in termini di tempo.
PS: di niente :D
Occhio che la comunicazione è a senso unico, solo i tuoi script possono comunicare direttamente con il C++, e gli script rimangono appunto script all'interno di procedimenti di basso livello che l'UDK esegue più o meno a tua insaputa.
Il che preclude tutte le cose utili del C++ che usano i grossi studi, tipo utilizzare UDK in C++ per configurare grafica, rendering e quant'altro, usare librerie di terze parti etc.
A conti fatti scriversi una routine in C++ senza queste features è praticamente inutile.
Per quanto riguarda la parte grafica del progetto, dato che è una questione seria (progetto universitario) vi sconsiglio vivamente di affidarvi a sconosciuti e non via internet, per esperienza ci si trova sempre in un mare di ritardi e di abbandoni.
Studiate un gioco di cui potete realizzare la grafica voi stessi, vi conviene. Anche in termini di tempo.
PS: di niente :D
non capisco cosa intendi quando dici che la comunicazione è a senso unico, io per il momento non ho ancora approfondito la questione. ho solo letto che è possibile usare delle dll esterne e mi pare anche delle librerie di terze parti. alla fine quello che fai con una dll è chiamare delle funzione passandogli dei parametri e leggendo il valore di ritorno per cui non capisco come possa essere a senso unico. se mi spieghi meglio mi fai un piacere :D se no approfondisco per conto mio.
per quanto riguarda gli sconosciuti via internet ovviamente non ci faremo troppo affidamento ma magari qualcuno che ci fa un paio di modelli o altro facendoci risparmiare un po' di tempo e migliorando un po' l'aspetto del gioco lo troviamo. la speranza è l'ultima a morire. il concept del gioco è già deciso per cui non possiamo pensare qualcosa appositamente per dover fare poca grafica, anche se in effetti il concept non specifica che i personaggi non possono essere delle sfere :p
Intendo che da C++ non puoi accedere alle API UDK ma solo al tuo codice, solo US può parlare con il motore.
Quindi ti perdi il 99% degli usi utili di basso livello.
Quella feature serve unicamente nei casi in cui
1) vuoi utilizzare una libreria preesistente per il gameplay
2) hai delle routine gameplay così pesanti da servire il C++
Entrambi i casi, posta la "non comunicabilità" di C++ col core del motore sono piuttosto rari... puoi vedere C++ così fatto come "scripting dello scripting":
C++ tuo
-----------
UScript
-----------
UDK API
-----------
Sistema
:read:
ah ho capito grazie. a me serve proprio per richiamare da dentro UnrealScript una libreria esterna per aggiungere una funzionalità particolare al gameplay
Approfitto del topic per chiedere due cose,Autodesk Maya va bene per creare scenari e modelli per videogiochi?
Esiste qualche motore grafico 3d che utilizza il java?
wizard_at
04-11-2010, 00:06
discussione interessante!
tempo fa mi divertivo a provare a fare videogame...con poco successo perche' sono a dir poco un pessimo grafico.
per quanto riguarda la programmazione usavo C++ con le librerie Irrlicht. Te lo consiglio vivamente. E' facile da usare e non da problemi(se sai il C++ benino).
Esisono anche le librerie Ogre che sono molto potenti ma nettamente piu' difficili.
per Python c'e' pygame( che prima o poi affrontero')...per ora mi devo concentrare su esami vari che devo dare :( . Non deve essere malaccio ma per me in certi casi il C++ e' insuperabile(pythoniani non me ne vogliate)
per java ne esistono un po(google aiuta!) ma credo che esista una versione di Irrlicht per java. Sconsiglio Java per 2 motivi:
1-mi sta antipatico
2-e' un po lentino(anche python ma se si appoggia a cose varie scitte in C migliora)
SCONSIGLIO di iniziare con cose tipo game maker o dark basic. Sono una perdita di tempo, confondono e basta.
per la creazione della grafica esistono 3ds Max , Maya , cinema 3d ecccetera eccetera eccetera MA costano parecchio (tanto sappiamo che non li acquistereste comunque)...io consiglio Blender che e' gratuito!
Se qualcuno mi vuole contraddire ben venga!
Ciao!
Approfitto del topic per chiedere due cose,Autodesk Maya va bene per creare scenari e modelli per videogiochi?
Va bene, per quanto non è fatto proprio apposta per il low poly... ma che io sappia non esiste nessun tool apposito, quindi Maya si piazza tra i tools migliori.
Poi dipende sempre dalla toolchain del motore che stai usando, ma Maya è quasi sicuramente supportato per i modelli di gioco.
Gli scenari sono un'altro discorso dato che spessissimo sono ottimizzati per il gameplay del gioco in questione, e i programmatori del gioco scrivono anche il tool per realizzarne i livelli (mai dato un occhio a Crysis o Unreal?).
Comunque se hai Maya vai sul sicuro.
Esiste qualche motore grafico 3d che utilizza il java?
Esiste JoGL ma è un mero wrapper; non esiste alcun motore grafico pubblico che utilizzi Java. E per quanto mi riguarda sta bene così :asd:
cdimauro
04-11-2010, 05:28
per Python c'e' pygame( che prima o poi affrontero')...per ora mi devo concentrare su esami vari che devo dare :( . Non deve essere malaccio ma per me in certi casi il C++ e' insuperabile(pythoniani non me ne vogliate)
Dipende tutto da quello che si vuole fare. Certamente non mi metterei mai a scrivere un gioco AAA interamente in Python. Lo farei in C++ (sigh) e delegherei tutta la parte di scripting a Python, come fanno già diversi giochi. C'è pure Eve online i cui server sono scritti interamente in Python (lo sviluppatore bazzica la mailing list Python-Dev).
Ma per il resto, se si vuol ottenere qualcosa in tempi rapidi, e soprattutto divertirsi a smanettare, credo che le soluzioni basate su Python siano insuperabili.
PyGame l'hai già citato, ma per il 3D segnalo anche Panda3D (http://www.panda3d.org/).
banryu79
04-11-2010, 09:01
Esiste JoGL ma è un mero wrapper; non esiste alcun motore grafico pubblico che utilizzi Java. E per quanto mi riguarda sta bene così :asd:
Beh, non so cosa si intenda di preciso con "motore grafico pubblico", ma per Java esiste Java3D.
Vincenzo1968
04-11-2010, 10:00
...
I videogiochi seri, quelli che trovi nei negozi, in genere sono fatti in c++
...
http://files.sharenator.com/simpsons_nelson_haha_RE_What_internet_browser_do_you_use-s350x326-51595.jpg
Beh, non so cosa si intenda di preciso con "motore grafico pubblico", ma per Java esiste Java3D.
Intendo una libreria grafico di alto livello, che gestisca risorse, ombre, luci, scene graph e quant'altro (non un wrapper di OpenGL sicuramente), che sia disponibile al pubblico.
Di certo non esiste niente in Java che risponda a questi requisiti...
se togliamo "pubblico" esiste qualche gioco fatto in Java, quindi prima o poi un motore grafico sarà pure esistito :D
@Vincenzo1968
Sicuramente non sono fatti solo in C++, ma C++ rimane pur sempre il requisito imprescindibile... si può fare a meno dello scripting ma non della base, ecco.
Sicuramente non sono fatti solo in C++, ma C++ rimane pur sempre il requisito imprescindibile... si può fare a meno dello scripting ma non della base, ecco.
StarCraft è scritto quasi totalmente in Python, engine 3d a parte.
banryu79
04-11-2010, 10:38
Intendo una libreria grafico di alto livello, che gestisca risorse, ombre, luci, scene graph e quant'altro (non un wrapper di OpenGL sicuramente), che sia disponibile al pubblico.
Di certo non esiste niente in Java che risponda a questi requisiti...
Ah ecco... beh, questo Java3D sarebbe di alto livello, lo scene graph lo gestisce, non saprei se e quanto del resto, dato che non l'ho mai usata.
Ho esperienza diretta solo con JOGL e sì, è un mero wrapper delle OpenGL.
Ma da quel poco che conosco di Java3D so che, appunto, si appoggia a OpenGL (via JOGL) oppure alle DirectX [in base al sistema ospite, e immagino ad altro che non conosco] quindi tenderei a categorizzarla come "libreria di alto livello pubblica". Pubblica almeno, lo è sicuramente.
Ah ecco... beh, questo Java3D sarebbe di alto livello, lo scene graph lo gestisce, non saprei se e quanto del resto, dato che non l'ho mai usata.
Ho esperienza diretta solo con JOGL e sì, è un mero wrapper delle OpenGL.
Ma da quel poco che conosco di Java3D so che, appunto, si appoggia a OpenGL (via JOGL) oppure alle DirectX [in base al sistema ospite, e immagino ad altro che non conosco] quindi tenderei a categorizzarla come "libreria di alto livello pubblica". Pubblica almeno, lo è sicuramente.
In effetti stando a wikipedia (http://en.wikipedia.org/wiki/Java3D) è una libreria grafica completa... poi bisogna sempre usarle queste cose per rendersi conto delle mancanze che hanno.
Ad esempio non sembra supportare gli shaders e gli ultimi aggiornamenti risalgono al 2008.
Poi nella pagina ce ne sono tantissime altre, evidentemente non ero molto aggiornato sulla faccenda.
Rimane che i giochi veri fatti in Java si contano sulle dita di una mano monca :read:
banryu79
04-11-2010, 13:07
...
Ad esempio non sembra supportare gli shaders e gli ultimi aggiornamenti risalgono al 2008.
Mah... a leggere la pagina che hai linkato gli shader sembrano supportati (GLSL e/o CG) e anche lo stencil buffer.
Poi non so, per me stiamo parlando arabo. :D
Sul discorso "giochi seri" immagino che un fattore determinante sia la neccessità di poter esercitare un controllo molto preciso degli oggetti in memoria* (ricordo che ne parlò Fek al tempo qui nel forum in un topic e lo indicava come vero motivo per cui l'utilizzo del C++ non è un'opzione ma una scelta obbligata, in questi casi, e comunque limitatamente al motore di rendering...) ma preferisco non impelagarmi a discutere di tematiche che non conosco in prima persona e a fondo.
* ricordo che parlava dei problemi legati alla frammentazione della RAM e alla conseguente neccessità di poter controllare prorprio il layout degli oggetti allocati in memoria.
Vincenzo1968
04-11-2010, 13:29
...
@Vincenzo1968
icuramente non sono fatti solo in C++, ma C++ rimane pur sempre il requisito imprescindibile... si può fare a meno dello scripting ma non della base, ecco.
...
Sul discorso "giochi seri" immagino che un fattore determinante sia la neccessità di poter esercitare un controllo molto preciso degli oggetti in memoria* (ricordo che ne parlò Fek al tempo qui nel forum in un topic e lo indicava come vero motivo per cui l'utilizzo del C++ non è un'opzione ma una scelta obbligata, in questi casi, e comunque limitatamente al motore di rendering...) ma preferisco non impelagarmi a discutere di tematiche che non conosco in prima persona e a fondo.
---
http://files.sharenator.com/simpsons_nelson_haha_RE_What_internet_browser_do_you_use-s350x326-51595.jpg
banryu79
04-11-2010, 14:41
[cut]
http://mapinzia.ilcannocchiale.it/mediamanager/sys.user/116161/d%27ho.jpg
P.S.: però così sembriamo dei "bimbigiggi"... :asd:
@Vincenzo.
Non dovresti essere così arrogante, sopratutto quando parli di cose che dimostri palesemente di non conoscere.
Vediamo un pò di offerte di lavoro:
id software
Ai programmer:
Proficient C++ coding experience
Generalist programmer:
Strong C++ coding and systems design experience
Crytek:
Animation programmer:
Fluent in C++, strong software engineering and debugging skills
Engine programmer:
Fluent in C++, strong software engineering and debugging skills
Tool programmer:
Fluent in C++, strong software engineering and debugging skills
Il 99% delle aziende richiede programmatori c++, che poi servano anche programmatori php/action script per fare il sito o programmatori java per fare tool o vari servizi di backend nessuno lo mette in dubbio ma non si può non dire che c++ sia il linguaggio per eccellenza nel settore dei videogiochi.
Si usano anche linguaggi di script, principalmente lua, per parte del codice game ma il grosso dell'infrastruttura di un game engine è sempre e comunque fatto in c++.
Un game engine è composto da tantissimi componenti: rendering di basso livello, sistemi di gestione della scena, fisica, audio, animazioni, importer da vari formati, gestione delle collisioni, networking, gestione degli input e degli eventi.
Spesso anche librerie come le stl vengono sostituite da librerie fatte in house e spesso si usano allocatori custom per la memoria. Tutti questi sottosistemi sono fatti in c++ e anche l'infrastruttura di base del codice game viene scritta in c++ così come i sistemi di path finding.
Hai mai dato un'occhiata all'engine di doom 3 o al source? In che linguaggio sono scritti? In che linguaggio è scritto l'unreal engine?
Infatti solitamente i linguaggi di scripting NON sono usati dai programmatori, ma bensì dai level designer o gente che ha tutt'altra estrazione che questo forum; e sono utili proprio perchè gli permettono di mettere in campo le proprie idee senza avere una laurea in informatica e senza rovinare il codice di gioco.
Però da lì a dire che uno può fare giochi *davvero* senza conoscere C++ ne passa veramente tanto...
Però da lì a dire che uno può fare giochi *davvero* senza conoscere C++ ne passa veramente tanto...
Non esistono solo i blockbuster da milionate di linee di codice.
Ci sono fior di programmatori che fanno dei bellissimi giochi in flash (platform, puzzle etc.).
Non esistono solo i blockbuster da milionate di linee di codice.
Ci sono fior di programmatori che fanno dei bellissimi giochi in flash (platform, puzzle etc.).
Quindi vi sentireste di consigliare all'OP di ignorare completamente il C++?
Non lo so, per uno che vuole imparare a tutto campo mi sembra una scelta decisamente deleteria:
Riguardati il post di Javaboy, il 99% delle posizioni nell'industria riguardano C++.
Poi certo se vuoi fare per sempre giochi flash spingendo bottoni e senza sapere che c'è sotto per me sta bene così :asd:
Senza contare che Flash passa, C++ resta...
Certo se lui vuole solo realizzare un giochino per dare forma ad una sua idea, per iniziare Flash è sicuramente tra le scelte migliori...
banryu79
05-11-2010, 10:55
Quindi vi sentireste di consigliare all'OP di ignorare completamente il C++?
Non lo so, per uno che vuole imparare a tutto campo mi sembra una scelta decisamente deleteria:
[cut]
Senza offesa, ma nessuno in questo thread ha (fin'ora) sconsigliato di usare il C++ o adirittura di ignorarlo completamente... sei tu che hai sollevato la questione adesso, e mi sono riletto tutti gli interventi per controllare perchè stessi dicendo così, convinto di essermi perso qualcosa... boh, pace :)
Senza offesa, ma nessuno in questo thread ha (fin'ora) sconsigliato di usare il C++ o adirittura di ignorarlo completamente... sei tu che hai sollevato la questione adesso, e mi sono riletto tutti gli interventi per controllare perchè stessi dicendo così, convinto di essermi perso qualcosa... boh, pace :)
Beh l'ha fatto Vincenzo1968, dojolab etc :D
Comunque a parte la questione C++ che serve sicuramente *prima o poi*, per cominciare non è sicuramente il caso di usarlo... molto meglio Flash o Python :read:
banryu79
05-11-2010, 11:07
Beh l'ha fatto Vincenzo1968, dojolab etc :D
Ach, ho capito, c'è un qui-pro-quo!
Hai interpretato male il primo "post ah-ah" di Vincenzo1868, lui è pro-C++ non contro (e lo sapresti se avessi ricordato i thread dei contest di programmazione passati) ;)
Comunque a parte la questione C++ che serve sicuramente *prima o poi*, per cominciare non è sicuramente il caso di usarlo... molto meglio Flash o Python :read:
Che io presumo era esattamente il senso del post di dojolab su StarCraft e di altri che sono intervenuti nella pagina precedente a questa.
Ciao :)
Beh l'ha fatto Vincenzo1968, dojolab etc :D
Prego? A me non pare di aver sconsigliato il C++ o di averlo addirittura escluso dallo sviluppo di un videogioco.
Ho solamente citato StarCraft III che è scritto interamente in Python, escluso l'engine 3d che è in C++.
Che io presumo era esattamente il senso del post di dojolab su StarCraft e di altri che sono intervenuti nella pagina precedente a questa.
Ciao :)
Certo, per partire va benissimo.
Se sfrutti Panda3d poi che è un engine scritto in C++ ma con API Python ottieni cose stupende in brevissimo tempo (esperienza personale).
Vincenzo1968
05-11-2010, 12:51
Prego? A me non pare di aver sconsigliato il C++ o di averlo addirittura escluso dallo sviluppo di un videogioco.
Ho solamente citato StarCraft III che è scritto interamente in Python, escluso l'engine 3d che è in C++.
http://files.sharenator.com/simpsons_nelson_haha_RE_What_internet_browser_do_you_use-s350x326-51595.jpg
http://files.sharenator.com/simpsons_nelson_haha_RE_What_internet_browser_do_you_use-s350x326-51595.jpg
Sai costruire un dialogo civile?
Segnalato. :)
Io credo che Vincenzo in realtà sia un sostenitore del C++ e non un detrattore :D.
Io credo che Vincenzo in realtà sia un sostenitore del C++ e non un detrattore :D.
Io penso che non sappia costruire un dialogo con più persone ;)
http://files.sharenator.com/simpsons_nelson_haha_RE_What_internet_browser_do_you_use-s350x326-51595.jpg
Vincenzo, per favore. Sai benissimo che post di questo tipo possono solo scatenare flame.
Vincenzo, per favore. Sai benissimo che post di questo tipo possono solo scatenare flame.
No, non scatena Flame, semplicemente è maleducato nel confronto di tutti gli altri utenti un atteggiamento simile.
Quindi vi sentireste di consigliare all'OP di ignorare completamente il C++?
Al momento direi di si' visto che e' agli inizi. Con un po' di impegno riuscira' a scriversi un pong o uno space invaders in tempi abbastanza ridotti, e si diverte di piu'.
Non lo so, per uno che vuole imparare a tutto campo mi sembra una scelta decisamente deleteria:
Mi sembra piu' a tutto campo l'ipotesi in cui ha uno strumento per farsi dei giochi semplici ma completi, in cui poi puo' decidere se dedicarsi alla grafica piuttosto che all'IA piuttosto che alla storia...
Riguardati il post di Javaboy, il 99% delle posizioni nell'industria riguardano C++.
Parliamo di posti di lavoro che sara' in grado di coprire, se gli va bene, tra 7-8 anni. Tu immagina come era l'industria dei videogiochi sette anni fa. Per me non fanno testo.
Poi certo se vuoi fare per sempre giochi flash spingendo bottoni e senza sapere che c'è sotto per me sta bene così :asd:
Senza contare che Flash passa, C++ resta...
Dipende sempre cosa gli interessa fare. Ci sono diversi aspetti in un videogioco che si possono affrontare anche con il flash.
E lo dico io che odio il flash e programmo C++ per lavorare, quindi figurati :p
Vincenzo1968
05-11-2010, 17:01
Ach, ho capito, c'è un qui-pro-quo!
Hai interpretato male il primo "post ah-ah" di Vincenzo1868, lui è pro-C++ non contro
...
Ciao :)
Io credo che Vincenzo in realtà sia un sostenitore del C++ e non un detrattore :D.
;)
zulutown
06-11-2010, 11:05
Sconsiglierei di occuparsi dell'engine 3D, e di usare qualcosa di pronto http://www.ogre3d.org/
Per il motore del gioco consiglio Java e C#
C++ se usato da programmatori non super-esperti può portare a disastri completi difficilmente recuperabili.
wizard_at
06-11-2010, 12:41
mi riallaccio al Python...voi cosa vonsigliate: pygame, panda3d o altri?
concordo con zulutown...usare qualcosa di gia' pronto. Ogre non e' proprio facile all'inizio. io consiglio Irrlicht
lefantome
06-11-2010, 13:32
Mio consiglio nel caso in cui tu voglia imparare e tu non abbia bisogno di realizzare la tua idea il prima possibile:
(A)
-Prenditi una serie di lucidi universitari sul C++, se hai voglia prenditi pure un libro.
-Impara programmando e cercando di "creare" quello che ti passa per la testa in relazione ai tuoi mezzi.
-se proprio ti annoia e non ce la fai, buttati su quello che ti hanno consigliato gli altri, quello che hai imparato fin'ora ti sarà utile lo stesso. GOTO B
- Quando hai una conoscenza "buona" del c++ inizia pure a studiare argomenti + gaming oriented, magari utilizza ogre per iniziare o altri engine.
-Continua a imparare e a fare, prova altre tecnologie se le trovi più utili per un determinato progetto.
(B)
-Scegli un mezzo che ti hanno consigliato gli altri e imparalo
-Produci
-estendi le tue conoscenze
Dico di provare almeno a imparare il C++ per primo perchè:
-Dà una visione più a basso livello che andranno a costituire le tue basi di programmazione.
-Imparato quello si hanno meno problemi ad imparare altri linguaggi, mentre fare il contrario può essere traumatico.
-Il linguaggio è comunque molto usato, specialmente in questo campo.
-Studiandolo per primo si riescono ad acquisire più anni si esperienza con questo linguaggio, prima di cercare lavoro.
Ve lo dice uno che rispetta il C++ ma che sicuramente se l'avessi studiato dopo java l'avrei odiato a morte.
raga ho trovato un altro motore grafico 3d per java oltre alla versione java di irrlicht: http://xith.org/index.php?switch=home
cdimauro
06-11-2010, 20:22
mi riallaccio al Python...voi cosa vonsigliate: pygame, panda3d o altri?
PyGame per iniziare col 2D.
Successivamente Panda3D per chi vuol passare al 3D.
Qualcuno sa dove trovare qualche tutorial per C++ e Ogre,magari in italiano?
PyGame per iniziare col 2D.
Successivamente Panda3D per chi vuol passare al 3D.
Concordo :)
Supdario
09-11-2010, 23:24
Il fatto è che il C++ ha due caratteristiche vantaggiose che molti linguaggi interpretati non hanno:
1) La possibilità di programmare a basso livello (specie se si deve accedere direttamente alle API DirectX per i motori grafici o alla scheda video)
2) La generazione di codice macchina, e non bytecode.
Queste due cose sono alla base dei giochi moderni, quelli belli con la grafica stupenda ed il motore fisico. :D Usare un altro linguaggio per programmare i giochi è senz'altro un ottimo metodo per imparare (e probabilmente più semplice), ma è ovvio che non si possano usare a livello industriale.
Secondo me per entrare nell'ottica, la soluzione migliore è usare il C++ appoggiandosi su un engine grafico già fatto, come Ogre3D o Irrlicht.
A mio parere non è una cosa giusta dire che tra un po' di anni il C++ morirà, perché tutto quello su cui lavoriamo è basato sul C/C++. Basta vedere il sistema operativo che stiamo usando (che sia Linux, Windows o altro), oppure gli interpreti per gli altri linguaggi di programmazione, come Java (JVM), C# (.NET Framework), PHP, ecc...: sono tutti scritti in C++.
Il fatto è che il C++ ha due caratteristiche vantaggiose che molti linguaggi interpretati non hanno:
1) La possibilità di programmare a basso livello (specie se si deve accedere direttamente alle API DirectX per i motori grafici o alla scheda video)
2) La generazione di codice macchina, e non bytecode.
Queste due cose sono alla base dei giochi moderni, quelli belli con la grafica stupenda ed il motore fisico. :D Usare un altro linguaggio per programmare i giochi è senz'altro un ottimo metodo per imparare (e probabilmente più semplice), ma è ovvio che non si possano usare a livello industriale.
Secondo me per entrare nell'ottica, la soluzione migliore è usare il C++ appoggiandosi su un engine grafico già fatto, come Ogre3D o Irrlicht.
Ripeto, StarCraft III come tanti altri giochi sono scritti interamente in Python.
Engine a parte :/.
Se usi Panda3d + Python ottieni eccellenti risultati.
A mio parere non è una cosa giusta dire che tra un po' di anni il C++ morirà, perché tutto quello su cui lavoriamo è basato sul C/C++. Basta vedere il sistema operativo che stiamo usando (che sia Linux, Windows o altro), oppure gli interpreti per gli altri linguaggi di programmazione, come Java (JVM), C# (.NET Framework), PHP, ecc...: sono tutti scritti in C++.
Morirà, morirà.
Non un paio di anni, ma 10 tutti.
Poi farà la sua macabra fine anche lui (speriamo :D).
cdimauro
10-11-2010, 08:11
Il fatto è che il C++ ha due caratteristiche vantaggiose che molti linguaggi interpretati non hanno:
1) La possibilità di programmare a basso livello (specie se si deve accedere direttamente alle API DirectX per i motori grafici o alla scheda video)
http://directpython11.sourceforge.net/
In generale tramite la libreria standard ctypes puoi accedere a qualunque DLL e relative API esposte, comprese quelle del kernel.
2) La generazione di codice macchina, e non bytecode.
http://psyco.sourceforge.net/
http://code.google.com/p/shedskin/
Queste due cose sono alla base dei giochi moderni, quelli belli con la grafica stupenda ed il motore fisico. :D Usare un altro linguaggio per programmare i giochi è senz'altro un ottimo metodo per imparare (e probabilmente più semplice), ma è ovvio che non si possano usare a livello industriale.
Secondo me per entrare nell'ottica, la soluzione migliore è usare il C++ appoggiandosi su un engine grafico già fatto, come Ogre3D o Irrlicht.
Per imparare, ma anche per realizzare dei buoni progetti, il C++ non è indispensabile. Esistono alternative come quelle già citate.
Poi se hai intenzione di diventare sviluppatore di videogiochi e realizzare giochi tripla A o simili, allora concordo. Ma ne sarà passata acqua sotto i ponti e penso che sarai LEGGERMENTE più esperto. :D
A mio parere non è una cosa giusta dire che tra un po' di anni il C++ morirà, perché tutto quello su cui lavoriamo è basato sul C/C++. Basta vedere il sistema operativo che stiamo usando (che sia Linux, Windows o altro), oppure gli interpreti per gli altri linguaggi di programmazione, come Java (JVM), C# (.NET Framework), PHP, ecc...: sono tutti scritti in C++.
Speriamo che muoia presto. :D
banryu79
10-11-2010, 08:29
Ripeto, StarCraft III come tanti altri giochi sono scritti interamente in Python.
Engine a parte :/.
Il videogioco Chrome della Techland (quelli di Call of Juarez, per intenderci) engine 3D a parte che è scritto in C++, fu scritto in Java; (nella cartella di installazione del gioco sono pure presenti tutti i sorgenti Java in due cartelle: quella con tutta la logica di gioco, circa 157K loc pure, e quella con lo script engine, circa 22K loc pure).
Voglio vedere uno che oggi non sa niente di programmazione e vorrebbe programmare giochi 3D se deve partire con C++ e con in testa l'obiettivo di arrivare a saper implementare un engine 3D a livelli di eccellezza: vi pare realisitico e/o proficuo ed efficiente per l'apprendimento partire con questo piede?
Forse sono pessimista io quando penso che solo 10 di pratica se ne andrebbero per padroneggiare come dio comanda C++.
Io penso non sia la strada migliore (più efficiente) per uno che non sapendo nulla ne di linguaggi di programmazione ne di implementazione di giochi 3D e grafica ha bisogno di esplorare imparando per orientarsi verso una direzione precisa. In tempi umani, tenendo conto che non può permettersi 8 h. di studio specifico e programmazione al dì.
Con tutto il rispetto che provo per C++... e dire che è un linguaggio che "sta per morire" o in disuso è fare un'affermazione un pelo avventata, secondo me.
Il videogioco Chrome della Techland (quelli di Call of Juarez, per intenderci) engine 3D a parte che è scritto in C++, fu scritto in Java; (nella cartella di installazione del gioco sono pure presenti tutti i sorgenti Java in due cartelle: quella con tutta la logica di gioco, circa 157K loc pure, e quella con lo script engine, circa 22K loc pure).
Voglio vedere uno che oggi non sa niente di programmazione e vorrebbe programmare giochi 3D se deve partire con C++ e con in testa l'obiettivo di arrivare a saper implementare un engine 3D a livelli di eccellezza: vi pare realisitico e/o proficuo ed efficiente per l'apprendimento partire con questo piede?
Forse sono pessimista io quando penso che solo 10 di pratica se ne andrebbero per padroneggiare come dio comanda C++.
Io penso non sia la strada migliore (più efficiente) per uno che non sapendo nulla ne di linguaggi di programmazione ne di implementazione di giochi 3D e grafica ha bisogno di esplorare imparando per orientarsi verso una direzione precisa. In tempi umani, tenendo conto che non può permettersi 8 h. di studio specifico e programmazione al dì.
Come non concordare.
Anche IL-2 Sturmovik mi pare sia scritto in Java, Engine compreso.
Con tutto il rispetto che provo per C++... e dire che è un linguaggio che "sta per morire" o in disuso è fare un'affermazione un pelo avventata, secondo me.
La mia è una battuta, sia chiaro ;)
Spero ci lasci e anche in fretta, provo ribrezzo per questo linguaggio sinceramente; ma è una questione di gusti.
Il problema del C++ è principalmente l'impossibilità di comprendere i messaggi d'errore del compilatore :asd:
@cdimauro: io mi chiedo cosa aspettano ad integrare un compilatore jit in Python, che a quel punto penso avrebbe pochi rivali.
Psycho purtroppo viene aggiornato un po' lentamente, non mi risultano versioni per Python3 o sbaglio?
http://directpython11.sourceforge.net/
In generale tramite la libreria standard ctypes puoi accedere a qualunque DLL e relative API esposte, comprese quelle del kernel.
http://psyco.sourceforge.net/
http://code.google.com/p/shedskin/
Per imparare, ma anche per realizzare dei buoni progetti, il C++ non è indispensabile. Esistono alternative come quelle già citate.
Poi se hai intenzione di diventare sviluppatore di videogiochi e realizzare giochi tripla A o simili, allora concordo. Ma ne sarà passata acqua sotto i ponti e penso che sarai LEGGERMENTE più esperto. :D
Speriamo che muoia presto. :DChiedo a te messia del python,sai dove trovare qualche tutorial su questo linguaggio di prog in coppia con Ogre?magari qualcosa di base in italiano...
So già programmare in C,C++ e Java SE non sarà mica un problema imparare python?
banryu79
10-11-2010, 09:44
Spero ci lasci e anche in fretta, provo ribrezzo per questo linguaggio sinceramente; ma è una questione di gusti.
Io non spero nulla in merito; invece penso che, al di là dei gusti e del fanatismo, possano ancora esserci molte "raison d'être" razionali che giustificano l'utilizzo di C++ come linguaggio e relativa "piattafoma".
Per restare in tema con l'argomento del thread, riquoto questo passaggio che avevo citato:
... un fattore determinante sia la neccessità di poter esercitare un controllo molto preciso degli oggetti in memoria* (ricordo che ne parlò Fek al tempo qui nel forum in un topic e lo indicava come vero motivo per cui l'utilizzo del C++ non è un'opzione ma una scelta obbligata, in questi casi, e comunque limitatamente al motore di rendering...)
[cut]
* ricordo che parlava dei problemi legati alla frammentazione della RAM e alla conseguente neccessità di poter controllare prorprio il layout degli oggetti allocati in memoria.
Fek si era espresso in maniera più puntuale ma io vado a memoria (non ho voglia ne tempo per cercare la discussione attinente e linkarla, gli interessati possono provare a setacciare tra i messaggi dell'utente "fek").
cdimauro
10-11-2010, 09:46
Il problema del C++ è principalmente l'impossibilità di comprendere i messaggi d'errore del compilatore :asd:
Specialmente se provengono da GCC et similia. :asd:
@cdimauro: io mi chiedo cosa aspettano ad integrare un compilatore jit in Python, che a quel punto penso avrebbe pochi rivali.
http://code.google.com/p/unladen-swallow/
Qualche mese fa hanno formalmente chiesto di integrarlo in nel ramo ufficiale di Python.
Se non ricordo male dovrebbero lavorarci per la versione 3.3 (la 3.2 sarà rilasciata a breve, e non ci sarebbe stato il tempo).
Psycho purtroppo viene aggiornato un po' lentamente, non mi risultano versioni per Python3 o sbaglio?
No, supporta solo Python 2.x (non so nemmeno se hanno aggiunto il supporto alla 2.7, ma credo di no: le modifiche non sarebbero poche).
E' un progetto ormai abbandonato. Lo stesso autore è a capo di PyPy ( http://codespeak.net/pypy/dist/pypy/doc/ ), che all'ultima PyCon a Firenze ha mostrato i muscoli su applicazioni di puro calcolo (intero o virgola mobile).
Comunque in futuro Python è destinato a migliorare a livello prestazionale. Ci sono troppi interessi ormai, Google e YouTube in primis (quest'ultimo usa pesantemente Psyco).
cdimauro
10-11-2010, 09:48
Chiedo a te messia del python,sai dove trovare qualche tutorial su questo linguaggio di prog in coppia con Ogre?magari qualcosa di base in italiano...
Per Python vedi in firma. Per Ogre non so (mai provato), ma continuo a consigliarti Panda3D, che è fatto molto bene ed è molto semplice.
So già programmare in C,C++ e Java SE non sarà mica un problema imparare python?
Al contrario: sarà MOLTO più semplice. :cool:
Se sai già programmare dovrebbe bastarti uno qualunque dei tutorial che trovi in giro. Tipo "Python in 10 minuti" o roba del genere. ;)
banryu79
10-11-2010, 09:56
Come non concordare.
Anche IL-2 Sturmovik mi pare sia scritto in Java, Engine compreso.
Sì, sempre con l'engine per il rendering grafico in 3D; in Java hanno scritto la fisica, la game logic, l'AI.
Almeno stando a quanto leggo qui (http://blogs.sun.com/dtwilleager/entry/java_game_development_myths) (articolo interessante, anche se vecchio).
La cosa interessante è che il gioco veniva distribuito con jre incluso, idem per Chrome, citato sopra.
Sì, sempre con l'engine per il rendering grafico in 3D; in Java hanno scritto la fisica, la game logic, l'AI.
Almeno stando a quanto leggo qui (http://blogs.sun.com/dtwilleager/entry/java_game_development_myths) (articolo interessante, anche se vecchio).
La cosa interessante è che il gioco veniva distribuito con jre incluso, idem per Chrome, citato sopra.
IEP.
Lo stesso progetto XNA di Microsoft si basa su C#, quindi non è necessario il C++ per un videogioco; anzi, forse, è l 'ultima delle scelte :)
banryu79
10-11-2010, 10:26
IEP.
Lo stesso progetto XNA di Microsoft si basa su C#, quindi non è necessario il C++ per un videogioco; anzi, forse, è l 'ultima delle scelte :)
Beh sì, io penso più che altro che C++ non sia una scelta obbligata, se non sei una major che deve produrre un gioco AAA, motore di rendering AAA sviluppato in casa incluso... cosa che di solito gli utenti del forum che postano per chiedere consigli su come iniziare non sono :D
Beh sì, io penso più che altro che C++ non sia una scelta obbligata, se non sei una major che deve produrre un gioco AAA, motore di rendering AAA sviluppato in casa incluso... cosa che di solito gli utenti del forum che postano per chiedere consigli su come iniziare non sono :D
Magari è Crammond cammuffato :|
Ho scaricato Python 2.7 (sembra molto semplice) e Panda3D 1.6.2,vediamo che riesco a combinare.
per caso qualcuno conosce qualche sito dove scaricare modelli 3d quali personaggi e scenari (gratis) ?
Ho scaricato Python 2.7 (sembra molto semplice) e Panda3D 1.6.2,vediamo che riesco a combinare.
per caso qualcuno conosce qualche sito dove scaricare modelli 3d quali personaggi e scenari (gratis) ?
No ma Googlando trovi molti modelli per Blender (e anche un plugin per l'export dei modelli nel formato di Panda3d) :)
Ho provato a fare l'hello world di panda3d,praticamente ho creato il file panda.pth con scritta la directory dove è installato panda3d e l'ho copiato nella cartella di python 2.7,ho copiato queste righe di codice su un nuovo file py:
from direct.showbase.ShowBase import ShowBase
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
app = MyApp()
app.run()
e poi ho fatto run module,ma il risultato è stato una serie di errori
Così ho guardato su internet e ho letto che la versione di panda che ho io non va bene per python 2.7,così ho scaricato la 2.5 ma sempre gli stessi errori.Dove sbaglio?
Servirebbero gli errori ;)
Servirebbero gli errori ;)eccoli:
Traceback (most recent call last):
File "C:\Users\Alessio\Desktop\prova.py", line 1, in <module>
from direct.showbase.ShowBase import ShowBase
File "E:\Panda3D-1.6.2\direct\showbase\ShowBase.py", line 10, in <module>
from pandac.PandaModules import *
File "E:\Panda3D-1.6.2\pandac\PandaModules.py", line 1, in <module>
from libpandaexpressModules import *
File "E:\Panda3D-1.6.2\pandac\libpandaexpressModules.py", line 1, in <module>
from extension_native_helpers import *
File "E:\Panda3D-1.6.2\pandac\extension_native_helpers.py", line 48, in <module>
raise ImportError, message
ImportError: Cannot find libpandaexpress.dll
cdimauro
12-11-2010, 21:21
Dovresti controllare che quella DLL sia raggiungibile dal path corrente. Se non lo è, aggiungi alla variabile d'ambiente PATH il percorso completo della cartella in cui si trova.
Dovresti controllare che quella DLL sia raggiungibile dal path corrente. Se non lo è, aggiungi alla variabile d'ambiente PATH il percorso completo della cartella in cui si trova.fatto,però ora si sono aggiunti due nuovi errori:
Dtool_PreloadDLL("libpandaexpress")
File "E:\Panda3D-1.6.2\pandac\extension_native_helpers.py", line 73, in Dtool_PreloadDLL
imp.load_dynamic(module, pathname)
ImportError: DLL load failed with error code 193
sto utilizzando python 2.5 e panda 3d 1.6.2,è forse un problema di versioni?
cdimauro
12-11-2010, 22:37
Cercando in giro sembra sia dovuto a un mix di versioni a 32 e 64 bit di Python e della libreria che sta cercando di usare.
Dovresti provare a usare tutto a 32 bit.
ok,domani provo e ti faccio sapere
ora funziona,grazie del suggerimento.
mone.java
14-11-2010, 17:25
io darei un'occhiata al JavaMonkeyEngine!!! http://www.jmonkeyengine.com/... mi sembra molto valido!!! è molto ben documentato e ci sono molti esempi!!!
io darei un'occhiata al JavaMonkeyEngine!!! http://www.jmonkeyengine.com/... mi sembra molto valido!!! è molto ben documentato e ci sono molti esempi!!!sembra davvero interessante,appena ho un attimo lo provo
mone.java
14-11-2010, 23:19
La prima volta che lo vidi era tre anni fa che feci qualche prova ma non avevo abbastanza esperienza per capire quello che facevo.... Adesso ci ho ridato un'occhiata da poco ed il progetto è cresciuto davvero molto!!! È da tre anni che mi prometto che appena avrei avuto un po di tempo ci avrei dato un'occhiata!!!!
Ho fatto copia/incolla di questo tutorial di panda3D:http://www.panda3d.org/manual/index.php/Using_Intervals_to_move_the_Panda e quando faccio run module esce questo errore riferito alla libreria da importare (tutti gli altri tutorial funzionano perchè non importano l'ultima libreria dell'esempio)
Traceback (most recent call last):
File "E:\Progetto Python\prova.py", line 7, in <module>
from panda3d.core import Point3
ImportError: No module named panda3d.core
Oltre a questo volevo dirvi che ho provato jMonkey e devo dire che è davvero ben fatto e l'sdk installa anche un'ambiente già preparato,non sembra nemmeno così difficile però non ho ancora capito quali sono i modelli 3d compatibili con questo engine
mone.java
15-11-2010, 09:56
Mi sembra che usi un suo formato specifico.... Ma da la possibilità di usare molti altri formati siccome da a disposizione classi per convertire/importare i vari formati.... Sicuramente anche l'ambiente di sviluppo dia gli strumenti necessari a convertire/importare altri formati....
cdimauro
15-11-2010, 20:08
Ho fatto copia/incolla di questo tutorial di panda3D:http://www.panda3d.org/manual/index.php/Using_Intervals_to_move_the_Panda e quando faccio run module esce questo errore riferito alla libreria da importare (tutti gli altri tutorial funzionano perchè non importano l'ultima libreria dell'esempio)
Traceback (most recent call last):
File "E:\Progetto Python\prova.py", line 7, in <module>
from panda3d.core import Point3
ImportError: No module named panda3d.core
Non trova quel modulo, per cui devi vedere dove si trova e aggiungerne il path a quelli utilizzati da Python per cercare i moduli.
Ad esempio, supponendo che la cartella panda3d che contiene il modulo core.py si trovi in "C:\Program Files\Panda3D", allora aggiungi il seguente codice all'inizio di prova.py:
import sys
sys.append(r"C:\Program Files\Panda3D")
A questo punto l'import dovrebbe andare a buon fine.
Oltre a questo volevo dirvi che ho provato jMonkey e devo dire che è davvero ben fatto e l'sdk installa anche un'ambiente già preparato,non sembra nemmeno così difficile però non ho ancora capito quali sono i modelli 3d compatibili con questo engine
Non lo conosco, per cui non mi posso esprimere nel merito, ma penso che, usando Java, sarà più complicato da utilizzare.
Vedi tu.
ho fatto come mi hai detto ma da un altro errore:
Traceback (most recent call last):
File "E:\Progetto Python\prova.py", line 2, in <module>
sys.append(r"E:\Panda3D-1.6.2\python\Lib\distutils")
AttributeError: 'module' object has no attribute 'append'
ma la r all'inizio del percorso ci va?ho provato anche a toglierla ma da sempre lo stesso errore,da quanto sembra non riconosce il comando append
cdimauro
16-11-2010, 10:29
Pardon, la fretta: sys.path.append
Pardon, la fretta: sys.path.append
Eh Cesare, Cesare V_V questo non me lo aspettavo da te :P
Vincenzo1968
16-11-2010, 11:54
IEP.
Lo stesso progetto XNA di Microsoft si basa su C#, quindi non è necessario il C++ per un videogioco; anzi, forse, è l 'ultima delle scelte :)
@Vincenzo.
Non dovresti essere così arrogante, sopratutto quando parli di cose che dimostri palesemente di non conoscere.
Vediamo un pò di offerte di lavoro:
id software
Ai programmer:
Proficient C++ coding experience
Generalist programmer:
Strong C++ coding and systems design experience
Crytek:
Animation programmer:
Fluent in C++, strong software engineering and debugging skills
Engine programmer:
Fluent in C++, strong software engineering and debugging skills
Tool programmer:
Fluent in C++, strong software engineering and debugging skills
Il 99% delle aziende richiede programmatori c++, che poi servano anche programmatori php/action script per fare il sito o programmatori java per fare tool o vari servizi di backend nessuno lo mette in dubbio ma non si può non dire che c++ sia il linguaggio per eccellenza nel settore dei videogiochi.
Si usano anche linguaggi di script, principalmente lua, per parte del codice game ma il grosso dell'infrastruttura di un game engine è sempre e comunque fatto in c++.
Un game engine è composto da tantissimi componenti: rendering di basso livello, sistemi di gestione della scena, fisica, audio, animazioni, importer da vari formati, gestione delle collisioni, networking, gestione degli input e degli eventi.
Spesso anche librerie come le stl vengono sostituite da librerie fatte in house e spesso si usano allocatori custom per la memoria. Tutti questi sottosistemi sono fatti in c++ e anche l'infrastruttura di base del codice game viene scritta in c++ così come i sistemi di path finding.
Hai mai dato un'occhiata all'engine di doom 3 o al source? In che linguaggio sono scritti? In che linguaggio è scritto l'unreal engine?
:bimbo:
banryu79
16-11-2010, 12:10
[cut]
Nota che la frase di dojolab che hai quotato andava considerata all'interno del contesto relativo al discorso che si faceva prima, quando l'ha pubblicata: linguaggi per scrivere giochi "NON AAA" per principianti in materia.
Sul fatto che C++ sia indispensabile per giochi AAA eravamo tutti più o meno d'accordo.
Sei rimasto indietro rispetto al discorso del thread... da bravo :old:
:asd:
Nota che la frase di dojolab che hai quotato andava considerata all'interno del contesto relativo al discorso che si faceva prima, quando l'ha pubblicata: linguaggi per scrivere giochi "NON AAA" per principianti in materia.
Lassa sta. :rolleyes:
Sul fatto che C++ sia indispensabile per giochi AAA eravamo tutti più o meno d'accordo.
C'erano ancora dubbi? :)
cdimauro
16-11-2010, 13:33
Eh Cesare, Cesare V_V questo non me lo aspettavo da te :P
Lo so, so cose da niubbi, ma a volte capitano pure a me. :D
cdimauro
16-11-2010, 13:35
Nota che la frase di dojolab che hai quotato andava considerata all'interno del contesto relativo al discorso che si faceva prima, quando l'ha pubblicata: linguaggi per scrivere giochi "NON AAA" per principianti in materia.
Sul fatto che C++ sia indispensabile per giochi AAA eravamo tutti più o meno d'accordo.
Sei rimasto indietro rispetto al discorso del thread... da bravo :old:
:asd:
http://mirage.geckoandfly.netdna-cdn.com/wp-content/uploads2/2009/05/simpson_ha_ha_architect_job_architecture_salary.jpg
banryu79
16-11-2010, 13:46
Nelson "Ahah" [cut]
Ma Ahah a chi?
A me o al vegliardo? :asd:
Ma Ahah a chi?
A me o al vegliardo? :asd:
Penso sia ironico ;) (riferito a chi sta ancora più sopra di tutti noi).
Ma magari mi sbaglio. :)
cdimauro
16-11-2010, 17:03
Penso sia ironico ;) (riferito a chi sta ancora più sopra di tutti noi).
Ma magari mi sbaglio. :)
http://mirage.geckoandfly.netdna-cdn.com/wp-content/uploads2/2009/05/simpson_ha_ha_architect_job_architecture_salary.jpg
:asd: :asd: :asd:
Pardon, la fretta: sys.path.appendstessa cosa,non va,dice che non trova il modulo:
Traceback (most recent call last):
File "E:\Progetto Python\prova.py", line 9, in <module>
from panda3d.core import Point3
ImportError: No module named panda3d.core
il path del file core.py è giusto,forse panda3d.core è proprio un altro file,o no?
http://mirage.geckoandfly.netdna-cdn.com/wp-content/uploads2/2009/05/simpson_ha_ha_architect_job_architecture_salary.jpg
:asd: :asd: :asd:
OT
Occhio Cesare, che l'arbitro tira spesso fuori il cartellino giallo alla 'cavolo', un pòpò come in Pes 2011 :P.
END OT.
cdimauro
17-11-2010, 07:53
stessa cosa,non va,dice che non trova il modulo:
Traceback (most recent call last):
File "E:\Progetto Python\prova.py", line 9, in <module>
from panda3d.core import Point3
ImportError: No module named panda3d.core
il path del file core.py è giusto,forse panda3d.core è proprio un altro file,o no?
Dalla sintassi utilizzata panda3d dovrebbe essere un package, quindi una cartella con una gerarchia di cartelle e/o moduli all'interno. Nello specifico, ipotizzo che dentro la cartella panda3d debba esistere il file core.py, che contenga a sua volta l'oggetto Point3.
Potresti postare il contenuto del filesystem dentro la cartella panda3d?
x dojolab: beh, un po' di ironia non credo faccia male. Serve a stemperare la tensione che a volte si crea. ;)
OT
Occhio Cesare, che l'arbitro tira spesso fuori il cartellino giallo alla 'cavolo', un pòpò come in Pes 2011 :P.
END OT.
Sei sospeso 7 gg per polemica verso il moderatore e sinceramente mi sono stancato del tuo atteggiamento.
ecco le directory di panda3d
http://i51.tinypic.com/334kk7m.jpg
Dalla sintassi utilizzata panda3d dovrebbe essere un package, quindi una cartella con una gerarchia di cartelle e/o moduli all'interno. Nello specifico, ipotizzo che dentro la cartella panda3d debba esistere il file core.py, che contenga a sua volta l'oggetto Point3.
Potresti postare il contenuto del filesystem dentro la cartella panda3d?
x dojolab: beh, un po' di ironia non credo faccia male. Serve a stemperare la tensione che a volte si crea. ;)Puoi aiutarmi?Se hai notato ho postato il contenuto della cartella panda3d
cdimauro
21-11-2010, 17:03
Scusami, non ho avuto tempo finora. Appena potrò installerò Panda3D, proverò a lanciare qualche esempio, e ti farò sapere.
Scusami, non ho avuto tempo finora. Appena potrò installerò Panda3D, proverò a lanciare qualche esempio, e ti farò sapere.ok grazie ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.