SlideShare ist ein Scribd-Unternehmen logo
1 von 28
HTML5 GAME APP
개발 및 이슈
2013-10-31
동국대학교 멀티미디어공학과 이창환 (YICH@DONGGUK.EDU)
목차
• HTML5 기술 동향
• HTML5 게임엔진 동향

2013 W3C HTML5 Day Conference

2

• HTML5 게임엔진:Cocos2d-HTML5
2013 W3C HTML5 Day Conference

3

HTML5 기술 동향
게임(멀티미디어) 관련 웹 기술
•

성능 부분
• 자바스크립트 해석기
• 실행방식:컴파일, 인터프리트, jit
• 자바스크립트 변환기
• C/C++ -> 자바스크립트 변환: Emscripten
• Asm.js
• 자바스크립트 바이트코드: 중간코드
• API 확장: Typed Array

• 쓰레기 수집기
멀티미디어 관련 API
•
•
•
•
•
•

웹GL
웹오디오
웹RTC/웹소켓
포인터 이벤트/게임패드 API
풀스크린 API
디바이스 API

2013 W3C HTML5 Day Conference

4

•
웹의 성능
• HTML/CSS 파싱
• DOM

• 렌더링
• 자바스크립트
• 자바스크립트 실행
• 자바스크립트 API: XHR, etc.

2013 W3C HTML5 Day Conference

5

• 네트워크
자바스크립트의 성능
•

자바스크립트 해석기
• 실행방식
• 인터프리트
• 컴파일: Javascript Bytecode 실행
• JIT 컴파일: 실행시간 중에 기계어 코드로 변환하여 실행
• Google Chrome의 V8
• 관련기술: Asm.js

•

쓰레기 수집기 (garbage collector)
• 쓰레기 수집: 불필요한 객체를 자동으로 회수

2013 W3C HTML5 Day Conference

6

• 60 fps (16ms), 100 ms or more
자바스크립트의 성능 향상
• ASM.JS
• asmjs.org
• Subset of JavaScript
• 자바스크립트 해석기의 JIT 컴파일을 위한 자바스크립트 코드
• C/C++ -> 자바스크립트 변환시 성능 향상

• 주요 기능
• Implicitly typed
• Typed Array

2013 W3C HTML5 Day Conference

7

function compiledCalculation() {
var x = f()|0; // x is a 32-bit value
var y = g()|0; // so is y
return (x+y)|0; // 32-bit addition, no type or overflow checks
}
8

2013 W3C HTML5 Day Conference
자바스크립트 변환기
(TRANSLATOR)
• C/C++
• Emscripten:(www.emscripten.org)
• Java

• Google Web Toolkit
• C#

2013 W3C HTML5 Day Conference

9

• CoffecScript, TypeScript, Dart
자바스크립트 API 확장
•

Typed Array
• The need to have an efficient way to handle binary data in WebGL.
• A slab of memory with a typed view into it
• Like how arrays work in C.
• The JavaScript engine can pass the memory directly to native libraries
• Better than JavaScript arrays for passing data to WebGL and other APIs
dealing with binary data.

• Typed array views
Single-type arrays to a segment of an ArrayBuffer.
Views for all the usual numeric types
Float32Array, Float64Array, Int32Array and Uint8Array.
Special view Uint8ClampedArray
The pixel array type in Canvas's ImageData

2013 W3C HTML5 Day Conference

10

•
•
•
•
•
자바스크립트 API 확장:TYPED ARRAY
JavaScript
Value: 123
Type: integer

Values
in
Array

[0]
[1]
[2]
[3]
[4]
[5]
…
[n-2]
[n-1]

Value: 123

Value: 123
Type: integer
Value: 123
Type: integer

…
Value: 123
Type: integer

[0]:123
[1]:123
[2]:123
[3]:123
[4]:123
[5]:123
…
[n-2]:123
[n-1]:123

11

Single
Value

Native
멀티미디어 관련 API
•

웹GL

• 웹을 위한 OpenGL JavaScript API
•

웹오디오
• Low-Level Audio API

•

웹RTC/웹소켓
• Media Capture, and p2p connection

•

포인터 이벤트/게임패드 API
• Mouse and Touch Event

•

풀스크린 API

•

디바이스 API

2013 W3C HTML5 Day Conference

12

• 웹스토리지, 인덱스드 데이터베이스, 오프라인 웹앱
• 파일 API
2013 W3C HTML5 Day Conference

13

HTML5 게임 엔진 동향
HTML5 게임엔진
• DOM/CSS 기반 게임엔진
• Canvas 기반 게임엔진

2013 W3C HTML5 Day Conference

14

• WebGL 기반 게임엔진
게임엔진
Native HTML5 게임엔진
•
•
•
•
•
•

Construct2
CocoonJS
ImpactJS
LimeJS
Cocos2d-HTML5

Cross-Platform HTML5 게임엔진
•
•
•
•
•

Unity
Unreal
Corona
GameSalad
Cocos2d-x

2013 W3C HTML5 Day Conference

15

•
CONSTRUCT2
• https://www.scirra.com/construct2
• IDE 제공

2013 W3C HTML5 Day Conference

16

• 다양한 플랫폼을 위한 결과물 생성
COCOONJS
• http://www.ludei.com/tech/cocoonjs
• Hybrid Apps의 PhoneGap과 유사한 역할

2013 W3C HTML5 Day Conference

17

• HTML5 게임은 Mobile App으로 변환시 사용
IMPACTJS
• http://impactjs.com/
• JavaScript Game Engine
• Demo

2013 W3C HTML5 Day Conference

18

• Drop: http://impactjs.com/drop/
• Video: http://impactjs.com/impact-oniphone-ipad-ipod-touch
LIMEJS
• http://www.limejs.com/
• JavaScript 기반 게임 엔진
• Demo

2013 W3C HTML5 Day Conference

19

• http://www.limejs.com/static/roundball/
index.html
UNITY
• http://unity3d.com/
• Multi-Platform Game Engine
• Desktop, Mobile, Web
• HTML5: WebGL 지원 예정

2013 W3C HTML5 Day Conference

20

• Flash를 통해 웹 환경 지원
UNREAL
• http://www.unrealengine.com/html5/
• 3D Game Engine
• Mozilla와 함께 HTML5 지원

2013 W3C HTML5 Day Conference

21

• ASM.JS + WebGL
CORONA
• http://www.coronalabs.com/
• Lua 기반 게임엔진
• 모바일 멀티플랫폼 지원
• iOS, Android, Kindle, NOOK

2013 W3C HTML5 Day Conference

22

• Hybrid Apps 형태로 HTML5 지원 예정
GAMESALAD
• http://gamesalad.com
• 모바일/PC/웹 지원
• iPhone, iPad, Mac, HTML5, Android

2013 W3C HTML5 Day Conference

23

• WYSIWYG 방식으로 2D 게임 개발
2013 W3C HTML5 Day Conference

24

HTML5 게임엔진
COCOS2D-HTML5
COCOS2D-HTML5, COCOS2D-X
•

Cocos2d-HTML5
• http://www.cocos2dx.org/projects/cocos2d-x/wiki/Cocos2dhtml5
• Javascript

•

Cocos2d-X
• C/C++ -> JavaScript
• www.cocos2d-x.org

•

From cocos2d-iPhone

•

Same JavaScript API

2013 W3C HTML5 Day Conference

25

• Cocos2d-X and Cocos2d-HTML5
2013 W3C HTML5 Day Conference

26

(출처:www.cocos2d-x.org)
SAMPLES
Cocos2d-HTML5 샘플
•
•
•
•
•
•

Hello World
Test cases
Template
MoonWarriors
Fruit Attack

Cocos2d-X 자바스크립트 샘플
•
•
•
•
•

CocosDragonJS
CrystalCraze
FruitAttack
Moon Warriors
WatermelonWithMe

2013 W3C HTML5 Day Conference

27

•
2013 W3C HTML5 Day Conference

28

질의 응답

Weitere ähnliche Inhalte

Was ist angesagt?

모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
Kenu, GwangNam Heo
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅
JinKwon Lee
 
그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기
Sangkyoon Nam
 
AWS 구축 경험 공유
AWS 구축 경험 공유AWS 구축 경험 공유
AWS 구축 경험 공유
민태 김
 
JavaScript 2014 프론트엔드 기술 리뷰
JavaScript 2014 프론트엔드 기술 리뷰JavaScript 2014 프론트엔드 기술 리뷰
JavaScript 2014 프론트엔드 기술 리뷰
Kenu, GwangNam Heo
 

Was ist angesagt? (20)

Goorm소개
Goorm소개Goorm소개
Goorm소개
 
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
 
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!
 
프론트엔드 개발자
프론트엔드 개발자프론트엔드 개발자
프론트엔드 개발자
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅
 
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
 
그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview
 
AWS 구축 경험 공유
AWS 구축 경험 공유AWS 구축 경험 공유
AWS 구축 경험 공유
 
쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL
 
응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular
 
WebAssembly 101
WebAssembly 101WebAssembly 101
WebAssembly 101
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
 
자바스크립트의 변천사
자바스크립트의 변천사자바스크립트의 변천사
자바스크립트의 변천사
 
오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5
 
JavaScript 2014 프론트엔드 기술 리뷰
JavaScript 2014 프론트엔드 기술 리뷰JavaScript 2014 프론트엔드 기술 리뷰
JavaScript 2014 프론트엔드 기술 리뷰
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교
 
Shader Driven
Shader DrivenShader Driven
Shader Driven
 

Ähnlich wie 2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈

WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010
Joone Hur
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Channy Yun
 
엔터프라이즈 웹 동향 및 적용사례
엔터프라이즈 웹 동향 및 적용사례엔터프라이즈 웹 동향 및 적용사례
엔터프라이즈 웹 동향 및 적용사례
욱래 김
 
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
Sang Seok Lim
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
Changhwan Yi
 

Ähnlich wie 2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈 (20)

WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
Datasnap web client
Datasnap web clientDatasnap web client
Datasnap web client
 
엔터프라이즈 웹 동향 및 적용사례
엔터프라이즈 웹 동향 및 적용사례엔터프라이즈 웹 동향 및 적용사례
엔터프라이즈 웹 동향 및 적용사례
 
W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
 
Html5 ie9
Html5 ie9Html5 ie9
Html5 ie9
 
[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것
 
모바일환경과 개발방향
모바일환경과 개발방향 모바일환경과 개발방향
모바일환경과 개발방향
 
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _01 HTML5/WebSocket으로 Pong 게임 만들기
 
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
 
Python on Android
Python on AndroidPython on Android
Python on Android
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
 
RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기 RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 

Mehr von Changhwan Yi

W3C HTML5 KIG-The near future of the web platform
 W3C HTML5 KIG-The near future of the web platform W3C HTML5 KIG-The near future of the web platform
W3C HTML5 KIG-The near future of the web platform
Changhwan Yi
 

Mehr von Changhwan Yi (13)

Web sessions in Developer Conferences
Web sessions in Developer ConferencesWeb sessions in Developer Conferences
Web sessions in Developer Conferences
 
JavaScript Engine and WebAssembly
JavaScript Engine and WebAssemblyJavaScript Engine and WebAssembly
JavaScript Engine and WebAssembly
 
동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능
 
동국대 앱창작터 4일차:Cocos2d-X 고급기능
동국대 앱창작터 4일차:Cocos2d-X 고급기능동국대 앱창작터 4일차:Cocos2d-X 고급기능
동국대 앱창작터 4일차:Cocos2d-X 고급기능
 
동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능
 
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
 
W3C HTML5 KIG-The near future of the web platform
 W3C HTML5 KIG-The near future of the web platform W3C HTML5 KIG-The near future of the web platform
W3C HTML5 KIG-The near future of the web platform
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 games
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술
 
W3C HTML5 KIG-Typed Arrays
W3C HTML5 KIG-Typed ArraysW3C HTML5 KIG-Typed Arrays
W3C HTML5 KIG-Typed Arrays
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
 
W3C HTML5 KIG-How to write low garbage real-time javascript
W3C HTML5 KIG-How to write low garbage real-time javascriptW3C HTML5 KIG-How to write low garbage real-time javascript
W3C HTML5 KIG-How to write low garbage real-time javascript
 
W3C HTML5 KIG-HTML5 Game Performance Issue
W3C HTML5 KIG-HTML5 Game Performance IssueW3C HTML5 KIG-HTML5 Game Performance Issue
W3C HTML5 KIG-HTML5 Game Performance Issue
 

2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈

  • 1. HTML5 GAME APP 개발 및 이슈 2013-10-31 동국대학교 멀티미디어공학과 이창환 (YICH@DONGGUK.EDU)
  • 2. 목차 • HTML5 기술 동향 • HTML5 게임엔진 동향 2013 W3C HTML5 Day Conference 2 • HTML5 게임엔진:Cocos2d-HTML5
  • 3. 2013 W3C HTML5 Day Conference 3 HTML5 기술 동향
  • 4. 게임(멀티미디어) 관련 웹 기술 • 성능 부분 • 자바스크립트 해석기 • 실행방식:컴파일, 인터프리트, jit • 자바스크립트 변환기 • C/C++ -> 자바스크립트 변환: Emscripten • Asm.js • 자바스크립트 바이트코드: 중간코드 • API 확장: Typed Array • 쓰레기 수집기 멀티미디어 관련 API • • • • • • 웹GL 웹오디오 웹RTC/웹소켓 포인터 이벤트/게임패드 API 풀스크린 API 디바이스 API 2013 W3C HTML5 Day Conference 4 •
  • 5. 웹의 성능 • HTML/CSS 파싱 • DOM • 렌더링 • 자바스크립트 • 자바스크립트 실행 • 자바스크립트 API: XHR, etc. 2013 W3C HTML5 Day Conference 5 • 네트워크
  • 6. 자바스크립트의 성능 • 자바스크립트 해석기 • 실행방식 • 인터프리트 • 컴파일: Javascript Bytecode 실행 • JIT 컴파일: 실행시간 중에 기계어 코드로 변환하여 실행 • Google Chrome의 V8 • 관련기술: Asm.js • 쓰레기 수집기 (garbage collector) • 쓰레기 수집: 불필요한 객체를 자동으로 회수 2013 W3C HTML5 Day Conference 6 • 60 fps (16ms), 100 ms or more
  • 7. 자바스크립트의 성능 향상 • ASM.JS • asmjs.org • Subset of JavaScript • 자바스크립트 해석기의 JIT 컴파일을 위한 자바스크립트 코드 • C/C++ -> 자바스크립트 변환시 성능 향상 • 주요 기능 • Implicitly typed • Typed Array 2013 W3C HTML5 Day Conference 7 function compiledCalculation() { var x = f()|0; // x is a 32-bit value var y = g()|0; // so is y return (x+y)|0; // 32-bit addition, no type or overflow checks }
  • 8. 8 2013 W3C HTML5 Day Conference
  • 9. 자바스크립트 변환기 (TRANSLATOR) • C/C++ • Emscripten:(www.emscripten.org) • Java • Google Web Toolkit • C# 2013 W3C HTML5 Day Conference 9 • CoffecScript, TypeScript, Dart
  • 10. 자바스크립트 API 확장 • Typed Array • The need to have an efficient way to handle binary data in WebGL. • A slab of memory with a typed view into it • Like how arrays work in C. • The JavaScript engine can pass the memory directly to native libraries • Better than JavaScript arrays for passing data to WebGL and other APIs dealing with binary data. • Typed array views Single-type arrays to a segment of an ArrayBuffer. Views for all the usual numeric types Float32Array, Float64Array, Int32Array and Uint8Array. Special view Uint8ClampedArray The pixel array type in Canvas's ImageData 2013 W3C HTML5 Day Conference 10 • • • • •
  • 11. 자바스크립트 API 확장:TYPED ARRAY JavaScript Value: 123 Type: integer Values in Array [0] [1] [2] [3] [4] [5] … [n-2] [n-1] Value: 123 Value: 123 Type: integer Value: 123 Type: integer … Value: 123 Type: integer [0]:123 [1]:123 [2]:123 [3]:123 [4]:123 [5]:123 … [n-2]:123 [n-1]:123 11 Single Value Native
  • 12. 멀티미디어 관련 API • 웹GL • 웹을 위한 OpenGL JavaScript API • 웹오디오 • Low-Level Audio API • 웹RTC/웹소켓 • Media Capture, and p2p connection • 포인터 이벤트/게임패드 API • Mouse and Touch Event • 풀스크린 API • 디바이스 API 2013 W3C HTML5 Day Conference 12 • 웹스토리지, 인덱스드 데이터베이스, 오프라인 웹앱 • 파일 API
  • 13. 2013 W3C HTML5 Day Conference 13 HTML5 게임 엔진 동향
  • 14. HTML5 게임엔진 • DOM/CSS 기반 게임엔진 • Canvas 기반 게임엔진 2013 W3C HTML5 Day Conference 14 • WebGL 기반 게임엔진
  • 15. 게임엔진 Native HTML5 게임엔진 • • • • • • Construct2 CocoonJS ImpactJS LimeJS Cocos2d-HTML5 Cross-Platform HTML5 게임엔진 • • • • • Unity Unreal Corona GameSalad Cocos2d-x 2013 W3C HTML5 Day Conference 15 •
  • 16. CONSTRUCT2 • https://www.scirra.com/construct2 • IDE 제공 2013 W3C HTML5 Day Conference 16 • 다양한 플랫폼을 위한 결과물 생성
  • 17. COCOONJS • http://www.ludei.com/tech/cocoonjs • Hybrid Apps의 PhoneGap과 유사한 역할 2013 W3C HTML5 Day Conference 17 • HTML5 게임은 Mobile App으로 변환시 사용
  • 18. IMPACTJS • http://impactjs.com/ • JavaScript Game Engine • Demo 2013 W3C HTML5 Day Conference 18 • Drop: http://impactjs.com/drop/ • Video: http://impactjs.com/impact-oniphone-ipad-ipod-touch
  • 19. LIMEJS • http://www.limejs.com/ • JavaScript 기반 게임 엔진 • Demo 2013 W3C HTML5 Day Conference 19 • http://www.limejs.com/static/roundball/ index.html
  • 20. UNITY • http://unity3d.com/ • Multi-Platform Game Engine • Desktop, Mobile, Web • HTML5: WebGL 지원 예정 2013 W3C HTML5 Day Conference 20 • Flash를 통해 웹 환경 지원
  • 21. UNREAL • http://www.unrealengine.com/html5/ • 3D Game Engine • Mozilla와 함께 HTML5 지원 2013 W3C HTML5 Day Conference 21 • ASM.JS + WebGL
  • 22. CORONA • http://www.coronalabs.com/ • Lua 기반 게임엔진 • 모바일 멀티플랫폼 지원 • iOS, Android, Kindle, NOOK 2013 W3C HTML5 Day Conference 22 • Hybrid Apps 형태로 HTML5 지원 예정
  • 23. GAMESALAD • http://gamesalad.com • 모바일/PC/웹 지원 • iPhone, iPad, Mac, HTML5, Android 2013 W3C HTML5 Day Conference 23 • WYSIWYG 방식으로 2D 게임 개발
  • 24. 2013 W3C HTML5 Day Conference 24 HTML5 게임엔진 COCOS2D-HTML5
  • 25. COCOS2D-HTML5, COCOS2D-X • Cocos2d-HTML5 • http://www.cocos2dx.org/projects/cocos2d-x/wiki/Cocos2dhtml5 • Javascript • Cocos2d-X • C/C++ -> JavaScript • www.cocos2d-x.org • From cocos2d-iPhone • Same JavaScript API 2013 W3C HTML5 Day Conference 25 • Cocos2d-X and Cocos2d-HTML5
  • 26. 2013 W3C HTML5 Day Conference 26 (출처:www.cocos2d-x.org)
  • 27. SAMPLES Cocos2d-HTML5 샘플 • • • • • • Hello World Test cases Template MoonWarriors Fruit Attack Cocos2d-X 자바스크립트 샘플 • • • • • CocosDragonJS CrystalCraze FruitAttack Moon Warriors WatermelonWithMe 2013 W3C HTML5 Day Conference 27 •
  • 28. 2013 W3C HTML5 Day Conference 28 질의 응답