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

질의 응답

More Related Content

PDF
Html5 게임 기술의 개요
PPTX
Web assembly 맛보기
PPTX
The LESS 기초 : The Dynamic Styleshee Language Basic
PDF
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
PDF
Cloud ide를 이용한_모바일_개발의_가능성과_전망
PPTX
PDF
Inside node.js
PDF
웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트
Html5 게임 기술의 개요
Web assembly 맛보기
The LESS 기초 : The Dynamic Styleshee Language Basic
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Inside node.js
웹 소프트웨어 시대의 새로운 롤(role) 모델, 자바스크립트

What's hot (20)

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

Similar to 2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈 (20)

PPTX
Game engine 2011
PDF
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
PDF
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
PDF
Html5+js with game engine cocos2d-html5 분석 @KGC2012
PDF
NAVER의 웹/HTML5환경 대응 현황
PDF
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
PDF
[111217 아꿈사연말모임] 웹소켓과온라인게임
PPTX
MultiPlatformAnd3D
PPTX
Game Play System
PPT
PPTX
코히런트 Gt(coherent gt) 통합 및 간단한 사용법
PDF
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
PDF
차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)
PPTX
JS Game Engines
PPT
모바일 웹플랫폼 기술 동향
PDF
[152] 웹브라우저 감옥에서 살아남기
PPTX
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
PDF
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
PPTX
유니티 고급 과정 -1-
PDF
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
Game engine 2011
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
Html5+js with game engine cocos2d-html5 분석 @KGC2012
NAVER의 웹/HTML5환경 대응 현황
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[111217 아꿈사연말모임] 웹소켓과온라인게임
MultiPlatformAnd3D
Game Play System
코히런트 Gt(coherent gt) 통합 및 간단한 사용법
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
차세대 모바일 웹 UI/UX 기술 및 표준화 동향 (기조발표)
JS Game Engines
모바일 웹플랫폼 기술 동향
[152] 웹브라우저 감옥에서 살아남기
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
유니티 고급 과정 -1-
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템

More from Changhwan Yi (14)

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

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