capstone project final presentation

86
Air Hockey Web Game (using ngxqrctl.js) Proposal Team NGX kick-opresentation for capstone project Ikwhan Chang(20060957) | Sangtae Lee(20115695) | Dongkyoung Jo(20112104)

Upload: ikwhan-chang

Post on 04-Jul-2015

126 views

Category:

Engineering


8 download

DESCRIPTION

Air Hockey Game with Google Cloud + NodeJS + NginX + Socket.io + HTML5 you can see gitlab repository: http://git.matthewlab.com/root/remote-web-airhockey

TRANSCRIPT

Page 1: Capstone Project Final Presentation

Air Hockey Web Game (using ngxqrctl.js) Proposal

Team NGX kick-off presentation for capstone project Ikwhan Chang(20060957) | Sangtae Lee(20115695) | Dongkyoung Jo(20112104)

Page 2: Capstone Project Final Presentation

INDEX •  Team NGX

•  Introduction

•  How to Use

•  How to Play

•  Game Rule

•  System Architecture

•  System Environment

•  Schedule

•  Q&A

2

Page 3: Capstone Project Final Presentation

Team NGX Team NGX

Air Hockey Web Game

(using ngxqrctl.js)

Team Mission

- Make new user experience in a web

- Make best web maintenance environment

- Share our source code within worldwide developers

Team Member & Role

3

Name Part

Ikwhan Chang NGX Web Server, QR Controller JavaScript Library

Sangtae Lee AirHockey Game Client

Dongkyoung Jo NGX QR Controller

Page 4: Capstone Project Final Presentation

Introduction Project Name

•  Responsive Air Hockey Web Game

What is this?

•  Air Hockey Game based on Web

•  Remote Controlling via QR Code

•  Server is based on NGXRCS

(NGXRCS : NGX Remote Control Server, our previous final production which is notification-based web

server)

Page 5: Capstone Project Final Presentation

Goal 5

1) optimize NGXRCS(NGX Remote Control Server) more smoother and faster.

2) make our NGXRCS via QR-code and Javascript Library(jQuery Plugin) : NGX QR Controller, ngxqrctl.js

3) make simple responsive game based on HTML/JavaScript and ngxqrctl.js : Air Hockey Game

Server optimizationOptimize

Provide for developer to our js library(jQuery Plugin)

Ngxqrctl.jsProvide our Air Hockey Game for demonstration(how to use our ngxqrctl.js)

Air Hockey Game(Demo)

Page 6: Capstone Project Final Presentation

How to Use? 6

1. Install our JS library Ngxqrctl.js : for developer

1) Add HTML element for showing qr-code

<div id=”ngx-container”></div>

2) Include the ngxqrctl script in developer’s site

<script src="/path/to/ngxqrctl.min.js"></script>

Page 7: Capstone Project Final Presentation

How to Use? 7

1. Install our JS library

3) CSS

#ngx-container #qr-view{ width: 100%; }

4) Initialize with JavaScript

var $container = $('#ngx-container');// init $container.ngx-qrctl({ // options layoutMode: 'fitRows’});

(How to use CSS is not yet determined but we will use CSS for customizing style)

Initialize an NGX QR Controller instance as a jQuery plugin: $('#container').ngx-qrctl().

Ngxqrctl.js : for developer

Page 8: Capstone Project Final Presentation

How to Use? 8

2. Setting event

(ex : onTouchStart)

var $container = $('#ngx-container');function onTouchStart() { // Here is user’s action console.log('layout done');} // bind event listener $container. ngx-qrctl( 'on', ’touchStart', onTouchStart );

Ngxqrctl.js : for developer

dragstartdragmove dragend

touchstarttouchend

touchmove

(list of event)

Page 9: Capstone Project Final Presentation

9

if there is two user, game will start

Player 1 - disconnected Player 2 - connected

How to Play? Air Hockey Web Game

1. Connect our game’s website

Page 10: Capstone Project Final Presentation

10 How to Play? Air Hockey Web Game

2. scan QR-code via user’s smartphone

Page 11: Capstone Project Final Presentation

11 How to Play? Air Hockey Web Game

3. Play!

Page 12: Capstone Project Final Presentation

12 Game Rule Air Hockey Web Game

•  Two players, One ball

•  Each side has their own goalpost

•  Ball can move inside rectangle area.

•  Available action Moving : left, right, jump

•  If the ball go into the opposite’s goalpost, on the ground during game, the user can get a single point

•  Time limitation : 3 min

Page 13: Capstone Project Final Presentation

System Architecture 13

Controller 1(iphone or android)

Controller 2(iphone or android)

Wi-Fi Connected

Server: I/O , Game Logic Processing, Push

Viewing Data���(JSON)

QR Code provided

User’s unique code Wi-Fi Connected

Our Website

Page 14: Capstone Project Final Presentation

Client #1

System Environment 14

Server

Routing

Socket.io (Push Server) Client #N

.���. . . . .

Push Data���(JSON)

Push Data���(JSON)

Page 15: Capstone Project Final Presentation

Development Environment 15

Lee

Jo

IntelliJ IDE

Eclipse w/ STS

Eclipse w/ Android

Testing Server

changes

testing

Jenkins Continuous Integration

JIRAIssue Tracker share Issue/Bug/TODO

Chang

GitRepository

Page 16: Capstone Project Final Presentation

Mid-term Exam

Schedule 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

Page 17: Capstone Project Final Presentation

Team NGX- 3th weekend 17

Ikhwan Chang (Presenter)

-  Server Turning

-  Architecturing

SangTae Lee & Dongkyoung Jo

-  QR-Code Research

-  jQuery & Socket.io plugin Research

Page 18: Capstone Project Final Presentation

Schedule 18

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Page 19: Capstone Project Final Presentation

Architecturing Cent OS (Main O/S)

NGINX (Routing)

NodeJS

Socket.IO (Notification)

Server

ngx_rcs.js (plugin)

Smartphone HTML5

<canvas>

Client(Device) User’s Touch Data���

(JSON)

Air Hockey Game

jQuery

Client(Game)

ngx_qrctl.js (plugin) Push Notification

jQuery.qr-code

Page 20: Capstone Project Final Presentation

Where our plugins located Server Client

Server : npm(kind of node.js ‘s package) Client : jQuery Plugin All they will provide with opensource(most of plugin already do that)

ngx_rcs.js (plugin)

ngx_qrctl.js (plugin)

Page 21: Capstone Project Final Presentation

Type of QR-Code

Page 22: Capstone Project Final Presentation

QR-Code Processing http://larsjung.de/jquery-qrcode/

Page 23: Capstone Project Final Presentation

QR-Code Processing USERIP+USER-AGENT+HTTP HEADER

{“Sat, 07 May 2011 17:31:38 GMT”,”Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0”,”165.194.33.5”}

CREATE UNIQUE KEY(using MD5 with IP-Hash key)

ENCODED TEXT : E5c09a1dd615d8c878dcfb0f2923f976 KEY : 165.194.33.5

CREATE QR-CODE(using jquery.qrcode : http://larsjung.de/jquery-qrcode/)

$(selector).qrcode({ "width": 100, "height": 100, "color": "#3a3”, "text": “http://qrcode.matthewlab.com/q=E5c09a1dd615d8c878dcfb0f2923f976“ });

Page 24: Capstone Project Final Presentation

Team NGX- 4th weekend 24

Ikhwan Chang

-  - setting to node.js and socket.io

-  - made to default push notification program

SangTae Lee & Dongkyoung Jo(Presenter)

-  - set up default layout

-  - restructure the class

Page 25: Capstone Project Final Presentation

Schedule 25

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Page 26: Capstone Project Final Presentation

•  License problem

•  We provided web server from SK since we joined open source award challenge but said that they cannot provide window based server because they have not enough to Window license.

•  So they provide only server based on Linux

•  We seriously consider to change Cent OS(based on Linux) during first week and finally Cent OS has no problem if we changed.

Team NGX- Why we change server O/S?

Page 27: Capstone Project Final Presentation

•  Detected malware and DDOS attack

•  During summer vacation, we found that there was a lot of malware and DDOS in our server.

•  So we could not trust windows server anymore.

Team NGX- Why we change server O/S?

Page 28: Capstone Project Final Presentation

•  We finished to setup socket.io and node.js

•  Node.js can provide npm instructions

•  So user can easily install our NGX Server

Team NGX- Setting socket.io and node.js

•  User can install just two instructions

•  npm install –save express

•  npm install –save socket.io

Page 29: Capstone Project Final Presentation

•  If user want to run our server, there is easy instruction

•  Just “node index” instruction can run our server

Team NGX- Setting socket.io and node.js

•  We can check how more faster than previous server(Windows)

•  http://test.matthewlab.com/game : Test game

•  http://test.matthewlab.com/c : NGX Controller

Page 30: Capstone Project Final Presentation

Using JavaScript

-  Center circle

-  Center line

-  Goal area

-  Goalpost

Team NGX- Default layout(prototype)

Page 31: Capstone Project Final Presentation

Team NGX- Game engine

KineticJS

-  HTML Canvas JavaScript framework

-  Almost free(except support of technology)

-  Experience of use

-  Using the game engine

Page 32: Capstone Project Final Presentation

Team NGX- Game

Volleyball & Air hockey

•  similar elements

•  way of movement, collision, score etc

•  can reuse the last semester’s class

•  need to restructure the class

Page 33: Capstone Project Final Presentation

Team NGX- Problem

•  Implementation to actual hockey game is delayed

•  graduation thesis, broke down the laptop ..., other problems

à We must speed up for progressing our project

Page 34: Capstone Project Final Presentation

Team NGX- Next to do

•  Implementation to actual hockey game quickly

•  Add to npm library and make jQuery plugin

Page 35: Capstone Project Final Presentation

Team NGX- 5th weekend 35

Ikhwan Chang(Presenter)

-  Completed to make server

-  Vaccine is added on our server

-  Send to OSS Awards(오픈소스 공모대전), finally.

SangTae Lee & Dongkyoung Jo

-  - Set game rules clear and then these rules are applied previous project

-  - Modify prototype UI and add both players and ball(s)

Page 36: Capstone Project Final Presentation

Schedule 36

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Page 37: Capstone Project Final Presentation

Install to vaccine 37

-  ClamAV is freeware for linux-based OS.

-  Our server is based on Cent OS. So we installed ClamAV and added to daily schedule.

Page 38: Capstone Project Final Presentation

Presented to oss award 38

-  Finally, our server-side programming was presented for open source software award, sending all materials.

-  We captured our demo video and upload all source code at github for open source.

Demo video : http://www.youtube.com/watch?v=Vjxvz-ngwSA Website : http://ngx.matthewlab.com

Page 39: Capstone Project Final Presentation

Server Architecture(OSS Awards) 39

Page 40: Capstone Project Final Presentation

Device Detection(OSS Awards) 40

Page 41: Capstone Project Final Presentation

Site Remote Control(OSS Awards) 41

Page 42: Capstone Project Final Presentation

Air hockey rules 42

-  There are two players

-  If puck goal in the my section hole, the opposite play get 1 point.

-  A puck is on a host player's section at first. It means a host player attacks first. but, in the next game, the winner of previous game gets a right to attack first.

-  If a player get a 15 or 18 points, finally the player win the game.

-  Players cannot touch puck which is in opposite player section.

-  There is time limit to play game speedly.

Page 43: Capstone Project Final Presentation

Air hockey 43

Page 44: Capstone Project Final Presentation

What will we do next? 44

-  The first evolution result will be noticed at 10/6.

-  If we passed first evolution, then there is technical test during October. So, Ikwhan Chang will focus on this technical test and other tests.

-  And Sangtae Lee and Dongkyoung Jo will focus on make air hockey game for perfect sample.

Page 45: Capstone Project Final Presentation

Team NGX- 6th weekend 45

Ikhwan Chang

-  ngx_qrctl.js is attached successfully in our Air Hockey Game

-  Now we can get user’s touch x-y coordination in our game.

SangTae Lee(Presenter) & Dongkyoung Jo

-  Implementing Game part (animation effect, movement, collision)

-  Design 2D collision equation yet applied to hockey game.

Page 46: Capstone Project Final Presentation

Schedule 46

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Page 47: Capstone Project Final Presentation

Team NGX- Game engine

KineticJS

-  HTML Canvas JavaScript framework

-  Almost free(except support of technology)

-  Experience of use

-  Using the game engine

Page 48: Capstone Project Final Presentation

Team NGX- Game engine

•  Kineticjs take a time-out for focusing on other endeavors

•  It is going to service before long, but we cannot wait for their service.

Page 49: Capstone Project Final Presentation

Team NGX- Problem

•  Implementation to actual hockey game is little bit delayed

•  We decide to make hockey game only using html5.

à have to learn html5 animation

•  It needs to calculate velocity of user’s controller

•  We already have a calculating collision function

à We must speed up for progressing our project

Page 50: Capstone Project Final Presentation

Air Hockey Game

Page 51: Capstone Project Final Presentation

Team NGX- 7th weekend 51

Ikhwan Chang(Presenter)

-  Tested to communication between client and server

-  OSS Award: Failed

SangTae Lee & Dongkyoung Jo

-  Implementing Game part (animation effect, movement, collision)

-  Design 2D collision equation yet applied to hockey game.

Page 52: Capstone Project Final Presentation

Schedule 52

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Page 53: Capstone Project Final Presentation

Demo

Page 54: Capstone Project Final Presentation

Team NGX- 9th weekend

54

Ikhwan Chang(Presenter)

-  Redesign controller

-  Add to chat function in server and client.

SangTae Lee & Dongkyoung Jo

-  Add to Score and Game Ending Message

-  Tried to more smooth game

-  Change ball from vector to image

-  Add to sound effect

Page 55: Capstone Project Final Presentation

Schedule 55

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Extra Game Controller

Sound Effect and Other Effects

Page 56: Capstone Project Final Presentation

Team NGXProblems from demonstration

56

1. There is not enough to adjust hockey game rule(e.g. puck cannot move opposite area)

2. There is no sound effect(it means game is looks like air hockey but not really)

3. Game is too simple

4. Game is too monotone(it is not enough to game since there is no image)

Page 57: Capstone Project Final Presentation

Team NGXAdd to chat

57

NGX Controller [Player 1] : Hey what r u doing now??

NGX AirHockey Game

Page 58: Capstone Project Final Presentation

Team NGXAdd to chat – source code

58

Ngx_qrctl.js NGX Server

Page 59: Capstone Project Final Presentation

Team NGX- 10th weekend

59

Ikhwan Chang(Presenter)

-  Fixed to server

-  Changed whole design

SangTae Lee & Dongkyoung Jo

-  Joined in ROTC Training

-  Since their main role is game logic, Ikwhan focused on game’s appearance in this week

-  Tried to find resources(sound, image)

-  Add to sound

Page 60: Capstone Project Final Presentation

Schedule 60

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Extra Game Controller

Sound Effect and Other Effects

Page 61: Capstone Project Final Presentation

Team NGXChange whole design

61

-  Replaced puck, pin from vector to image(design by Ikwhan)

-  Added to icy background image, relocated to score board

Page 62: Capstone Project Final Presentation

Team NGX 62 Add game control button in NGX controller

Add game sound

-  Game starting sound

-  Bump sound

Page 63: Capstone Project Final Presentation

Team NGX- 11th weekend

63

Ikhwan Chang

-  Optimize server

-  Try to solve blinking images problem

SangTae Lee (Presenter) & Dongkyoung Jo

-  Optimize game appearances (focus on collision).

-  Make ending point of game and enable to setting the point.

- Start to write final report.

Page 64: Capstone Project Final Presentation

Schedule 64

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Demo

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Extra Game Controller

Sound Effect and Other Effects Optimizing

Page 65: Capstone Project Final Presentation

Team NGXThere are some problems…

65

-  Blinking images(puck and pin).

-  When user control pin fast, it’s appearance is little strange.

Page 66: Capstone Project Final Presentation

Team NGX 66 Last week…

Add game control button in NGX controller

à Try to activate in the our game. But little bit delayed

Page 67: Capstone Project Final Presentation

Team NGX 67

This week…. -  Enable setting ending sore in NGX controller

-  Solve blinking problems

-  Adjust game coordinate (when we redesign whole game

, cooridinate was changed )

-  Optimize game logic continuously.

Page 68: Capstone Project Final Presentation

Schedule 68

Mid-term Exam

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16UI / layout

class, transaction Design

Server

Game

Demo

Architecturing

Set-up Default Layout

research about QR-Code processing

Solve to minor problems

Apply QR-Code library to our game

Sync w/server

Sync w/client

JS Library Optimizing implementation to

build QR-Code image processing

Optimizing

1st Demo Final Report

Default Game Appearance

packing JavaScript Library

OSS Challenge deadline(28th Sep)

We’re now

Extra Game Controller

Sound Effect and Other Effects Optimizing

Page 69: Capstone Project Final Presentation

Team NGX Team NGX

Air Hockey Web Game

(using ngxqrctl.js)

Team Mission

- Make new user experience in a web

- Make best web maintenance environment

- Share our source code within worldwide developers

Team Member & Role(Revised)

69

Name Part

Ikwhan Chang NGX Web Server, QR Controller JavaScript Library

Sangtae Lee AirHockey Game Client

Dongkyoung Jo UI Design

Page 70: Capstone Project Final Presentation

Introduction Project Name

•  Responsive Air Hockey Web Game

What is this?

•  Air Hockey Game based on Web

•  Remote Controlling via QR Code

•  Server is based on NGXRCS

(NGXRCS : NGX Remote Control Server, our previous final production which is notification-based web

server)

Page 71: Capstone Project Final Presentation

Goal 71

1) optimize NGXRCS(NGX Remote Control Server) more smoother and faster.

2) make our NGXRCS via QR-code and Javascript Library(jQuery Plugin) : NGX QR Controller, ngxqrctl.js

3) make simple responsive game based on HTML/JavaScript and ngxqrctl.js : Air Hockey Game

Server optimizationGoogle Cloud Server(IaaS)

OptimizeProvide for developer to our js library(jQuery Plugin)

Ngxqrctl.jsProvide our Air Hockey Game for demonstration(how to use our ngxqrctl.js)

Air Hockey Game(Demo)

Page 72: Capstone Project Final Presentation

Air hockey rules 72

-  There are two players

-  If puck goal in the my section hole, the opposite play get 1 point.

-  A puck is on a host player's section at first. It means a host player attacks first. but, in the next game, the winner of previous game gets a right to attack first.

-  If a player get a 15 or 18 points, finally the player win the game.

-  Players cannot touch puck which is in opposite player section.

-  There is time limit to play game speedly.

Page 73: Capstone Project Final Presentation

Client #1

Modified – Server Env 73

Server

Routing

Socket.io (Push Server) Client #N

.���. . . . .

Push Data���(JSON)

Push Data���(JSON)

Page 74: Capstone Project Final Presentation

Client #1

Modified – Server Env 74

Server

Routing

Socket.io (Push Server) Client #N

.���. . . . .

Push Data���(JSON)

Push Data���(JSON)

Page 75: Capstone Project Final Presentation

Modified – IaaS 75

Before – Customized Server

After – Google Cloud

Page 76: Capstone Project Final Presentation

Modified 76

Removed function

•  Chatting : It is not useful

•  KineticJS: Since KineticJS opensource project was closed, we could not use this framework.

Page 77: Capstone Project Final Presentation

Problem 77

•  O/S was changed(4th week)

•  We provided web server from SK since we joined open source award challenge but we could not use windows server since there was license problem of Windows Server.

•  So they provide only server based on Linux

•  Moreover, we failed to challenge OSS award(So, SK planet could not provide server anymore)

•  => That’s why we move server from us to Google Cloud.

Page 78: Capstone Project Final Presentation

Problem 78

•  Cannot use KineticJS

•  Kineticjs take a time-out for focusing on other endeavors

•  It is going to service before long, but we cannot wait for their service.

Page 79: Capstone Project Final Presentation

Before & After 79

Modified Feature Before After

Server H/W Server provided by SK Google Cloud Platform

Server O/S Windows 2013 Server Enterprise R2 CentOS 7

Game – Appearance Using the image of puck and pin Using the vector(SVG) of puck and pin

Game Engine KineticJS Pure-HTML5 Canvas

Client – the function of controller Chatting Button control(Start/Pause/Resume)

Client – QR Code Appearance QR with inner status message QR with color variation belong to the

status of user

Page 80: Capstone Project Final Presentation

Result 80

Game Intro

After user scanned qr-code

Page 81: Capstone Project Final Presentation

Result 81

Game Main

Page 82: Capstone Project Final Presentation

Result 82

•  Game Controller

•  MoveXY : User can control their puck using touch pad

•  Game: User can set game score / User can pause/resume that game.

Page 83: Capstone Project Final Presentation

Demo http://github.com/MatthewLAB/NGX_PROJECT

Page 84: Capstone Project Final Presentation

To be implementation Server Client

Server : npm(kind of node.js ‘s package) Client : jQuery Plugin All they will provide with opensource(most of plugin already do that)

ngx_rcs.js (plugin)

ngx_qrctl.js (plugin)

Page 85: Capstone Project Final Presentation

Q&A

Page 86: Capstone Project Final Presentation

thanks!