Xna, il grande bluff

XNA Logo
Bambini piangete che mamma Microsoft vi compra Xna
Eccoci qui a parlare del prodotto di casa Microsoft che ha fatto impazzire grandi e piccini promettendo una facile e veloce programmazione del loro primo gioco, lo shipping su xbox 360 e quindi, una sana dose di quattrini, derivata dalla vendita degli innumerevoli xna game che avrebbero prodotto su xbox 360 live e quindi acquistabili da chiunque avesse un account xbox live(una marea di gente).
Correva l’anno…
dove correva?!?…bho…qualcuno se lo ricorda?Certo che forse avrei dovuto informarmi.
In realta’ non penso che il rilascio al pubblico dell’ xna sia stata una data da ricordare.
Sta di fatto che da li ogni buon “da grande voglio fare i giochini” avrà sentito parlare, anche una sola volta, di questa cosaccia brutta e zozza che è l’xna.
Se non ne avete sentito parlare premetto che non vi siete persi nulla.
Per chi come me l’ha seguita, seppur mantenendosi a distanza di sicurezza e per chi invece c’è caduto dentro fino al collo, ho redatto questo resoconto ad oggi.
Che cos’è xna?!?
La solita mossa commerciale di chi è sicuro di riuscire con un grande brand alle spalle e un utenza paziente e disperata.
Si… si… disperata!!!
Far vedere come fare giochi xbox sicuri che tutti li avrebbero voluti fare o almeno sperarci.
L’xna è da considerarsi proprio l’ultima spiaggia del game development.
Analizziamo la situazione…
Ogni anno diventa sempre piu’ difficile avvicinarsi al game development.E innegabile.
Per chi non ci si è da sempre dedicato anima e corpo è arrivato uno sbarramento, non si puo’ definire il quando, ma un effettivo sbarramento c’è stato e si è sentito a tutti i livelli, non solo, come qualcuno potrebbe pensare, a livelli amatoriali sara’,come si dice qui a napoli, che l’Euro c’ha ‘nguaiat a nuje.
L’entusiasmo di molti andava scemando, la scemita’ di altri si andava entusiasmando,ma l’interesse di tutti e soprattutto gi interessi di qualcuno, erano sempre al massimo…addio, per qualcuno, ai sogni di gloria…ma benvenuta,per tutti, la voglia di crederci ancora…ed è qui che microsoft ci ha messo la pezza.
Quando sei un colosso e ci metti il tuo nome non è mai per caso.
C’era la situazione, c’era il visual c# quasi misconosciuto nell’ ambito del game development, c’era la luna, c’erano le stelle e al culmine della situazione idilliaca si sentì dire:”mo sai che facciamo?!?…Prepariamo 3 demo di cui una con una bella gnocca, una con la macchina figa che si sfascia, 4 mostri assortiti e tutto l’occorrente per confondere amici e nemici…e facciamo inizià l’era di xna..massì kkessarammai..siam la microsoft…mica la Apple“.
“Faremo le directx managed” e un dirigente replicò:”ma gia ci sono!!!“,allora il primo tizio senza perdersi d’animo:”…babbè pero’…stai proprio a guarda’ il pelo…vorra’ dire che c’uniremo quel pizzico di brio per fare giochi per pc compatibili anche per xbox 360 cosi poi li spacciamo su internet…o per lo meno spacciamo che sta cosa è quantomeno possibile…cosi giustifichiamo pure il cavo lan e l’hdd e la gente non ci romperà troppo l’anima e le palle a cercare soluzioni per l’ homebrew xbox 360“.Nasce cosi il framework xna.
se è maschietto lo chiameremo xna game studio express
I giochi, si sa, si fanno con i game engine e cosa ci si aspetterebbe da un game engine nel 2010?
Quando si dice game engine oggi ci si aspetta per lo meno qualcosa di visuale con un qualche tipo di prototipazione hyperveloce nell’ ordine dei minuti, inizializzazione, gestione e rilascio automatici dei sottosistemi audio, video e input, implementazione strutture dati specifiche per i videogames,librerie interne per chesso’ le collisioni,o addirittura una navigazione dei livelli per characters e veicoli, un path finding, una quache forma di navigazione della camera(follow,free ecc), gli steering behaviour,una classe personaggio animato pronta all’ uso, debugging visuale, profiling ecc..insomma ci si aspetterebbe quello che xna non fa o fa in malo modo o nn alla consegna chiavi in mano.
Il tempo stimato per realizzare qualcosa che si avvicini a un buon game engine con xna non è inferiore a quello necessario per crearlo in qualsiasi linguaggio su qualsiasi piattaforma che supporti una qualche accellerazione 3d ovvero aldila’ delle possibilita’ della maggior parte dell’utenza presente e futura di xna.
Un simpatico aneddoto fu quando per l’s2Engine chiedemmo il kit di sviluppo xbox360 ci proposero di riscriverlo daccapo in c# per xna ipotesi che fu rifiutata ovviamente ad esempio di come Microsoft ci tenesse che ci fossero pochi engine di amici e parenti su xbox 360 e una vasta scelta di engine per spingere xna.Praticamente un lavoraccio di conversione inutile anche se alla xna(termine coniato da me che significa “alla sembra piu’ facile, ma in realta’ è solo diversamente la stessa palla e le stesse migliaia di righe di codice“, che in quel caso erano gia scritte, ma immaginatevi la realizzazione di qualcosa di simile da zero.
Background degli utenti xna
…gente delusa, afflitta e affranta dai propri fallimenti in materia sviluppo videogames magari non conosce le Directx SDK o almeno non veramente tanto da aver letto almeno parte del manuale e bazzicato il framework dei samples e i sorgenti degli esempi,tanto giusto per capire che infondo a far gira’ due cubi pure alla maniera standard non è che sia cosi complicato.
Sognatori alla ricerca del guadagno facile e della gloria sulla nuova piattaforma da gioco Microsoft…Cosi è come io li vedo… li sognanti a sperare di sbancare come un novellino al casino’, non hanno ancora in mente il gioco, ma sanno che sara’ almeno in linea con gli ultimi giochi AAA.
A questa gente cosa offriamo?!?Aspettative monetarie, aspettative di crescita’ professionale e di apprendimento gratuito garantito naturalmente da Microsoft(….azz).
Come lo giudichiamo l’apprendimento del game programming secondo microsoft? manuale xna, tutorial xna …ecc
Io direi maldestro, confuso…. l’utente si perde in tanti tutorial xna passo passo che non hanno un senso di continuita’ o di gerarchia.
Non è una piramide che si costruisce dalla base nn c’è priorita’.
Ma chi c’ ha fatto qualcosa ha veramente imparato da li?Spero di no.Anche perchè, nella mia esperienza, chi sa programmare prende il reference manual e programma.Chi non lo sa fare, con quella montagna di tutorial per xna, puo’ solo fare piccole sperimentazioni che poi sono all’ ordine del giorno su xna…sperimentare tutti tecniche, librerie e altra roba che poco ha a che fare con i giochi, ma che secondo le mode della community potevano far figo.
Perchè la gente vuole sapere …come fare giochi xna…o forse solo perder tempo
Come ogni nuova piattaforma, prima di imparare a padroneggiarla, la gente ne ricerca i limiti, si frustra per il solo fatto che ci siano e si concentra al superamento degli stessi e sulle debolezze e non sui giochi e sui punti di forza.
Tutta la community spinge su questo.Anche la Microsoft spinge sulla sperimentazione fine a se stessa al grido di “si puo’ fare“.Come se si potesse fare veramente di tutto.
Cosi nascono 3000 “pseudo-engine” che fanno tutti quasi le stesse cose seguendo l’onda della community…codice riscritto 3000 volte in 3000 salse diverse…quale spreco per dire “guarda mondo riusciamo a scimmiottare quello che un qualsiasi programmatore fa in dxsdk in una settimana gira un po’ male su pc e ancora peggio su xbox dove sono state necessarie piu’ modifiche del previsto, ma alla fine ce l’abbiamo fatta abbiamo dimostrato che su xna si puo’ fare…“.Il Colmo è che alcune societa’ con risultati appena sopra la media del modelli che gira su schermo o dello shader ultima moda completamente inutile ai fini videoludici è riuscita a far pagare alla community l’utilizzo dei propri tool ed engine 3d, pezzi di codice incollati a scopo di stupire una community che desidera solo essere stupita per non smettere di sperare.(convinti per lo piu’ con liste di feature inutili e screenshot con modelli appena sopra la media della programmer art.
Su sti engine e sperimentini si basano i migliori tutorial xna… come se avesser davvero da insegnare qualcosa.
Infondo chi ci ha guadagnato?!?
I dati di vendita dei giochi xna su xbox live in media non coprono un normale produzione indie per PC, questo se parliamo degli sviluppatori perchè Microsoft ci guadagna e anche in molteplici modi.Chi produce middleware ha una grossa visibilità e vende quanto se non piu’ di signori engine.
Chi i giochi non li ha fatti mai con xna,ma ha puntato sul suo successo mediatico ha trovato l’america.Ma chi i giochi li voleva fare davvero ed aveva voglia di imparare, sommando il tempo perso a codare a discutere sul forum e il tempo che utilizzera’ per metabolizzare tutta la disinformazione e i frivoli insegnamenti…ha pagato a duro prezzo la fiducia nel grosso brand e quei momenti di spensierata euforia da “si puo’ fare“.
Per quest’ oggi mi fermo qui…magari un giorno torneremo sull’ argomento con qualche dato e qualche esperienza diretta di sviluppatori che hanno creduto e sperato nel progetto xna.
Ed ora un paio di link per i curiosi
download xna game studio 3
scaricabile qui

Ciao, ho letto il tuo articolo e devo dire che è molto valido. Tuttavia, vorrei spezzare qualche lancia a favore di XNA. Come hai detto tu, di sicuro non è veramente quello che voleva far credere di essere. Io stesso, provandolo e sviluppandoci una sottospecie di giochino, ho avuto svariati problemi.
Penso, però, che può essere molto utile che si avvicina per la prima volta al mondo della programmazione di giochi: molte strutture già belle e fatte lasciano più tempo per comprendere dei concetti teorici che una persona avvicinandosi, per esempio, per la prima volta all’ambiente con qualcosa di più complesso come l’Ogre3d può non capire subito.
Comunque ripeto, gran bell’intervento
Ciao!
Per chi si avvicina per la prima volta alla programmazione di giochi penso che sia deleterio far pensare di poter partire subito con il 3d.
Per esempio per l’s2engine 1.5 la versione basic contiene un suo linguaggio di alto livello dove non è presente alcun riferimento a niente di abbastanza low level da essere un problema per chi è alle prime armi.
Per chi è agli inizi consiglio sicuramente il Flash e sicuramente senza nemmeno avvicinarsi al 3d con flash ma rimanere fermi sul 2d per esplorare convetti di programmazione ad oggetti di base per la programmazione dei videogames e strutture importanti per i games e le prime nozioni di ottimizzazione dei videogames.Inoltre per cominciare flash offre anche una piu’ facile e veloce monetizzazione rispetto a xna il cui modello di monetizzazione sa poco di casual.
Ciao,
ho letto adesso il tuo commento sul mio blog
Il “Voglio scrivere un game engine!” era ovviamente ironico. Ho tanta voglia di fare ma certe conoscenze non le ho ancora e, come hai detto anche tu, noi persone normali i game engine ce li sognamo, anzi forse neanche quello.
Tra l’altro, per quanto mi riguarda, la mia esperienza con xna ha toccato solo il 2D e al 3D manco mi ci sono avvicinato. Se ho linkato quell’articolo è perchè credo che possa servire così come è servito a me. Il mio ragionamento non è stato “ok seguo quest’articolo e anche io mi faccio il mio engine”, il testo voleva essere solo un piccolo riferimento.
Forse sono stato un pò ambiguo nello scrivere l’intervento sul mio blog, ma non sogno minimamente di scrivermi un engine con l’XNA. Tra l’altro, in un altro intervento da me scritto (“Purtroppo”) avevo scritto che avrei lasciato XNA dati alcuni impegni. Sinceramente mi vorrei avvicinare un pò ad Ogre, ma si occupa prettamente di 3D quando io cerco più qualcosa tendente al 2D.
Insomma, concludendo questo mio lunghissimo commento: semmai un giorno tornerò sullo sviluppo dei giochi (sicuramente lo farò) XNA non sarà la mia scelta.
Grazie per essere passato, fa sempre piacere scambiare due chiacchiere con qualcuno del settore (almeno per me che sono invece un totale profano).
Francesco
Figurati è stato un piacere anche per me soprattutto vedere il tuo blog.
L’Ogre3d è un bel casino ha un sacco di moduli e aggiunte da parte di troppa gente diversa e o ci stai dentro o non ci stai dietro.E se non ci stai dietro è parecchio old come roba.
Un bell’ engine sempre 3d free è Horde 3d che rispetto a Ogre è immediatissimo e leggibilissimo anche perchè tutto il codice so poche pagine di roba.
Bello pulito e sistemato.
Per il 2d la comandano sempre Flash seguito a ruota dai Game makers clicca e crea, ma con flash che monetizza e i game makers che stanno a guardare.
Io penso che lo sviluppo di giochi non è una cosa che si può accantonare persegui sempre questo obbiettivo.
scusa , ma non ti è passata per l’anticamera del cervello l’idea che
qualcuno possa semplicemente ,come hobby, divertirsi con c# e xna ?
certo che ci si puo’ divertire e ci si possono fare tante belle cose la mia è solo un analisi di quello che è stato date le entusiasmanti premesse fino ad ora.Nulla toglie alla validita’ del progetto dal punto di vista tecnico di intrattenimento o altro… altrimenti scrivevo xna fa cagare e via cosi.Il pacco c’è stato sulle aspettative di chi con xna voleva farci giochi e camparci perchè infondo la promessa era quella mentre a ben vedere xna è risultato un investimento peggiore che fare giochi in flash nell’ 90% dei casi.
Non è mai una questione di qualità, ne io ne ho fatta una questione di qualità ,ma dopo anni dall’ uscita constatarne la “riuscita” penso sia leggittimo.L’unica cosa che ho attaccato qualitativamente sono i 3000 engine pseudocommerciali fatti in xna di cui la maggior parte non ha ne capo ne coda.
Non sono d’accordo, sicuramente xna non è il linguaggio principe per fare gameprogramming, ma nessuno puo pensare di realizzare da solo in c++ cio che io ho fatto con xna, e la prova sta nel link sotto.
http://www.tenginegame.com
scusa la leggera ironia, ma non mi sembra un esempio riuscito di monetizzazione grazie ad xna e perdonami la critica, ma non mi sembra nemmeno qualitativamente al livello di un prodotto commercializzabile.Quindi cmq ricade nell “a tempo perso” come la stragrande maggioranza della roba xna e come volevasi oltretutto dimostrare.
Magari tu non puoi pensare di fare quella roba in c++ perchè nn ti ci spingi a farlo, ma non è tanto diverso.
Fatti un giro su portali di gamedev e vedrai che prodotti come il tuo ma in c++ fatti da una sola persona sono all’ ordine del giorno.
Tra l’altro Fabio di Paola ha cominciato da solo l’s2 engine e ora dopo una collaborazione con me per la realizzazione del gioco power of destruction e della release della versione 1.5 e della demo fps inclusa sta continuando imperterrito da solo in c++ con risultati di qualità commerciale una nuova versione 2.0 .
Q: Why did you decide to use C# and XNA over the more widely used C++ and DirectX?
R:Developing games with older languages and APIs is a very time consuming process. With C# and XNA we saved hundreds of thousands of dollars in development costs. Without C# and XNA making this game would have been impossible.
Dal sito: http://www.mastersofbelial.com/
Mha su c# sono perfettamente daccordo, ma su xna anche guardando il gioco non vedo dove e come ha potuto influire positivamente a parte sul fatto della versione x360, la verità starà nelle vendite.Sempre in c# con mono potevano optare a un gioco pc/linux/mac e non so chi avrebbe sentito la mancanza della versione xbox live … sicuramente non loro visto che probabilemnte venderà di cacca comei giochi live ci hanno abituato a pensare.
Cmq sto gioco al massimo potrà dimostrare e glielo auguro, di essere l’eccezione, ma sicuramente non la regola.Anche perchè sinceramente non vedo l’utilità di illudersi che xna sia l’uovo di colombo o il sensazionalismo di quella risposta come a dire abbiamo risparmiato tanto e guadagneremo tanto…grazie xna…vabbè che siamo nell’ era dell’ ottimismo.
Per la questione time consuming…bha ci sono engine piu’ di alto livello a prezzi abbordabili.E come ripeto le dx sdk non sono a sto livello molto piu’ basso da richiedere chissa’ quanto tempo in più tanto se un motore di gioco in c++ non ce lo sai fa non lo sai fa manco in Xna perchè sicuro non è questione di linguaggio di kit o di api.Il gioco conta farlo e a parità di gioco influiscono molto di più le scelte che hai fatto, che un mese di dev in più.
Ricordo che stiamo ancora nei tempi i cui ci sono publisher che un robo non lo prendono anche solo perchè è fatto con questo o quell’ engine.Mentre ipoteticamente un buon gioco fatto con un game maker dovrebbe essere cmq degno di attenzione.
Altre cinque o sei eccezioni:
http://www.battletennis.com/
http://www.gametrailers.com/game/sol-survivor/11819
http://kotaku.com/5330843/dust-an-elysian-tail-is-xnas-best-looking-game
http://www.nivel21.net/Games/rotorscopefull.html
http://www.youtube.com/watch?v=DliYNeF6hBo
http://www.youtube.com/watch?v=WCCv9DcKH2c
Mi piace molto il gioco 2d a scrolling orizzontale a parte l’animazione della corsa.Cmq non mi scambiate con uno che dice che xna fa skifo e mi portate gli esempi, non l’ho mai detto, so cosa può fare e che è valido come tanta altra roba, ma sicuramente il live monetizza al di sotto delle aspettative e su 30 milioni di progettini solo in pochi ce la fanno anche perchè come piattaforma di learning non è niente di eccezionale.tutti i progetti che dite che ce la fanno vengono cmq da gente che non ha sicuramente cominciato ieri e non con xna.
E’ vero l’animazione di quello sprite mi ha dato una strana sensazione si da subito.. di sicuro è fatto apposta così, strana scelta
si sembra come se non fosse un solo sprite ma ogni gamba fosse uno sprite a parte animato metà pixel e metà via trasformazioni.
io ho cominciato “ieri” nel mondo della programmazione per videogiochi e vorrei smentire le critiche affermando che xna è un buon punto di inizio. Denigrare Xna per poi mitizzare Flash poi mi sembra ancora più assurdo.
Non denigro affatto xna semplicemente non ha centrato alcun bersaglio preposto tranne quello di entrare nei cuori della gente per fargli perdere tanto tanto tempo nella speranza di sbancare con qualche sottospecie di gioco.
Il linguaggio c# è ottimo da conoscere e utlizzare e lo uso correntemente ( per la realizzazione di tools e non in xna) si parlava del mercato e l’utilità di learning delle cose fatte in xna nullo(soprattutto il mercato xbox live arcade) rispetto ad altri mercati e si prendeva ad esempio flash che per quanto ti puo’ sembrare assurdo ha un rapporto tempo vs soldi vantaggiosissimo rispetto a xna ed è uno dei mercati piu’ fiorenti per chi è agli inizi e con la piu’ alta probabilità di colpi gobbi ed è quello che è resistito di piu’ al tempo e alle mode.Tra l’altro flash è solo un esempio.Tutt’ora mi verrebbe da dire anche Unity nella sua versione free che purtroppo onn ha lo stesso supporto di flash nel campo dell’ advertising in game.
Purtroppo mi rendo conto quanto questo articolo possa essere contro corrente nella tua ottica, ma almeno concedimi il beneficio del dubbio, soprattutto se non hai lavorato in questo campo negli ultimi 10 anni.
Tra l’altro vorrei capire quanta gente che usa xna ha il minimo concetto di programmazione di videogiochi rispetto a chi ne programma anche di stupidi in flash persi come sono tra le migliaia di effetti copia e incolla che è possibile ottenere.
Facciamo una chiara differenza prima di parlare a vuoto. Xna è un framework non un engine o motore grafico. Se volete la pappa pronta provate unity ma chi si vuole fare le ossa XNA. Flash è nato per il web non certo per creare videogiochi; inoltre oggi è controproducente sviluppare sia un sito che tantomeno un videogioco in flash. Siamo quasi verso l’HTML 5 e gooogle come la Apple spingono molto in questa direzione. L’unico inconveniente è la scarsa compatibilità con altri sistemi. Ma un gioco sviluppato bene in XNA ti assicuro che vende molto anche perchè c’è chi usa il pc solo per giocare. Solo su piattaforma Windows? Quanti ormai fanno il dua boot o una macchina virtuale del proprio sistema con più sistemi operativi. E poi dipende dal gioco. Puoi sviluppare un gioco come tomb raider per l’Iphone? No! non vedresti una mazza. Insomma creare un videogioco richiede una attenta pianificazione delle risorse e dei mezzi. Quello che ha fatto Microsoft è renderlo prima di tutto accessibile anche ai profani. ma vallo a spiegare in termini di marketing. Xna è poi usato nelle università americane e ci sarà un motivo non come in italia che c’è un odio (ingiustificato) verso Microsoft. Unity come Ogre e altri lasciano il tempo che trovano. Vedi il Darkbasic. Potentissimo linguaggio ma solo per PC. Ritenuto poco valido ma è già una via di mezzo tra xna e Unity. Ma ha tutte le funzioni di base per poter importare una scena 3d e muovere la telecamera ad esempio.
Un gioco fatto in xna ti da molte soddisfazioni e ammetto che è una impresa ardua ma i libri ci sono. basta vedere quelli della apress. Inoltre con xna ti risparmi la conoscenza di molte api. Non c’è limite a quello che vuoi creare con xna se non il tempo. I tempi brevi è ovvio che unity è preferibile ma sarai comunque soggetto ad un motore grafico che avrà dei compromessi “naturali” per potersi adattare a tutti i dispositivi. Perciò ripeto chi vuole la pappa pronta si butti su unity. Chi vuole programmare e scrivere codice crudo e puro su xna. Questa è la mia modesta opinione ovviamente.
Come fai ad assicurare che un gioco in xna fatto bene venda visto che le vendite sia su xbla e windows phone 7 sono molto scarse.
Ti invito a valutare la diversità di tempi nel far bene con xna o far bene con flash tra breve anche accellerato gpu, unity o altri tool di cui si è parlato.
Prima di parlare dovresti conoscere un minimo il mercato soprattutto quando parli di gente che hai il pc solo per giocare dovresti anche sapere a cosa gioca quanti giochi compra di che tipo e fascia di prezzo e quanti di questi giocano a giochi free con advertising.
Apple e google spingono contro flash, ma android ha giocoforza implementato flash e tutti gli utenti ios darebbero qualsiasi cosa pur di avere disponibile flash( me compreso).
Xna è stato un flop ormai non si puo’ dire nulla per cambiare le cose.
Io non sono contro Microsoft, anzi trovo che sia un azienda con prodotti di massima qualità ed una delle piu’ corrette, tutto sommato verso l’utente finale… valuto semplicemente un dato di fatto che a tutt’oggi 2011 xna non ha fruttato un gran che è resta una delle scelte di sviluppo piu’ infelici.
D’altra parte con un colosso come udk dato free con un royalty del 25% dopo 50000 dollari mi sembra che non ci sia piu’ nulla da aggiungere.
Non penso che come affermi unity lasci il tempo che trova dopo piu’ di mille giochi shipped su ios di cui parecchie hit e dopo che è stato usato anche in versione webplayer per svariati giochi di successo.
Io non sono di queli che ama la pappa bella e pronta, sono stato sviluppatore di un engine commerciale per pc e ad oggi sviluppo sui cell con un mio engine fatto da zero, ma mai affronterei un lavoro simile con xna e solo ed esclusivamente perchè tutto questo lavoro mancherebbe di scopo.Il classico gioco che non vale la candela.
Mah! Forse avrai ragione tu ma ti dico che sto affrontando lo studio di XNA e da molte soddisfazioni. Ho fatto anche qualche gioco in flash, usato Director e basi di C++. Quindi credo di vere un idea su come implementare un gioco. Io credo un pò come succede per il C++ che questi tool come unity, udk sono ottimi senza dubbio ma “livellano” la qualità dei videogame. Non a caso il C++ è un linguaggio pesante e complesso che scoraggerebbe qualsiasi neofita. Ecco perchè i veri programmatori se non la stessa Microsoft se lo tengono stretto e limitano la concorrenza. Tutti questi tool sono scritti in gran parte in C++ qualcuno ci mette il javascript o il c# ma il core è il C++. XNA ti prepara già questo ambiente. Adesso il punto è: se un gioco con unity lo faccio in minor tempo perche un giorno il mio capo si è svegliato e ha deciso di fare un videogioco per aumentare il suo fatturato allora scelgo unity perchè ha una documentazione più ricca di udk, è più intuitivo e crossbrowser. Se voglio creare tutto da zero e c’è un pazzo o più che mi seguono allora con il C++. Ma se voglio una via di mezzo scelgo XNA. In fondo XNA è un SDK per una piattaforma dedicata quale la XBOX e ti permette anche di guadagnare se il tuo gioco è vincente. La struttura di XNA come linguaggio ad oggetti, gli utilissimi gamecomponent che ti permettono di risparmiare tempo prezioso ti imparano a “pensare in oggetti” , l’utilizzo degli shader e come programmarli fa la differenza, e non ad utilizzare un “software” quale unity. Si evvero puoi implementare degli scrtipt ma è diverso, e pur sempre un ibrido. Quindi il paragone non regge fra questi due ambienti. Sono diversi e vanno pensati e usati per scopi diversi. E poi XNA è ancora giovane. Ogni versione aggiunge sempre più librerie e funzioni e credo che alla lunga verra usato da una ristretta nicchia di ottimi programmatori che vengono dall’ambinte C++ e ne apprezzano il fatto che possono concentrarsi un pò più sull’idea del gioco che sulla programmazione.
XNA è la migliore piattaforma, ad oggi non c’è nessun framework, di tale qualità.
Si ricorda, che oltre a ciò, come nelle altre piattaforme, c’è bisogno anche di software per la grafica, come quelli di autodesk, ecc.
XNA, semplica lo sviluppo di video giochi, permettendo a chi sviluppa applicazioni di vario tipo (web, windows, ecc) di continuare con lo stesso linguaggio (C#) e senza grossi investimenti.
Inoltre è gratuito, nota positiva, visto che le altre sono a pagamento, ambiente di sviluppo (vs2010) gratuito e potente.
Inoltre c’è la multi portabilità xbox, windows e phone, conoscete qualcosa di meglio?
Quindi, la bufala non è il sofware, ma l’ennessimo sfogo di un post, di un sofferente programmatore o sbaglio?
Capisco difendere xna per il lavoro fatto che non ho mai denigrato in alcun modo, ma definirla la miglior piattaforma ad oggi è quantomeno azzardato.
Io apprezzo e uso come te molti prodotti della microsoft, ma non per questo promuovo a testa bassa un framework che a un anno dal mio post si conferma in totale calo sotto ogni punto di vista.
Qui principalmente si parla di produttività , ma si parla soprattutto di mercato.
Io credo molto nei mercati di nicchia e credo che i “piccoli” dovrebbero insisterci molto, ma quello xna non si è mostrato per niente “appetitoso”.
Non c’è mercato per i giochi xna, non quanto ce ne se scegli una qualsiasi altra piattaforma.
La situazione sarà da rivalutare certamente con silverlight 5 su cui certamente spenderò qualche parola in futuro.
A tutt’ oggi, windows phone 7 compreso, per me, xna, merita ancora la mediocrità e non parlo mai di qualità ci tengo sempre a ribadirlo.
Piu’ che puntare il dito su di me e dire che è un mio sfogo personale, penso che ai lettori avrebbe fatto piu’ piacere qualche testimonianza di successo con xna magari su piattaforma xbox, o windows phone 7 che non siano i soliti 2 o 3 giochi, ormai degli anni passati, che hanno a superato le “pochemila” copie.
Purtroppo la realtà è che sentiamo di parlare di nuovi milionari iphone ogni giorno, ma quasi mai anche di semplici casi di successo dignitoso riguardo a Xna sia su WP7 sia su XBLA.Vero anche che su altre piattaforme esistono insuccessi totali, ma si parla di grandi numeri e di gente che si butta molto all’ arrembaggio.
Purtroppo smesso di prenderti sul serio quando ho letto il tuo attacco personale, non ti ho censurato in quanto non sono per la censura, ma mal tollero post che tentano di discreditarmi cosi gratuitamente senza nemmeno cognizione di causa e temo senza nemmeno aver letto tutto il leggibile.
Io uso xna in alcuni tool che ho realizzato(utility e editors nella mia pipeline) per via del binomio semplicità e flessibilità, ma mai mi sognerei soprattutto oggi di iniziarci un gioco sopra.
Tra l’altro se dovessi riscrivere questi tool da zero oggi lo farei sicuramente con wpf con SlimDx e non con Xna e non penso ci sia molto da spiegare in proposito.
Sebbene siano prodotti differenti alla fine le poche funzionalità in piu’ che ha xna sono quelle limitanti (vedere la gestione dei contenuti per esempio), mentre le feature in piu’ che ha SlimDx lo rendono piu’ attuale e performante.
Tuttavia questo è un discorso che sicuramente riconsidererò alla luce di se e come saprà imporsi Silverlight 5 e del futuro di Windows Phone 7 se dovesse risultare vincente magari l’accordo con Nokia o se dovessero aprirlo alle applicazioni native.
Il framework che mi piace di piu’ attualmente nonostante sia c++ è AirplaySdk e puta caso ha un mercato molto piu’ vasto e molto più fruttuoso,ma non per questo mi metto a dire che è il migliore in assoluto, ma posso solo affermare che lo è stato per me per i miei specifici casi d’uso.