Cos’è Phaser

Phaser è un framework open source e totalmente gratuito per lo sviluppo di giochi html5: questo significa che i giochi saranno accessibili tramite un semplice browser ma anche tramite app per Android, iOS e altro mediante componenti che ne simulino il comportamento.
Il vantaggio di questo genere di framework è quindi innanzitutto la portabilità, ed in questo caso anche la semplicità e la rapidità di sviluppo in quanto phaser risulta essere un prodotto molto intuitivo e, come vedremo, pieno di scorciatoie per le funzionalità più comuni.
Le prestazioni non sono al livello di altri framework ma sono ampiamente sufficienti per la maggior parte delle esigenze. Anche la compatibilità è buona sebbene determinate configurazioni, specie le più vecchie, potrebbero avere avere qualche problema. Questo argomento sarà meglio trattato nella conclusione di questa serie di articoli.
Nel tutorial vedremo come
- preparare un ambiente per lo sviluppo installando un web server sul proprio computer
- preparare un progetto phaser
- scrivere un piccolo videogioco del genere shoot’em up
Il tutorial presuppone una conoscenza minima di html e javascript.
Requisiti
Phaser non dovrebbe girare direttamente come file locale ma ha bisogno di un Web Server: per ragioni di sicurezza un browser potrebbe non permettere ad un file html di accedere liberamente alle risorse dell’hard disk.
Il tutorial è stato comunque pensato per massimizzare la compatibilità: tutte i file sono nella stessa directory.
Il funzionamento da file lanciato localmente (quindi senza web server) è stato testato su queste configurazioni:
- Windows 10 su chrome 56
- Osx El Capitan 10.11 su chrome 56
- Windows 10 su Internet Explorer 11
Ma futuri aggiornamenti di chrome potrebbero non funzionare. Ho testato inoltre senza successo riscontrando problemi di sicurezza del browser su
- Osx El Capitan 10.11 su safari 9.1.2
- Windows 10 su Chrome 55 (funziona però se al posto di Phaser.AUTO usate Phaser.CANVAS)
Per una compatibilità completa e affidabile sarà necessario invece installare un web server.
