Ionic Space Shooter
August 12, 2017 ยท View on GitHub
80's arcade game build with Ionic Framework
Overview
This personal project is currently under development
Testing build Gaming Hybrid Application using HTML5 Canvas API + Ionic Framework with ngrx @store/effects to manage game state and Electron Framework to provide full multi platform application (iOS/Android platform + Web Browser platform + Desktop platform).
Prerequisites
- NVM - Download & Install Node Version Manage
- NodeJS 7 - Download & Install Node.js and the npm package manager with NVM
$ nvm install node 7. - Typescript Latest stable version install in Global
$ npm install -g typescript - Ionic 3 & Cordova - Latest stable version install in Global
$ npm install -g ionic cordova - Electron Latest stable version install in Global
$ npm install electron -g - Good knowledge of AngularFire2
- Good knowledge of Reactive Programming with ngRx and ngRx/store + ngRx/effects
- Redux DevTools Extension - Install Plugin for Chrome - Debugging application's state changes & provides power-ups for your Redux development workflow.
- And you should also have git installed to a better working flow.
Quick start
- run nvm & node with
$ nvm use 7&$ npm install - add your own FB_CONFIG in a simple file to initialize your Firebase config into
./src/store/app-state.module.ts - run app with
$ ionic serve - add platform with
$ ionic cordova platform add ios||browser - build platform with
$ ionic cordova build ios||browser - deploy browser platform with Firebase Hosting by runing
$ firebase deploy - build desktop version with
$ npm run electron:build
Have todo
- add all action into static proprety: src/store/actions/mainActions.ts
- check if user is log.. and propose signin if not: src/pages/play/play.ts
- display confirmation score save: src/pages/play/play.ts
- save player setting, level & score: src/pages/play/play.ts
- remove static img load and use Store datas
- refactoring manageCollision.ts as an Angular Component
- refactoring detectCollision.ts as an Angular Component
- refactoring quadtree.ts as an Angular Component
- create/add app icon, splashscreen
- add electron.js
- add auto-updating with electron-builder
Have tofix
- Fix bug: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The provided value is not of type '(CSSImageValue or HTMLImageElement or SVGImageElement or HTMLVideoElement or HTMLCanvasElement or ImageBitmap or OffscreenCanvas)' on file
./src/models/explosion/explosion.ts - Fix bug with ionic cache update not working. (PWA).. more...
- Fix bug with serviceWorker update not working. (PWA).. more...
- Fix bug with IOS. audio not playing.. : src/pages/play/play.ts
-
$ ionic cordova build browser --prodcurrently not working
About author
Hi, i'm a Front-end developper living in Geneva Switzerland and i build hybrid mobile & web applications for almost 15 years. You can follow me on Twitter @FazioNico or checkout my own website http://nicolasfazio.ch