|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
|
Miglior linguaggio per giochi?
Qual'è attualmente il miglior linguaggio di programmazione per creare giochi(sia 2d che 3d)?
Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Uno qualsiasi. Tra .NET e Java ci sono più API per creare giochi di quante se ne possano desiderare e le due piattaforme supportano praticamente ogni linguaggio noto e ignoto.
Il problema sono gli assets: modelli, suoni, immagini... è lì che investi la maggior parte del tempo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jul 2006
Città: Altamura
Messaggi: 919
|
Quote:
Java non è tra la lista dei migliori linguaggi per giochi 3d (poi dipende pur sempre dal gioco in questione, un conto è snake, un conto è battlefield). Quoto in toto il discorso sugli assets, se non hai una squadra di grafici in gamba la vedo dura, molto dura.
__________________
Trattative : http://swdev.altervista.org/VenditeAcquisti.txt Blog Tecnico : http://blogs.dotnethell.it/SwDev/ Desktop : i7 920,GTX580 PALIT, Obsidian 800D, 6GB Corsair, OCZ Vertex 3 240gb. Desktop 2 : iMac 27'' MID 2011 i5, 4GB |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
Il problema non e' il linguaggio il problema e' il programmatore. Fare un gioco e' dannatamente difficile, farlo divertente lo e' ancora di piu'. Quindi, se vuoi fare giochi, parti da questo bel thread http://www.indievault.it/forum/showthread.php?tid=4305 Poi impara un linguaggio qualunque e comincia a codare. Quando hai qualcosa di funzionante poi pensi all'ottimizzazione. Tieni presente che Metin2 ad esempio o Cabal sono scritti in python. Magicka che ha fatto tanto successo e' scritto in C# Minecraft che pure ha tanto successo e' fatto in java Tutti i giochi per iphone sono fatti in objective c o c++ Quasi tutti i giochi per pc sono scritti in una combinazione di C++ e Lua o un altro linguaggio di scripting per programmare il gameplay. Unity usa C# Quindi... L'importante non e' il linguaggio ma il team che sviluppa il gioco
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
|
capisco...quindi la decisione è più soggettiva che oggettiva...
Comunque,se io decidessi di scegliere il c/c++,quale libreria è la migliore,o semmai la più utilizzata? Allegro,openGl,etc? |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
parti da qui:
http://lazyfoo.net/SDL_tutorials/index.php
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Protip: stai partendo dal lato sbagliato.
Per fare un gioco devi chiederti prima che gioco vuoi fare, e su quali piattaforme (windows, mac, linux, iphone, android, WP7, XBLIG, Flash, www, etc). Quando sai questo puoi iniziare a scegliere il tool migliore allo scopo tra le decine disponibili, che vanno da UE3.5 a Game Maker al tuo motore scritto a mano in C, a seconda delle tue disponibilità e capacità. Il linguaggio è una scelta obbligata in questo modo, si tratta semplicemente di imparare quello che usa il tuo tool preferito OT: Java non è usato affatto nei videogiochi proprio per una questione di tools - non c'è nessun motore grafico per Java, e usare Java significa doversi scrivere un motore OpenGL da 0 insieme a tutti i tools. Cosa che è stata fatta per Minecraft infatti... ma Minecraft è un gioco del tutto atipico che non avrebbe guadagnato nulla dall'usare un tool esistente tipo Unity o UE3. Senza contare che una roba scritta in PC-Java gira SOLO su PC, quindi niente mobile (no, nemmeno android) o consoles... brutta faccenda per un dev. E in più, Java è OpenGL only (mi pare)... ma su windows appena inizi a usare gli shader OpenGL è meglio evitarla alla grande... e questo taglia fuori Java anche dagli AAA per PC. Riassumendo, le prestazioni di Java sono più che sufficienti al 99% dei giochi, ad oggi, ma è un ecosistema meno adatto ai giochi rispetto a tanti altri. Ultima modifica di Tommo : 19-04-2012 alle 17:12. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
|
inanzitutto,grazie per le risposte immediate.
Inizio subito col fare un'altra domandina,a cosa servono e cosa sono di preciso i tool?(comunque la piattaforma che voglio usare è windows) p.s: scusate l'ignoranza :P |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Java3D su Windows può girare su Direct3D invece che su OpenGL...
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 19-04-2012 alle 17:36. |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Comunque è fondamentale avere ben chiaro quali sono le specifiche del gioco che si vuole fare.
In base a quelle si può decidere se java può essere una scelta o meno, se c# va o non va, se bisogna "fare sul serio" e buttarsi su c++. Stesso discorso per i vari tool, motori grafici e librerie grafiche. Se vuoi realizzare un gioco multipiattaforma directx non lo puoi ovviamente usare. Se fai un gioco solo windows, allora directx può essere una scelta. Se deve girare sugli smartphone, allora opengl es è la tua api di riferimento. Ma non è detto che devi partire da un livello così basso. Potresti, ad esempio, usare ogre e allora il problema opengl/directx nemmeno si porrebbe. Il punto è che è tutto molto dipendente da quello che si vuole fare. Se lo scopo è didattico, allora c++ e directx o opengl. Più a basso livello di così non puoi scendere e imparerai tante cose. |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
|
Quote:
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Una delle prime cose che insegnano a legge è la differenza tra fatti e atti. I fatti sono accadimenti naturali, gli atti sono eventi generati dall'intervento umano.
Tra gli esempi di fatti se ne danno generalmente quattro. Fulmine, pioggia, imbrunire, i motori 3D Java che girano su Android. Dei tre motori di gioco java più noti (Ardor3D, BonzaiEngine, JMonkeyEngine) ben tre funzionano su android. Ecco, di fronte ad una casistica del genere io mi domando dove uno possa aver preso l'affermazione "quindi niente mobile (no, nemmeno android)", con un "nemmeno" che suona come un pugno battuto sul tavolo. Tre su tre. Non due, che uno dice "vabbè, ha beccato l'altro". No. Ribadisco poi: scegli la lingua che preferesci. Anzi: usa Blender e Python (Komodo come editor, è l'unico passabile che ho trovato). L'accoppiata si presta molto bene a creare almeno un rapido prototipo (sebbene Blender in sè sia in grado di generare ambienti visivamente molto più che prototipali) perchè, nonostante una documentazione orrenda, fonde molto bene l'aspetto logico-digitante con quello grafico.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Altamura
Messaggi: 919
|
Ma perchè in questo forum, gli utenti tendono a cambiare le carte in tavola?E sopratutto perchè si fa sempre della facile ironia sui post altrui?Sono uno sviluppatore professionista, ne saprò pur qualcosa....
Io NON HO DETTO che in java non si puo programmare un gioco 3D, ma bensi ho detto che "NON E' IL MIGLIOR LINGUAGGIO PER FARLO ED E' BANALMENTE SURCLASSATO DA C++ e da C#(XNA, solo per windows ovviamente)" L'utente ha chiesto qual'è il "MIGLIOR linguaggio" e senza dubbio alcuno bisogna consigliare C++, ora vediamo se qualcuno ha il coraggio di dire che lo sviluppo gaming è preferibile farlo in Java piuttosto che c++....!Perchè la Valve non ha sviluppato Battlefield in Java?Perchè il 99% delle software house che sviluppano giochi, li sviluppano in c++?Ci sarà un motivo no?
__________________
Trattative : http://swdev.altervista.org/VenditeAcquisti.txt Blog Tecnico : http://blogs.dotnethell.it/SwDev/ Desktop : i7 920,GTX580 PALIT, Obsidian 800D, 6GB Corsair, OCZ Vertex 3 240gb. Desktop 2 : iMac 27'' MID 2011 i5, 4GB |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
quando parlo di basso livello mi riferisco a tutto ciò che implica un maggior lavoro per il programmatore e un'interazione più diretta con l'hardware
alto livello è ovviamente il viceversa ad esempio se volessi seguire il consiglio di usare python e blender, staresti operando ad un livello molto alto....tutto sarebbe più semplice, avresti molti strumenti preconfezionati e ovviamente i relativi pro e contro se invece fai un gioco con c++ e opengl/directx, allora stai lavorando al livello più basso umanamente ammissibile per lo sviluppo di giochi....hai più potere, più libertà, più possibilità di ottimizzare, ma fai più lavoro e il tutto è molto più complicato da gestire ad esempio usare c++ e ogre è già ad un livello più alto del precedente....usare c#/java e un motore grafico è ad un livello ancora più alto comunque sia è importante valutare il target/piattaforma del tuo gioco, cioè dove vuoi che giri e quali limitazioni in termini di performance, flessibilità, ecc... puoi accettare un gioco multipiattaforma ha necessità differenti rispetto ad un gioco solo windows o solo macos o solo android tutto dipende da te e da cosa vuoi ottenere, ovvero vuoi realizzare un gioco senza troppe pretese, un titolo tripla A, vuoi imparare quanto più possibile, ecc.... un gioco discreto si può fare, come suggerisce pgi-bis, con python e blender....fai un bel gioco ( guarda i video su youtube ), lo fai rapidamente, con sforzo minimo e impari pure qualcosa poi puoi scendere più giù, fin dove t'aggrada |
|
|
|
|
|
#15 | |||
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
Non ho detto che non ci sono, ho detto che ce ne sono pochi e quasi sicuramente inferiori ai motori più famosi, sia come features, sia come supporto della community... che jMonkeyEngine sia veramente poco usato è un dato di fatto, poi certo chiunque è libero di usarlo se ritiene che sia adatto ai suoi scopi! Quote:
![]() Quote:
|
|||
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Questo è sinceramente un grande mistero dell'informatica. Io penso che sia una questione di costi, nel senso che le software house che si occupano di giochi hanno un base di codice C++ così ampia e consolidata che il passaggio ad una tecnologia diversa (non necessariamente Java, francamente a C++ sarebbe preferibile qualsiasi cosa) costerebbe troppo. E' un po' come certi sistemi gestionali di magazzino scritti in cobol tremila anni fa che sono così estesi e così legati alle metodologie dell'impresa che li usa che cambiarli non è materialmente conveniente.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Però mi sovviene un dubbio. Si parla di linguaggi? Ma in quanto a know-how come stai messo?
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Jul 2006
Città: Altamura
Messaggi: 919
|
Quote:
Beh che a favore di C++ ci sia un vasto know-how da parte degli addetti ai lavori è palese, come è palese anche che Java e C++ sono nettamente differenti a livello prestazionale. P.S tengo a precisare che il know-how è ASSOLUTAMENTE una discriminante a favore di c++!
__________________
Trattative : http://swdev.altervista.org/VenditeAcquisti.txt Blog Tecnico : http://blogs.dotnethell.it/SwDev/ Desktop : i7 920,GTX580 PALIT, Obsidian 800D, 6GB Corsair, OCZ Vertex 3 240gb. Desktop 2 : iMac 27'' MID 2011 i5, 4GB |
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
|
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
mi riferivo al tuo background
il punto è che la scelta di un linguaggio diventa quasi ovvia avendo già un background solido ( si sa cosa si vuole e quindi dove andarlo a prendere ) il punto è che pure il discorso del "miglior linguaggio" è molto relativo nessun gioco di un certo spessore sfrutta un solo linguaggio o è costruito su un singolo linguaggio |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:00.




















