mercoledì 8 febbraio 2012

La realtà dello sviluppo giochi HTML5 e come farci i soldi


Proponiamo qui la traduzione integrale di un post apparso qualche settimana fa su photostorm.org ad opera di Rich.
Si tratta di un post che é già diventato epico per la ricchezza di spunti che sa dare sia agli sviluppatori che ai game designer.
Il concetto é: c'é una tecnologia (HTML5) e una serie di mercati collegati che stanno per esplodere con miriadi di occasioni e di nicchie.
Per chi vuol fare giochi é un'occasione da non perdere...buttatevi nella mischia...e buona lettura!
 

La realtà dello sviluppo giochi HTML5 e come farci i soldi



  Note: Questo articolo è stato scritto nel Gennaio 2012 e pertanto rispecchia lo stato della tecnologia e dei mercati dell'epoca. Tutto è in repentino movimento e gran parte di queste informazioni cambieranno, tenetelo bene a mente.
 
Lo sviluppo di giochi HTML5 e anzi le stesse funzionalità dei web browser sono attualmente in rapida evoluzione. Sul sito di sviluppo giochi HTML5 che gestisco, sto notando un incremento nella frequenza con la quale arrivano nuovi contenuti, release di giochi, tutorial, notizie d'affari e tecnologia. Giochi di alto profilo e alta qualità, come ad esempio "Cut the Rope" che è sponsorizzato dalla Microsoft, stanno facendo parlare tutto il mondo e stanno coinvolgendo il pubblico come non mai. Ma cosa vuol dire sviluppare un gioco HTML5 oggi? In special modo per chi arriva da altre piattaforme. E soprattuto, è possibile farci dei soldi?



HTML5 è solo uno standard di mark-up! 

 

Rilassatevi. Quando dico HTML5 lo intendo col significato che gli danno i mass media, non con il suo significato tecnico. Naturalmente da un punto di vista tecnico HTML5 è solo una specifica per un linguaggio di mark-up. Ma i media hanno scelto di usare il termine come fosse una sorta di ombrello sotto il quale raccogliere ogni sorta di tecnologia legata ai browser, come WebGL, JavaScript, Web Sockets, GLSL, Web Audio, NaCl, Canvas, DOM, CSS3 e altro ancora.
Nel complesso queste cose non richiedono HTML5, infatti hanno i propri standard, ma credo che il termine sia usato per salvaguardare la sanità mentale dei non addetti ai lavori (e dei giornalisti?) che non sanno più più esattamente cosa significhi HTML5.

Cos'è un gioco HTML5?

 

Questa apparentemente innocua domanda ha in realtà una miriade di possibili risposte, e può facilmente rivelarsi complessa. Potrei dire che un gioco HTML5 è fatto fondamentalmente usando JavaScript accoppiato alle capacità tecnologiche di un browser, ma ciò non è del tutto vero perché è ben possibile creare giochi completi (seppur semplici) usando esclusivamente CSS3. Quindi cerchiamo di rispondere facendo una lista delle tecnologie a disposizione degli sviluppatori di giochi HTML5 e di quello che offrono:

CSS3

 

Per molti sviluppatori i CSS sono quella roba che serve per gestire gli stili dei siti web. I CSS3 sono una loro evoluzione che include il supporto per animazioni e trasformazioni integrate. Quindi ormai non è più necessario usare JavaScript per fare muovere qualcosa su un pagina web.
I CSS3 sono così potenti che ci sono addirittura dei giochi fatti interamente con essi. Alcuni browser recenti supportano CSS con l'accelerazione hardware. Sì, avete letto bene, il rendering dei CSS avviene via GPU, e per questo ci sono addirittura degli Shaders basati sui CSS. Ma in quanto seri sviluppatori di giochi svilupperete mai un gioco usando solo i CSS? Direi proprio di no. È più un campo per sviluppatori web di professione e probabilmente a voi interessa qualcosa che possa produrre risultati più rapidamente. In ogni caso non è un opzione da scartare se il progetto gli si addice.

DOM (Document Object Model)

 

Il DOM è un territorio familiare per gli sviluppatori web ma molto meno per chiunque altro.
E' un modo per definire come gli elementi HTML dovrebbero interagire tra loro e fornisce a JavaScript un mezzo per controllare il browser e l'HTML caricato in esso. In termini di sviluppatore di giochi “DOM based games” è il termine con il quale si indicano i giochi HTML5 che sono creati usando solo elementi HTML e CSS3, e non sono renderizzati su un Canvas (vedi oltre). Ci sono dei vantaggi in questo approccio. Grazie alla disponibilità di accelerazione hardware è possibile scrivere giochi molto veloci e reattivi. Il gioco Sumon ne è un buon esempio. Difatto in alcuni browser, a seconda del tipo di gioco, questa è un'opzione migliore dei Canvas.

Canvas

 

I Canvas sono probabilmente l'approccio più noto per creare giochi HTML5.
Un canvas è un elemento HTML creato a partire dal nuovo tag <canvas>.Può essere pensato banalmente come un gran blocco di dati grafici che una volta aggiunto a una pagina web può essere manipolato a piacere tramite JavaScript. Chi arriva da Flash può paragonarlo a un Bitmap Object. Si possono leggere e scrivere dati a livello di pixel, incollare immagini, impostare le modalità di composizione, l'alpha, le trasformazioni, le scalature e disegnare forme basi come linee, curve e rettangoli. Dal momento che esiste da qualche tempo è una tecnolia ben supportata dai vari browser, sia per PC che per smartphone, sebbene la velocità di randering varii molto.

WebGL (Web Graphics Library)

 

Le WebGL sono un modo per avere nel browser GPU con accelerazione 3D.
Basate su OpenGL ES 2.0 (le stesse usate da Adobe Flash Stage3D) offrono un strada diretta alle API grafche 3D, compreso il supporto shader via GLSL. Dal momento che girano sulla GPU, le prestazioni dipendono dall'hardware, ma sono solitamente molto migliori di quelle dei Canvas. Dal punto di vista dello sviluppatore di giochi permettono ovviamente di sviluppare giochi, e alcuni giochi degni di nota come SKiD Racer e GT Racing l'hanno fatto. Tutti i problemi inerenti lo sviluppo 3D che affliggono altre piattaforme sono evidenti anche con WebGL, come ad esempio le capacità di memoria e la larghezza di banda che sono necessarie per gestire i dati delle texture e dei modelli, la varietà di GPU e delle loro prestazioni e la natura in continua evoluzione della tecnologia
L'altro grande problema delle WebGL è il fatto che la Microsoft non ne ha ancora pianificato pubblicamente il supporto. Quindi non saranno disponibili in Internet Explorer o nel nuovo Windows 8 Metro. Questo fatto non implica che siano del tutto da escludere, ma la loro adozione potrebbe rendere più difficile vendere il vostro prodotto ai clienti. Dall'altro lato della medaglia c'è il fatto che stanno guadagno attrattiva sui dispositivi mobile. In iOS5 sono integrate ,anche se al momento disabilitate, e Firefox su Android le supporta pienamente.

SVG (Scalable Vector Graphics)

 

La SVG è un mezzo per mostrare animazione grafica vettoriale sul web in maniera nativa. E' un formato basato su XML che è in giro da un decennio ma che solo ultimamente ha visto crescere adozione e diffusione tra i browser. Ora è ampiamente supportato anche da parte dei più recenti browser per dispositivi mobile. Le prestazioni variano enormemente da dispositivo a dispositivo. Sui Desktop è perfettamente possibile usarla per gestire il redering dei giochi, ma la sua efficienza sui dispositivi mobile varia moltissimo.
Il supporto per gli sviluppatori è buono c'è un buon numero di librerie SVG disponibili. Google fornisce un tool chiamato Swiffy che converte animazioni vettoriali Flash in animazioni SVG, come è stato ben mostrato sul sito One hour per second.
Scommetterei anche sul fatto che una prossima versione di Adobe Flash, o qualche altro prodotto Adobe, sarà in grado di esportare verso SVG. Di per sè non è possibile fare un gioco con SVG perché richiede di essere accoppiata a JavaScript, ma è senz'altro una soluzione di rendering percorribile.

Native Client (NaCl)

 

Native Client (NaCl in breve) è una tecnologia specifica per Chrome che permette agli sviluppatori di scrivere codice C/C++ e produrre un file .nexe, che è un modulo nativo compilato.
Perché uno dovrebbe usarla? La ragione principale è a velocità. Gira quasi alle velocità del sistema operativo nativo, il che è cruciale per giochi intensivi. Si ha accesso a multi-core, multi-threding, 3D, audio a bassa latenza, sheder e presto anche a funzionalità di rete. Il fatto che sia in grado di gestire codice C/C++ la rende un'opzione interessante per sviluppatori che già lavorano in quell'area. Un buon esempio è il gioco Bastion della Super Giant.
NaCl è Chrome, ma è multi-piattaforma e può essere una buona opzione per chi già programma giochi in C/C++ e vuole avere una demo (o un intero gioco) pronto per un web browser senza doverlo riscrivere da zero in un altro linguaggio.

WebSockets

 

Se nel vostro gioco avete necessità di supportare il multiplayer o comunque un'intensa attività di rete allora WebSockets è una nuova tecnologia che ricade sotto l'ombrello di HTML5 che fa per voi.
WebSockets è un protocollo per la comunicazione bidirezionale con un host remoto. Per citare il sito ufficiale Websockets fornisce "un'enorme riduzione del traffico di rete e della latenza" e risponde agli imprevisti sulla rete, come proxie e firewall, rendendo lo streaming possibile su ogni connessione. Con la capacità di supportare le comunicazioni bidirezionali su una singola connessione, le applicazioni basate su HTML5 WebSockets a quanto si dice sembra che carichino meno i server e permattono alle macchine esistenti di supportare più connessioni simultanee. La loro natura real-time le rende perfette per i giochi che richiedono bassa latenza, come il gioco Rawkets.

Node.js

 

D'altra parte Node.js è una tecnologia server-side . Potrebbe sembrare che non abbia nulla a che fare con HTML5, ma essendo basata su Javascripte  permettendo un buon uso di WebSockets è spesso considerata tale. Progettata specificamente per le applicazioni di rete altamente scalabili è possibile far girare JavaScript sul server in un modello asincrono guidato dagli eventi. Node.js può creare server HTTP e WebSockets quando necessario, il che è praticamente l'inverso del tradizionale struttura web che vede alla base un server (tipo Apache) con un linguaggio tipo PHP o Ruby che parsifica gli script e crea l'HTML da visualizzare. Nessuna di queste tecnologie è fondamentale per fare giochi HTML5 ma con il supporto nativo di WebSockets su tutti i maggiori browser, compreso Safari Mobile (ma non Android!), è un'opzione da esplorare attentamente. E con Node.js si possono creare moduli server-side senza imparare un altro linguaggio visto è tutto basato su JavaScript.

JavaScript (JS)

 

JavaScript è lo standard de-facto per interagire con tutte le tecnologie cha abbiamo descritto finora ed è il collante che tiene assieme il tutto.
Quando il codice JavaScript è eseguito nel browser viene parsificato da un Motore JavaScript. Differenti browser usano motori differenti: Chrome usa un motore chiamato V8, Mozzilla Firefox usa SpiderMonkey, Safari usa Nitro, Internet Explorer 9+ usa Chakra e Opera usa Carakan. Sebbene i vari browser si equivalgano in termini di prestazioni JavaScript, il che può essere facilmente verificato con il SunSpider Tests, tenete sempre a mente lo stesso codice viene eseguito da ogni motore in maniera leggermente differente. Quindi quello che è un'ottimizzazione in un caso potrebbe non esserlo in un altro.

Per quanto riguarda il linguaggio stesso Wikipedia lo riassume così: “JavaScript è un linguaggio prototipale di scripting che è dinamico, debolmente tipizzato con funzioni di prima classe. E' un linguaggio multi-paradiga, che supporta la programmazione ad oggetti, imperativa e funzionale". A seconda della vostra esperienza di programmazione questo potrebbe spaventarvi a morte o meno. Conosco un bel po' di sviluppatori che sudano nel passare da un linguaggio stretto come AS3 a qualcosa di così fluido, ma il fatto è che se volete creare giochi HTML5 dovete per forza impararlo. Personalmente mi crea pochi problemi e in fatti trovo la sua natura dinamica estremamente potente e veloce per lo sviluppo. Ma ognuno lavora a suo modo. Credo che i pregiudizi su JavaScript ("è incasinato", "non ci sono IDE") siano largamente infondati, ma dovrei trattare la questione in un articolo apposta. Il mio unico consiglio è semplicemente questo: non incaponitevi. Non cercate di rendere JavaScript qualcosa che non è cercando di forzare l'uso di convenzioni e strutture tipizzate. Accettatelo per quello che è e permettergli di influenzare la vostra maniera di scrivere il codice.

Se davvero non volete avere a che fare con JavaScript direi che è meglio non pensiate nemmeno di creare un gioco HTML5. Ci sono linguaggi che compilano in Javascript come Dart di Google. Karel Crombecq ha lasciato anche un dettagliato commento a questo articolo sui benefici di GWT se siete javisti. Vale anche la pena considerare software per la creazioni giochi in stile WYSIWYG , come ad esempio Game Maker e Construct2 che esportano poi il loro compilato in JavaScript al vostro posto. Ma a un certo punto dovrete comunque per forza scendere a basso livello, soprattutto quando lavorate sui dispositivi mobili, e quindi preparatevi a sporcarvi le mani.



Questa era solo la tecnologia, ora al mix aggiungiamo le piattaforme...



Ora che conosciamo le tecnologie disponibili per gli sviluppatori di giochi HTML5 dobbiamo dare un'occhiata alle varie piattaforme disponibili. Probabilmente starete pensando che certamente la piattaforma è il "web"? Ma naturalmente la faccenda è un po' più complicata

Desktop Browser

 

Per “Desktop Browser” intendiamo il browser che probabilmente state usando per leggere questo articolo, uno dei 5 principali: Chrome, Firefox, Safari, Internet Explorer and Opera. Allo state attuale quello dei desktop è il "mercato" singolo al momento più grande, quello che richiama la maggior parte dell'attenzione.
I vantaggi di puntare ai browser dasktop sono il fatto che potete avere a disposizione una GPU (essenziale per WebGL), che sono in genere più veloci nell'elaborazione, che hanno più memoria e risoluzioni più ampie. Larghezza di banda e velocità di rete sono problemi minimi, e inoltre si può dar per scontato la presenza di maouse e tastiera. Potenzialmente potrebbe anche esserci connesso un gamepad al quale è possibile accedere usando le nuove GamePad API.
Il problema con i Desktop Browser, soprattutto in relazione allo sviluppo giochi, è che sul 99% di essi troverete installato anche Flash. E al momento se puntate solo al mercato dei desktop browser è davvero un'impresa trovare una ragione valida per preferire a Flash una qualsiasi tecnologia web di quelle viste prima. Quindi siate pragmatici nella vostra scelta cercando alla fine di far l'affare migliore

Facebook

 

Tecnicamente è solo un'estensione della piattaforma Desktop Browser vista prima, ma la metto in lista dal momento che sta diventando sempre più facile creare giochi HTML5 per Facebook. Hanno un completo sistema di compilazione, test e distribuzione e sono estremamente HTML proattivi. E ovviamente sono disponibili tutte le Api di Facebook, nonché i Facebook Credit.

Mobile Web Browser

 

Da non confondere con le Mobile Apps, quelle che si scaricano e installano sul proprio smartphone, i Mobile Web Browser sono una piattaforma alla quale puntare che sta diventando sempre più importante. I Mobile Browser stanno in fretta raggiungendo i Desktop e alcune predizioni fissano il momento del sorpasso a inizio 2014. Dati da prendere con le molle, ma sta di fatto che nessuno può ne negare la rapida crescita. Ciò è in parte confermato dai recenti progressi nella tecnologia mobile. Si presuppone che il giocatore sia online e navighi al vostro gioco per mezzo del browser installato sul suo smartphone o tablet.

I giochi web per dispositivi mobili sono un mercato in rapida crescita, con un certo numero di portali di giochi di alto profilo che sono già sul mercato a fare acquisti ,e molti altri seguiranno. In termini di sviluppo occorre approcciarvisi dal punto di vista del DOM o dei Canvas. La maggior parte degli smartphone hanno GPU dedicate e Mobile Safari le userà presto per renderizzare gli elementi DOM e iOS5 userà anche i Canvas.Anche le WebGL stanno per arrivare. Sono già abilitate su Firefox e Android e un'opzione nascosta in Mobile Safari è in attesa di gestirle presto.

Il problema principale del Web Mobile è la velocità e la diversità dei dispositivi. Per esempio la differenza di prestazioni nel rendering tra un iPhone che monta un iOS4 rispetto a uno che monta un iOS5 èallucinane . E le prestazioni tra quest'ultimo e un Android di fascia economica è ancora più pazzesca. Aggiungete al piatto le diverse risoluzioni e i diversi limiti di memoria e vi ritroverete con una marea di problemi da risolvere. Soprattutto se tenete conto che i dispositivi Android tendono a favorire DOM in termini di velocità

Applicazioni per dispositivi mobili (o Mobile Apps)

 

Una mobile app è qualcosa che molto probabilmente trovate installato sul vostro smartphone in questo momento. Vengono scaricate dall'Apples App Store o dall'Android Marketplace e spesso anche pagate. HTML5 è certamente in grado di creare giochi per dispositivi mobili, ma vi servirà poi una tecnologia di terze parti come PhoneGap, App Mobi’s DirectCanvas o Game Closure per impacchettarli. Queste inoltre velocizzeranno i vostri giochi portando il rendering a velocità paragonabili a quelle native e inoltre risolveranno malfunzionamenti o mancanze come l'audio bassa latenza. I vantaggi sono ovvi: potete vendere il gioco nei negozi online dei produttori Mobile, che sono un modello di business ben collaudato (anche se talvolta estremamente imprevedibile!) e potete usare lo stesso codice sorgente ogni volta.
Lo svantaggio è che poi sarete in competizione con giochi del calibro di Angry Birds, Jetpack Joyride e Infinity Blade visto che condividerete lo stesso mercato, che spesso viene definito "la vetrina più piccola del mondo".

Tablet Specific (BlackBerry PlayBook, Nook, Kindle Fire)

 

Anche i grandi produttori di tabled stanno mettendo a disposizione un mezzo per sviluppare giochi HTML5 per i loro dispositivi. BlackBerry ha un consolidato Web Works SDK. Si può pubblicare su Nook usando un a framework come Titanium o PhineGap. E sebbene si dica che Kindle Fire non sia proprio il massimo in termini di prestazioni HTML5, il suo supporto dei Canvas era buono, quindi potrebbe tranquillamente gestire un gioco semplice o a bassa intensità.

Windows 8 Metro / Mac App Store

 

Windows 8 sarà disponibile nel 2012 e conterrà Metro. Metro è in realtà una linea guida di progettazione più che una tecnologia vera e propria, ma in concreto si tratta di un nuovo stile di interfaccia utente per Windows 8, che dispone di pannelli e contenuti a base tipografica. Ed è stato creato usando tecnologie HTML5. E totalmente possibile creare giochi che girano come applicazioni di Windows 8 e Microsoft incoraggia questo approccio grazie al suo Windows 8 Marketplace. Windows 8 conterrà anche Internet Explorer 10. Anche se le persone tecnologicamente più preparate conoscono IE come un browser da evitare, a partire da IE9 i motivi per farlo sono molto meno chiari. Ha un incredibile supporto per i Canvas con rendering accelerato via GPU e un motore JavaScript molto veloce. Le cose sono certamente cambiate molto da IE6. Degno di menzione è la possibilità di vendere i giochi in HTML5 il Mac App Store, come hanno fatto questi tizi.
 

Intel AppUp

 

Intel AppUp è un negozio-vetrina gestito da Intel nel quale si possono comprare applicazioni e giochi. Si trova preinstallato in molti laptop, netbook e ultrabook. Naturalmente si possono creare giochi AppUp usando tecnologia HTML5 e l'Intel Developer Program fornisce tutti gli strumenti necessari. Come è logico aspettarsi si ha a che fare con una grande varietà di configurazioni hardware e di risoluzioni, ma nel complesso le prestazioni sono sufficientemente adeguate per far girare giochi divertenti senza troppi problemi.

Connected TV (Opera TV Store)

 

L'Opera TV Store è una "soluzione completa di negozio basata su HTML5 per Connected TV". Proprio come installate applicazioni sul vostro smart phone, una Connected TV permette di fare lo stesso. Opera ha rilasciato un SDK e un emulatore TV con il quale sviluppare, ed è probabilmente solo una questione di tempo prima che simili SDK vengano rilasciati da altri produttori. A metà del 2011 si è diffusa per il web la storia di uno sviluppatore che ha hackerato la sua Apple TV e ha scoperto che poteva far girare HTML5, quindi ha creato un gioco di Blackjack da farci girare sopra. E 'solo una questione di tempo prima che l'App Store arriva su Apple TV.

Tutto questo pare sia cross-piattaforma, diavolo!

 

In un certo senso è così. Credo che la parte "diavolo!" sia quantificabile in base a quanto a basso livello si vuole arrivare in ogni piattaforma. Da un lato come minimo è bello sapere che con una serie di tecnologie è possibile accedere a una così ampia varietà di piattaforme e alle potenziali fonti di reddito. Dall'altro il pensiero di dover supportare così tanti dispositivi dovrebbe giustamente inviare un brivido freddo lungo la schiena. La prima decisione da prendere dovrebbe essere stabilire quale la piattaforma è essenziale per voi e iniziare a lavorare da quella. Se, per esempio, uno sa che ha bisogno d'arrivare sul Web Mobile, allora può evitare di gingillarsi con le WebGL, per esempio.
Se invece siete concentrati solo sul mercato Desktop e avete la necessità di fare un gioco che "go viral" e poi si diffonde, allora probabilmente dovreste innanzitutto mettere in discussione l'uso di HTML5, e continuare a considerare Flash.

Io non sono uno che crede ci sia davvero qualcosa come vera tecnologia cross-piattaforma quando si tratta di giochi. Se è vero che si può prendere lo stesso codice scritto per Desktop e portarlo su Mobile è anche vero che ci saranno quasi certamente problemi di prestazioni. Gli asset dovranno essere creati con in mente la gran varietà risoluzioni e sarà quasi certamente necessario creare le interfacce utente di gioco in più versioni. A seconda del tipo di gioco è del tutto possibile che vi ritroverete con una versione Desktop che fornisce delle pessime prestazioni a causa delle limitazioni poste dalla compilazione per Web Mobile. Si parte con creare una versione per Desktop e alla fine c'è il rischio di scoprire che è stato appena creato un gioco che è semplicemente impossibile portare su Web Mobile. 
Non intendo rovinare la lettura a nessuno. Voglio solo iniettare un po' di buon senso nel sogno cross-piattaforma. Più piattaforme desiderate supportare, è più saranno necessarie varianti di ogni aspetto. D'altro canto il vantaggio è che il codice di base sarà identico e per alcuni giochi il problema di risoluzione non si porrà neppure. 


Come diamine si fa a far soldi da tutto questo?!



Questa è una buonissima domanda. E vorrei avere la risposta. Quello che posso fare è di segnalarvi i negozi e mercati che esistono al momento. Se ne conoscete altri vi prego di segnalarlo nei commenti.

Google Ads

 

È possibile eseguire Google Ads nei vostri giochi HTML5. Google offre una gamma di banner dimensionati per i mobile e se riuscite a fare traffico può essere un consistente fonte di guadagno.

Sistemi di pagamento In-app e Mobile

 

Ci sono diversi sistemi là fuori che offrono soluzioni di pagamento in-app per gli sviluppatori HTML5. Ovviamente fate una ricerca per conto vostro prima di sceglierne uno, inoltre questa lista non è esaustiva, quindi cercare in giro.
Fortumo ha recentemente annunciato che sta fornendo soluzioni di fatturazione mobile tramite un API HTML5, il che significa che i vostri giocatori possono essere pagare direttamente con addebito sul conto telefonico.
Google dispone di un sistema di pagamento in-app che fornisce una semplice API per ottenere pagamenti per beni virtuali e digitali. LevelUp fornisce un'API che permettere ai giocatori di acquistare attraverso i loro codici personali QR.

Facebook Credits

 

Non si può davvero ignorare Facebook e la possibilità di essere pagati tramite Facebook Credits. Questo è un argomento a parte e piuttosto complesso, e inoltre è adatto davvero solo a tipologie di gioco molto specifiche.

Mobile Gaming Portals

 

Ci sono un numero crescente di portali di gioco che stanno includendo browser per dispositivi mobili creando portali appositi. Spil and MindJolt sono probabilmente i due più grandi, ma ci sono un sacco di realtà più piccole con soldi da spendere. Stanno comprando giochi nello stesso modo in cui i portali acquistano giochi Flash - con licenze esclusive e non esclusive. E 'importante capire che questi sono giochi Web Browser per Mobile e non Applicazioni, anche se ci sono molti che acquistano.

Applicazioni Mobile 

 

Apple App Store e Android Marketplace sono i più grandi, ma non sono gli unici negozi dove è possibile wrappare il vostro gioco HTML5 in una applicazione e metterlo in vendita. Il reddito risultante? Beh, credo che ormai vi sia noto. Vorrei solo aggiungere che vale la pena rilasciare i vostri giochi in questi mercati, perché se non lo fate voi lo farà ualcun altro. Più e più volte ho visto scopiazzare giochi e rilasciarli su App Store - e con i giochi HTML5 è ancora più facile. Basta solo scaricare il codice, wrapparlo e pubblicarlo. Quindi, se vi interessa - assicuratevi di arrivare per primi.

Negozi dei produttori di Browser

 

Si tratta di un mercato nuovo e in evoluzione. Google Chrome gestisce il Chrome Web Store e Mozilla al momento ha in fase di beta testing il nuovo HTML5 App Store.

Negozi dei produttori di Tablet e Cellulari

 

Questo è un altro mercato emergente. Al CES dello scorso anno AT & T ha annunciato una nuova API HTML5 per FierceWireless, il suo sistema di pagamento In-App. Nella loro presentazione hanno mostrato un grafico che mostra un mercato totale previsto di 1,5 miliardi di smartphone entro il 2016.
Microsoft ha già un suo Windows Phone Marketplace che accetta invii di apps e, naturalmente, con IE accolgono HTML5 a braccia aperte.
Motorola ha anche annunciato Webtop - la capacità di eseguire applicazioni HTML5 sui dispositivi mobili e tablet più recenti. Nel loro portale Motodev è possibile trovare le presentazioni e documentazione sull'argomento.
Inoltre è possibile mettere il vostro gioco in HTML5 su BlackBerry App World PlayBook, sull'Intel AppUp Center, su NOOK Apps e su Kindle Fire via Amazon. Fate una ricerca per conto vostro prima, ma il reddito che farete con molti di questi negozi sarà un'inenzia se non commercializzate correttamente il prodotto. Sebbene siano sempre possibili delle sorprese.

Windows 8 Marketplace per Apps Metro 

 

Ne ho già parlato nell'articolo, ma Microsoft avrà un Marketplace di applicazioni incorporato direttamente in Windows 8. Supportato anche da buoni strumenti di sviluppo,quindi non dovrebbe essere escluso a priori neppure dai fan sfegatati della Apple.



Riassumendo ...



Se sei uno sviluppatore indipendente di giochi questo può sembrare uno numero esagerato di piattaforme e tecnologie con cui lottare, e lo è. Unity, Corona e Flash / AIR sono in grado di gestire molte delle piattaforme citate con uno sforzo assai inferiore.
Ma la piattaforma al momento più importante e quella che cresce più velocemente è il Mobile Web, che è ora saldamente solo nel campo della tecnologia HTML5. Allora, perché elencare tutte le altre piattaforme? Perché credo che per essere uno sviluppatore indipendente di successo oggi sia quasi necessario adottare un approccio "shotgun" per il vostro gioco. Distribuirlo cioè su più piattaforme e negozi possibili compromettendo al minimo la sua integrità. Creando così un sacco di piccoli flussi di reddito che scorrono verso di voi. Poi altri giochi, e altre piattaforme e, si spera che col tempo questi flussi si trasformino in vero e proprio fiume di denaro. Almeno, questo è quello che io mi auguro per voi :)

Se lavorate per una società che ha un capo tutto su di giri per questa nuova storia dell'HTML5, almeno adesso avete qualche punto di riferimento sulla tecnologia e sulle piattaforme, che potete approfondire su semplice richiesta. Naturalmente, quando la gente parla di tutto questo, quello che in realtà intende dire è : "Voglio che funzioni sul mio iPhone" (vale a dire "Non usare Flash"), ma ora voi sapete che non è così semplice. Occorre riflettere seriamente su quale sia la piattaforma più adatta, decidere quante versioni creare e quali compromessi si è disposti a fare lungo il percorso.

Ma una cosa è certa: nonostante la mole di tecnologica coinvolta, i giochi HTML5 non sono più solo per gli sviluppatori web. Gli sviluppatori di giochi dovrebbe prestare attenzione e iniziare ad immergervisi, perché il mercato e la tecnologia associata stanno per esplodere.

I miei ringraziamenti a Seb Lee-Delisle of CreativeJS and Rob Hawkes di Mozilla per aver controllato questo epico post!



Ricordandovi che quella che avete appena letto è la traduzione integrale di un post apparso qualche settimana fa su photostorm.org ad opera di Rich, vi chiediamo di segnalarci eventuali errori di traduzioni, sviste o quant'altro a:
zxallianz chiocciola gmail punto com

Nessun commento:

Posta un commento