Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

HTML5 games: l'esperienza di una console sul browser

Le tre principali caratteristiche dei sistemi di gioco tradizionali, si confrontano con le potenzialità offerte dall' open web
Le tre principali caratteristiche dei sistemi di gioco tradizionali, si confrontano con le potenzialità offerte dall' open web
Link copiato negli appunti

Questo articolo è la traduzione di "Getting a Console Experience on the Web" di Nikhil Suresh ripubblicato con l'approvazione di Microsoft.

Ogni nuova generazione di console ha portato con sé servizi come marketplace, risultati e profili dei giocatori, che hanno reso più facile per i giocatori di connettersi istantaneamente con gli amici, oltre ad essere in grado di scoprire, acquistare e trovare nuovi modi per godere dei giochi.

In questo articolo si esaminano 3 caratteristiche principali dei sistemi di gioco tradizionali, si confrontano con le potenzialità offerte dall' open web, per capire come sia possibile sfruttare queste potenzialità per indurre a giocare un pubblico maggiore.

Controller

Quale console di gioco non supporta i controller? Un input analogico può rendere la maggior parte dei giochi, dai platform alle corse automobilistiche, più facili e sicuramente più divertenti da giocare. Giochi come Super Meat Boy o FIFA, anche supportando la tastiera, sono progettati per essere giocati da controller. Il giocare insieme sul divano delle console tradizionali richiedeva un metodo di input che fosse semplice, poco ingombrante ed ergonomico.

Di cosa ha bisogno l'open web?

Di un'interfaccia che permetta ai giocatori (ei loro amici) per collegare facilmente qualsiasi controller esistente e di essere in grado di avviare un gioco senza dover scaricare alcun driver particolare, browser, o plugin. Purtroppo, ci sono alcuni problemi con questo scenario ideale:

  • La maggior parte dei controller richiedono l'installazione di driver su quasi ogni piattaforma ( ad eccezione del controller XBOX per Windows)
  • Alcuni controller, senza mezzi termini, si rifiutano di lavorare su alcune piattaforme
  • I valori di ingresso variano a seconda del controller
  • Non tutti i browser supportano/funzionano con API per i controller

Di cosa disponiamo al momento?

Chiaramente in Mozilla e Google si percepisce la necessità di raggiungere le console con HTML5, come dimostra il lavoro molto veloce su specifiche API per i Gamepad: Mozilla Firefox ha una build speciale per Gamepad mentre tutte le build di Chrome richiedono una modifica in chrome://flags prima di poter leggere l'input del controller.

In termini di supporto ai controllar ecco cosa abbiamo:

  • Windows
    • XBOX360 controller per Windows (quello che funziona meglio)
    • Il controller DualShock3 della Playstation - con un trucchetto può essere riconosciuto da Windows come controller XBOX360, utilizzando MotionInJoy
    • Gamepad Logitech come F310, F510 e F710
    • Come regola generale: qualsiasi controller che emula il controller XBOX360 dovrebbe funzionare.
  • Linux
    • I controller nella lista di Windows di cui sopra dovrebbe funzionare tutti.
    • A causa della varietà di distribuzioni e le versioni del kernel, è difficile fornire un elenco concreto di controller supportati, ma qualsiasi cosa utilizzando l'interfaccia USB HID dovrebbe funzionare.
  • Mac
    • Il controller DualShock3 della Playstation è supportato nativamente
    • Il controller XBOX360 per Windows, utilizzando uno speciale software di Colin Munro

Quali tool utilizzare?

Ci sono alcune librerie che ci sollevano dalla farica di dover personalizzare le assegnazioni dei pulsanti e le chiamate API su Firefox e Chrome.

  • Gamepad.js è pulito, funziona bene, ed è estremamente semplice per lavorare
  • Input.js è tra quelle che cercano di astrarre l'API Gamepad. È realizzato da un ingegnere di Mozilla ed è stato sviluppato come parte della loro Paladin gaming initiative.
  • Le chiamate API basilari. Non è troppo difficile, ma occorre preoccuparsi della mappatura dei tasti attraverso una varietà di controller.

Pronti a partire

Costruiamo un gioco che richiede l'input di un controller. Useremo un controller DualShock3 di Playstation, ottimizzato tramite MotionInJoy per simulare un controller XBOX360 per Windows. Come API Gamepad, useremo la libreria gamepad.js.

La demo live è qui.

  • Anzitutto, inserire gamepad.js nel file html. Questo contiene tutte le interfacce di cui abbiamo bisogno per lavorare con i controller.
  • Controllare se il browser supporta i controller utilizzando if (Gamepad.supported)
  • Assegnare i dati del controller a una variabile con var pads = Gamepad.getStates();
  • Ciclare attraverso i controller disponibili con for (var i = 0; i<pads.length; ++i)
  • Verificare che il controller corrente (nel caso di più controller) sia collegato con if (pads[i])
  • Leggere i valori di input utilizzando la semplice interfaccia LEFT_STICK_X = pads[i] leftStickX;

Ecco del codice di esempio:

if (Gamepad.supported) {
    // Ready to rock!
} else {
    // Fallback or encourage user to bug their browser vendor
}
var pads = Gamepad.getStates();
for (var i = 0; i < pads.length; ++i) {
    if (pads[i]) {
        console.log(pads[i].leftStickX + “, “ + pads[i].leftStickY);
        if(pads[i].faceButton0) {
            console.log(“button0 pressed”);
        }
    }
}

Quali sono le prospettive?

Che proviate la demo o costruiate il vostro gioco web con supporto Gamepad, noterete un po' di ritardo nell'uso dei controller. Il supporto delle Gamepad API da parte dei browser è ancora in fase sperimentale, e non è destinato agli utenti finali in questo momento. Dobrà passare ancora un po' di tempo prima di vedere
giochi basati su controller fluidi e plug-and-play sui nostri browser, ma lo sviluppo è ben avviato e queste caratteristiche dovrebbero essere rilasciate entro l'anno prossimo.

Profili

Un fondamentale aspetto sociale delle console di oggi è la possibilità di personalizzare la propria esperienza di gioco. Caratteristiche come avatar, risultati e salvataggi sono possibili solo quando ogni giocatore possiede un unico, singolo profilo di gioco. Se aggiungiamo la possibilità di creare gruppi di amici e parenti, gli sviluppatori hanno una miniera d'oro di interazioni degli utenti. Con la nascita del social gaming, la necessità di profili per i giocatori e un social network per il gaming open web non è mai stata così grande.

Di cosa ha bisogno l'open web?

Come PlayStation, Xbox e Steam, il l'open web ha bisogno di un sistema centralizzato per la memorizzazione e l'accesso ai dati del giocatore che li condivida con una varietà di giochi compatibili. Questo sistema dovrebbe funzionare con tutti i browser, sistemi operativi e dispositivi e fornire una perfetta integrazione tra loro.

Purtroppo, ci sono alcuni problemi con questo scenario ideale:

  • Richiede agli utenti di impostare un altro account; qualcosa che non saranno inclini a fare
  • Un sistema centrale di profili che proverbialmente "mette le uova di tutti nello stesso paniere", lasciando le informazioni private degli utenti disponibili a chiunque in grado di forzare il sistema.
  • Portare gli sviluppatori a bordo è sempre un compito difficile per una nuova piattaforma.

Di cosa disponiamo al momento?

Kongregate e Newgrounds sono un paio di piattaforme già impostate per consentire il monitoraggio dei risultati di un giocatore, così come alcuni tratti sociali come le liste di amici. Google+ e Facebook hanno le loro rispettive Social API che gli sviluppatori possono sfruttare. Strumenti di terze parti come ad esempio PlayMobi SDK di appMobi facilitano agli sviluppatori laccesso a funzioni "social" che sfruttano Facebook connect, semplificando il processo di sviluppo.

BrowserID (o Mozilla Persona) è un metodo alternativo di autenticazione degli utenti che semplifica l'accesso agli utenti che possiedono un ID di posta elettronica esistente, senza la richiesta di condividere le password. Con la sottoscrizione attraverso BrowserID, l'utente deve ricordare solo una combinzazione di ID e-mail e password. Per ulteriori informazioni su BrowserID, leggere la documentazione della Developer Network di Mozilla.

Quali tool utilizzare?

Ciascuna delle attualmente disponibili ha le sue tecniche per autenticare i giocatori. In genere è consigliabile integrare un SDK esistente, che sarà generalmente di alta qualità e consente di risparmiare tempo.

Come nota generale, ai giocatori non piace dover creare nuovi account di accesso a meno che non ci sia un forte incentivo a farlo, come l'influenza di un gruppo di amici o premi esclusivi. Si consiglia di utilizzare qualunque autenticazione si adatti al vostro pubblico. Se si tratta di un gioco che potrebbe diventare popolare tra gli utenti di Farmville, la cosa migliore è lavorare con Facebook. Anche la crescente popolarità dell'autenticazione Twitter ha funzionato con alcuni giochi...

Quali sono le prospettive?

Poiché HTML5 è ancora in crescita, potrebbe passare un po' di tempo prima che si faccia notare un leader di mercato nello sviluppo di soluzioni per i profili dei giocatori. Finché non ci sarà un sistema che si estende su tutti i browser e dispositivi, e che incentivi gli utenti all'adesione, l'attuale frammentazione dovuta alle differenze tra i browser e i dispositivi richiederà agli sviluppatori di utilizzare molteplici soluzioni per i dati degli utenti.

Marketplace

La popolarità della distribuzione digitale è cresciuta rapidamente fino a superare i tradizionali negozi di mattoni e malta in termini di giochi venduti. Eliminando i costi di produzione fisica, i giochi distribuiti digitalmente possono far guadagnare più soldi ai loro sviluppatori con meno sforzo, dando loro più tempo per perfezionare il gioco.

Di cosa ha bisogno l'open web?

Gli utenti hanno bisogno di un negozio che distribuisca i propri titoli preferiti, dai blockbuster come Bulletstorm a Indie gems like Bastion. Dovrebbe essere accessibile da tutti i browser, indipendentemente dal sistema operativo o dal dispositivo. Dal momento che questi giochi utilizzeranno HTML5 e tecnologie web aperte, non vi è alcuna ragione per cui non dovrebbero essere compatibili con qualsiasi dispositivo abbastanza potente.

Nel caso di giochi che richiedono un uso intensivo di risorse (o se il gioco richiede un certo tipo di interazione), il negozio dovrebbe visualizzare solo i giochi che possono essere riprodotti sul dispositivo dell'utente.

I giochi dovrebbero presentare una demo giocabile e trailer che ne mostrino le caratteristiche principali. L'acquisto dovrà essere semplice e veloce, e dovrebbe essere possibile su qualsiasi dispositivo. Come Steam, bisogna creare legami sociali e migliorare l'esperienza del giocatore attraverso i forum della comunità e relativi ai gruppi di fan collegati ai giochi.

Di cosa disponiamo al momento?

Google ha lanciato la tendenza dei marketplace HTML5 con l'apertura del Chrome Web Store nel dicembre 2010. Da allora, i mercati di app come Facebook App Center, OpenAppMkt, e il recente lancio di Marketplace di Mozilla hanno consolidato HTML5 come valida piattaforma per gli sviluppatori. Anche Kongregate (portale che ha posizione dominante tra quelli di Giochi Flash) ha recentemente iniziato ad accettare giochi HTML5.

L'aspetto social dell'open web è un fattore potente, vista la sua capacità di fungere da piattaforma. Come abbiamo osservato nel caso dei giochi Facebook come Farmville, i giochi che si integrano con i social network e sfruttano le connessioni tra le persone, generalmente riescono a creare e mantenere una solida base di utenti.

Questa tendenza si sta estendendo anche al settore mobile, con giochi come "Draw Something" utilizzando l'appeal che ha il social gaming nel coinvolgere un pubblico vasto. Con la nascita dei giochi casual e "freemium", la popolarità dei giochi è ora dettata dalla quantità passaparola creato, piuttosto che i mezzi tradizionali di recensioni pubblicità e dei media (non sempre: anzitutto il passaparola è anche mediatico e poi c'è da considerare l'influenza che ha la posizione all'interno delle vetrine del marketplace. ndR).

Questo è il momento migliore per pubblicare giochi HTML5, il mercato è relativamente nuovo, non c'è molto in termini di concorrenza, e tutti gli occhi sono avidamente sul segmento. Come con App Store di Apple nel 2008-09, è il momento in cui vedremo nuovi sviluppatori puntare forte su questi nuovi mercati.

Quali tool utilizzare?

Ecco un riassunto di alcune delle opzioni che hanno gli sviluppatori di giochi HTML5. A causa della natura in continua evoluzione di mercati, sono elencati solo alcuni dei principali attori.

Nota: per tutti i marketplace, si è liberi di utilizzare API esterne per la gestione degli acquisti "in-app", che (nella maggior parte dei casi) non richiedono la compartecipazione alle entrate.

Google Chrome Web Store

Registrazione Prezzi Piattaforme
Un'unica tassa di 5 dollari per la registrazione allo store, per dimostrare la propria autenticità. Questo per eliminare iscrizioni fraudolente, con l'effetto di mantenere alta la qualità del catalogo. Nessun costo aggiuntivo per la pubblicazione di applicazioni gratuite. Per le applicazioni a pagamento, Google prende il 5% del prezzo di vendita, per transazione. Per sfruttare il loro sistema (strettamente integrato) di pagamento, è necessario passare per Google Checkout. Web Store è disponibile solo per Chrome e Chromium gira su Windows, Mac, e Linux e solo su computer desktop e portatili. Nessun supporto mobile è attualmente disponibile.

Facebook App Center

Registrazione Prezzi Piattaforme
Tutto ciò che serve è un account di Facebook. Non ci sono costi di registrazione. Facebook App Center non gestisce il processo di pagamento. Se si desidera che gli utenti paghino per i giochi, è necessario utilizzare un servizio di pagamento di terze parti come come Google In-App Payments API. Facebook App Centro funziona su qualsiasi browser, così come sui suoi dispositivi mobili basati su Android, iOS e altri sistemi operativi. Si possono creare applicazioni mobili su Facebook App Center per specifici dispositivi, ma tutte le webapps saranno utilizzabili.

Mozilla Marketplace

Registrazione Prezzi Piattaforme
Attualmente è in una fase di "anteprima" per gli sviluppatori, il servizio è aperto solo su invito. Gli sviluppatori possono pubblicare gratuitamente. Il Marketplace offre la pubblicazione di applicazioni gratuite. Mozilla fornirà una API per il pagamento In-App da utilizzare nei giochi, tuttavia, non mancherà di tenere il 30% delle eventuali entrate generate da un'app, sia che siano di tipo IAP sia per la vendita. PayPal è il sistema di pagamento unico ufficialmente supportato per il momento, anche se questo potrebbe cambiare in futuro. Ovviamente il mercato di Mozilla sarà orientata verso gli utenti Firefox, tuttavia, con il lancio imminente di Firefox OS (precedentemente conosciuto come Boot2Gecko), Mozilla punta a un'esperienza condivisa tra dispositivi. Il lancio previsto per il Marketplace è "entro la fine dell'anno", presumibilmente in concomitanza con l'evento "Kilimanjaro", nel settembre 2012, che consoliderebbe il rilascio di Firefox OS

OpenAppMkt

Registrazione Prezzi Piattaforme
L'iscrizione è gratuita per gli sviluppatori. Dal momento che il contenuto è a cura dalla comunità, non c'è motivo per una barriera all'ingresso. L'invio di un applicazione gratuita non richiede alcun pagamento. Applicazioni a pagamento sono soggette a una suddivisione del tipo 80/20. La soglia per ricevere i compensi per le applicazioni a pagamento ventue è di 150 USD (tolto il 20% dovuto allo store). Il pagamento è possibile tramite PayPal, assegno o bonifico bancario. OpenAppMkt gira sulle attuali piattaforme mobili come Android e iOS.

Kongregate

Registrazione Prezzi Piattaforme
Come comunità gratuita di giochi, incoraggiano invii di nuove app. Tuttavia, il loro metodo tradizionale basato sulla pubblicità potrebbe non essere per voi. Tutti i giochi fruttano allo sviluppatore il 25% di qualsiasi entrata basata su annunci. Con l'integrazione con le statistiche e la Challenge API, gli sviluppatori ottengono un ulteriore 10%. Se il gioco è un'esclusiva Kongregate, si può guadagnare un altro 15%, per un massimo del 50% sulle entrate pubblicitarie. Kongregate è uno dei portali più popolari di giochi Flash. In quanto tale, si può giocare su qualsiasi dispositivo con un browser che supporta Flash. Inoltre hanno lanciato un portale Android che offre una serie di titoli di alta qualità.

Windows Store

Registrazione Prezzi Piattaforme
Microsoft consente la registrazione degli sviluppatori con due profili differenti: individuale oppure aziendale. Il primo prevede un costo pari a 49 dollari, mentre il secondo 99 dollari, da pagare all'atto dell'iscrizione. In entrambi i casi è richiesta una carta di credito per la verifica dell'identità. Il costo minimo delle applicazioni a pagamento è pari a 1,49 dollari, a salire con incrementi di 0,50 dollari. La commissione trattenuta da Microsoft per i profitti ricavati dalla vendita (delle singole app) è pari al 30% del totale per gli importi inferiori ai 25.000 dollari, mentre al di sopra dei 25.000 dollari scende al 20%. Gli sviluppatori possono chiedere un pagamento solamente dopo aver accumulato un credito di almeno 200 dollari. Le applicazioni e i giochi distribuiti mediante la piattaforma Windows Store possono essere scaricati e utilizzati su tutti i dispositivi equipaggiati con i sistemi operativi Windows 8 e Windows RT, come PC desktop, laptop o tablet.

Conclusioni

Anche se l'open web può non avere tutte le caratteristiche necessarie per favorire la migrazione di massa degli utenti dalle console tradizionali, ci sono metodi più che sufficienti per implementare un'esperienza di gioco che soddisfi le forme tradizionali di videogame. Poiché l'open web è in continua evoluzione, ci saranno altre novità che prenderanno piede in questo questo mercato. In qualche anno, le console potrebbero diventare obsolete e potremmo vedere titoli importanti sull'open web perché tutti possano giorcare con qualsiasi browser web.

Ti consigliamo anche