questo è un post che descrive in dettaglio la mia ricerca del modo più divertente per un programmatore di giochi hobbisti di addolcire il suo tempo libero con la realizzazione di un gioco.
I miei requisiti: ho guardato prima Flash, ho realizzato un paio di piccoli giochi ma sono dubbioso sulle prestazioni. Vorrei fare un gioco di strategia abbastanza grande, con diverse centinaia di unità che combattevano contemporaneamente, incluse esplosioni e animazioni. Anche mappe zoomabili. Ho visto che Adobe ha una nuova API 3D per Flash, ma non so se ciò migliora anche le prestazioni 2D, non sono riuscito a trovare nulla correlato a tale domanda nelle loro sessioni MAX10. Diresti che Flash è una buona tecnologia per realizzare facilmente giochi 2D di grandi dimensioni? Mi piace molto Actionscript e adoro quanto sia facile tutto in Flash. Sono disponibili diversi motori che lo rendono ancora più semplice.
Lo faccio solo per divertimento, e sarebbe ancora meglio se ci fossero editor di animazioni / particelle disponibili e se il motore che dovessi usare, sarebbe disponibile per più piattaforme. (così più persone possono giocare al mio gioco una volta finito). Vorrei averlo disponibile anche su molte piattaforme mobili. (perché adoro l'input tattile per qualche motivo)
Conosco abbastanza bene il framework XNA, ma non ci sono buoni motori disponibili per esso, e funzionerà solo su Windows, il che è un grande spegnimento. Ancora più grande è che devi installare l'XNA ridistribuibile ogni volta che vuoi dare il gioco a qualcuno. Se uso XNA, dovrei creare da solo tutti gli strumenti e probabilmente dovrei realizzarli con WPF. (Mi piacerebbe creare strumenti con Adobe AIR, ma sfortunatamente le API per la manipolazione delle immagini, ecc. Sono molto peggiori in Flash, rispetto a quelle in XNA / WPF.) Ora, sono consapevole che potrei creare il mio motore che supporta ciascuna di queste piattaforme, ma francamente, sarebbe troppo lavoro arare attraverso le API. Dopotutto, voglio fare un gioco, non un motore.
Quindi la domanda diventa: esiste forse un motore multipiattaforma (gratuito o gratuito da sviluppare?) Che potrei usare per lo sviluppo 2D? Preferisco: C #, Actionscript. Non mi dispiace usare c ++ se il set di strumenti è al di sopra della media, ma dubito fortemente che esista qualcosa del genere. Per favore, dimostrami che ho torto :) Quindi riassunto: mi piacerebbe usare Flash, ma non so se ridimensiona abbastanza bene. Non sono uno script, voglio alcune API reali con cui posso lavorare all'interno di un IDE corretto.
Solo per informazione, ho esaminato diverse alternative, in realtà sto già cercando da molto tempo. Mi aiuterai molto a prendere una decisione finalmente.
Per quanto riguarda le funzionalità, il motore Flatredball sarebbe l'ideale. Ma ho provato i loro strumenti e, francamente, sono orribili. Assolutamente inutilizzabile, dovrei sicuramente crearne uno mio. Non ho esaminato le loro API, ma se i loro strumenti sono così male, non sono propenso a guardare oltre.
Unity3D. Questo è piuttosto carino, ma non ho davvero bisogno del 3D , ed è abbastanza ... molto lavoro da imparare. Inoltre, non mi piace che sia così costoso da usare per piattaforme diverse e che posso solo codificarlo tramite lo scripting. Devi acquistare ciascuna piattaforma separatamente. L'usabilità dell'editor è nella media, il prodotto nel complesso è abbastanza buono per la maggior parte degli scopi, ma impararlo da solo sarebbe eccessivo.
Shiva 3D. Sembra abbastanza buono, ma di nuovo: non ho davvero bisogno del 3D. L'usabilità dell'editor è un po 'peggio di Unity3D secondo me e non mi era chiaro come iniziare la programmazione. Penso che richieda C ++ per la codifica, quindi anche questo è negativo. Voglio divertirmi e c # è divertente;)
SDL. Francamente, avrei ancora bisogno di port su tutte quelle diverse implementazioni SDL. E non mi piace la programmazione in stile OpenGL, è semplicemente brutta. E ha bisogno di c ++, so che potrebbero esserci dei wrapper disponibili, ma non mi piace usare i wrapper, perché ...
Irrlicht. Molte funzionalità, ma il supporto sembra essere basso ed è rivolto agli appassionati. I binding C # vengono eliminati ripetutamente. Non sono un appassionato di motori, voglio solo fare un gioco. Non vedo che questo accada con Irrlicht.
Ogre3D. Troppo lavoro, è solo un motore grafico. Inoltre nessun supporto multipiattaforma e c ++.
Torque2D. Costa qualcosa da usare e non ho sentito molte cose positive su supporto e documentazione. Inoltre costa in più per ogni piattaforma.