[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)EnlightenmentProject
[KOR][2nd E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
at 2nd EFL Korean Seminar 2014
https://phab.enlightenment.org/w/events/efl_korean_seminar_2014/
"메카 액션 게임 『DAEMON X MACHINA』 신념과 피와 강철의 개발사례" 강연 슬라이드의 한글 번역입니다.
원문:
https://www.slideshare.net/EpicGamesJapan/ue4-festeast2019-dxm
영상:
https://www.youtube.com/watch?v=jykrWtBQEz0
[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)EnlightenmentProject
[KOR][2nd E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
at 2nd EFL Korean Seminar 2014
https://phab.enlightenment.org/w/events/efl_korean_seminar_2014/
"메카 액션 게임 『DAEMON X MACHINA』 신념과 피와 강철의 개발사례" 강연 슬라이드의 한글 번역입니다.
원문:
https://www.slideshare.net/EpicGamesJapan/ue4-festeast2019-dxm
영상:
https://www.youtube.com/watch?v=jykrWtBQEz0
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
본 세션에서는 Protocol:hyperspace Diver의 개발 과정 전반에 대한 포스트 모템을 수행하며 기획적인 부분을 바탕으로 제기된 요구사항에 대응하기 위한 기술적인 이슈에 어떻게 대응하였는지를 살펴볼 예정입니다. 게임을 기획하며 게임에 어떤 기능들이 요구되었으며, 엔진 레벨에서부터 모바일 게임을 개발하는 과정에서 이런 요구사항들에 어떻게 대응하였는지를 살펴봅니다. 게임을 위한 전체적인 설계 및 문제 해결 전략과 각각의 문제 해결 과정에서 세부 내용에 대한 기술적 노하우를 공유합니다.
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for UnrealKyu-sung Choi
강력한 시각화와 몰입도 높은 가상세계 표현을 위해, 게임엔진은 측량기반의 콘텐츠를 필요로 하고 공간정보 3D 플랫폼은 강력한 프리미엄급 클라이언트를 필요로 하는데, Cesium for Unreal은 이런 수요를 만족하는 솔루션입니다. 이 발표자료는 공간정보 3D 콘텐츠가 어떻게 게임엔진 안으로 들어가서 국가 또는 지구 범위로 확장성을 발휘하는지, 그 기능구현을 진입단계 수준으로 소개하고 있습니다.
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
본 세션에서는 Protocol:hyperspace Diver의 개발 과정 전반에 대한 포스트 모템을 수행하며 기획적인 부분을 바탕으로 제기된 요구사항에 대응하기 위한 기술적인 이슈에 어떻게 대응하였는지를 살펴볼 예정입니다. 게임을 기획하며 게임에 어떤 기능들이 요구되었으며, 엔진 레벨에서부터 모바일 게임을 개발하는 과정에서 이런 요구사항들에 어떻게 대응하였는지를 살펴봅니다. 게임을 위한 전체적인 설계 및 문제 해결 전략과 각각의 문제 해결 과정에서 세부 내용에 대한 기술적 노하우를 공유합니다.
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for UnrealKyu-sung Choi
강력한 시각화와 몰입도 높은 가상세계 표현을 위해, 게임엔진은 측량기반의 콘텐츠를 필요로 하고 공간정보 3D 플랫폼은 강력한 프리미엄급 클라이언트를 필요로 하는데, Cesium for Unreal은 이런 수요를 만족하는 솔루션입니다. 이 발표자료는 공간정보 3D 콘텐츠가 어떻게 게임엔진 안으로 들어가서 국가 또는 지구 범위로 확장성을 발휘하는지, 그 기능구현을 진입단계 수준으로 소개하고 있습니다.
14. 캔버스 / 렌더링 엔진 (Evas)
• Scene Graph 기반 렌더링
• 화면에 출력 가능한 모든 오브젝트 상태를 트래킹
• 각 오브젝트의 화면 출력을 담당
• 폰트, Glyph 렌더링, 이미지 로딩, 스케일링, 블렌딩 등
• 렌더링 최소화
• 오직 변경된 영역만 화면 출력(Parital Rendering)
• 가려서 보이지 않는 객체를 식별하여 렌더링에서 제외
• 렌더링 최적화
• OpenGL, Software, SIMD(MMX, SSE, SSE3, NEON)
• Retained Mode 렌더링
• 애플리케이션이 직접 Drawing Command를 요청하지 않음
• Idle enterer에서 rendering을 수행
15. 캔버스 / 렌더링 엔진 (Evas)
• Automated update handling
• Start here
16. 캔버스 / 렌더링 엔진 (Evas)
• Automated update handling
• Next frame is here
17. 캔버스 / 렌더링 엔진 (Evas)
• Automated update handling
• Calculate actual update region deltas
18. 캔버스 / 렌더링 엔진 (Evas)
• Automated update handling
• Only draw updated regions
19. 캔버스 / 렌더링 엔진 (Evas)
• Automated update handling
• Result
21. 고급 GUI & 스크립트 엔진 (Edje)
• Complex Graphical Design and Layout library
• EDC 스크립트 언어 제공
• C 코드 없이 GUI 작성 가능
• 애플리케이션을 다음으로 분리 가능
• A graphical part: GUI Layout binary (.edc)
• A functionality: Executable logic binary (.c)
• 파일 타입
• .edc: Edje Text script file
• .edj: GUI layout binary
22. 고급 GUI & 스크립트 엔진 (Edje)
collections { //A theme
group { name: “elm/naviframe/base/default”; //A style of a theme
images {
image: “naviframe_bg.png” COMP; //Declare image resource to be used in this group
image: “naviframe_bg2.png” COMP;
}
parts {
part { name: “base frame”; //This base layout consists of one base frame part
type: IMAGE;
scale: 1; //Enable scailibility
mouse_events: 0; //Disable mouse events
description { state: “default” 0.0; //Default status of this base frame
align: 0.5 0.5; //Align this part based on its group
rel1 { relative: 0 0; offset: 0 0; } //Relative position (left top)
rel2 { relative: 1 1; offset: -1 -1; } //Relative position (right bottom)
image {
normal: “naviframe_bg.png” //This part uses “naviframe_bg.png“ image
}
}
}
}
• EDC Example
23. 고급 GUI & 스크립트 엔진 (Edje)
.edc .cCompile-time
Run-time .edj
executable
edje_cc compile
Elm_layoutload
Run
26. 위젯 라이브러리 (Elementary)
• 위젯 종류
• 일반 위젯
• 시각적 외양을 가짐: 버튼, 레이블, 체크박스, 리스트, 이미지 …
• 컨테이너 위젯
• 레이아웃 구성에 필요: Scroller, Layout, Box, Table, Grid …
• 스크린 확장성
• 해상도/스크린 크기에 따른 Scalability 제공
• 테마
• 같은 위젯 이더라도 테마에 따른 다양한 Look & Feel 구성 가능
• 디바이스 프로파일
• 구동 환경에 따른 Configurable한 위젯 동작 및 특성 제공