Ӥ온라인브랜딩유통젵ӕ서widecomms중소기업에서 제품을 제조하고 생산해내는데 까지는 무리없이 할 수 있으나 문제는 브랜딩과 마케팅입니다.
브랜드가 구축되지 않으면 중소기업 제품은 힘을 발휘하지 못합니다.
와이드커뮤니케이션즈는 중소제조기업들이 온라인상에서 브랜딩하고 유통하여 실질적인 매출이 발생될 수 있도록 온라인브랜딩유통을 대행해 드리고 있습니다. 많은 관심 바랍니다.
iFunEngine: 30분 만에 게임 서버 만들기iFunFactory Inc.Unity3d 기반의 간단한 멀티플레이어 게임을 만들고,
이를 위한 서버를 작성하면서
필요한 기능 확인
간단한 구현 보여주기
코드: https://github.com/iFunFactory/demo-kgc-2015/
O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장Wooseok Seo“기술로 배달 서비스를 선도하는 O2O 대표주자, 요기요”
안녕하세요. 알지피코리아에서 요기요 서비스를 책임지고 있는 서우석 CTO입니다.
대한민국은 아마도 전세계에서 가장 배달을 많이 시키고, 배달 서비스가 발전되어 있는 나라일 것입니다.
요기요와 같은 서비스가 있기 전에 우리는 어떻게 배달 주문을 했을까요? 그리고 배달 주문을 하면서 얼마나 많은 고충을 겪어왔을까요?
주말에, 그리고 저녁에 갑자기 짜장면이 먹고 싶을 때 우리는 집 어딘가에 있는 전단지를 찾아야 했습니다.
그런데 비슷한 중국집 이름 때문인지 전에 맛이 어땠는지 전혀 기억이 나질 않습니다.
어쨌든 전화를 걸어 음식을 주문하게 되는데, 정말 아이러니하게도 분명 지난주에 “이집 맛없어서 다시는 안시켜야지”했던 집에서 또 배달이 옵니다.
귀식이 곡할 노릇이죠.
어쨌든, 초창기 배달앱 서비스들은 전단지, 소위 찌라시라고 하는 것들을 그대로 모바일 서비스로 옮겨오는 형태였습니다.
저는 이와 같은 형태를 가장 초기단계의 O2O 서비스라고 하는데요, 아시겠지만 O2O 서비스의 개념 정의 자체가 너무 광범위하고 다소 추상적이며, 서비스에 따라서 필수조건이라든지 요구 사항들, 심지어는 정의 자체도 다릅니다. 때문에 저는 O2O라는 광범위한 의미보다는 좀더 다른 용어로 배달앱 서비스의 과거와 현재, 그리고 미래를 얘기해보고자 합니다.
전단지를 모바일에서 제공하는 형태의 서비스를 저는 P2P, Physical to Physical. 오프라인에 존재하는 서비스나 물건, 그 자체를 온라인으로 옮겨오는 형태입니다.
이와 같은 서비스들은 많은 장점이 있습니다.
내가 전단지를 보관할 필요도 없고, 원한다면 언제든지 찾을 수 있으니까요. UI가 엉망이긴 하지만, 그럭저럭 스크롤해서 사용해 볼 수 있습니다.
하지만 이와 같은 P2P는 초기 진입자에게만 선점 효과가 있을 뿐 좀더 다른 시각으로 서비스를 제공하는 후발주자가 나타날 경우 시간이 갈수록 선점 효과가 떨어집니다. 특히 후발주자가 머리가 똑똑하다면요.
어쨌든 P2P 단계에서는 기존의 주문 형태와 거의 다를 바가 없습니다. 그래서 사람들이 쉽다고 생각하죠. 그런데 그와 동시에 기존 시장이 갖고 있던 문제들을 그대로 보유하고 있습니다. 전화를 직접해야 하는 불편함, 메뉴를 선택해야 하는 불편함 등입니다. P2P 서비스를 하나의 단어로 표현하면 “접근성”입니다.
그 다음 단계는 Physical to Digital 입니다. 물리적인 형태를 그대로 옮겨오는 것이 아니라 해당 서비스의 컨텐츠를 디지
서비스디자인컨설팅 활용가이드북 - 한국디자인진흥원한국디자인진흥원 공공서비스디자인PD사업명 : 2011. 글로벌전문기술개발(주력및신산업)
과제명 : 디자인컨설팅프레임워크 고도화 및 서비스디자인 통합 디자인컨설팅 프레임워크 개발
주관기관 : 한국디자인진흥원
총괄책임자 : 강필현
연구 결과물 :
'서비스디자인컨설팅 활용가이드북'
본 자료에서는 서비스디자인을 위한 방법론이 어떠한 것들이 있는지 살펴보고자 한다.
서비스디자인 프레임의 단계별 특성에 적합한 서비스디자인 모듈과 예시를 기술하며, 서비스디자인 컨설팅 프로젝트를 수행하는데 있어 기초자료로서의 활용을 목적으로 한다.
디자인컨설팅활용가이드북에서 제시된 서비스디자인 컨설팅 프레임워크는 크게 4단계의 프로세스에 따른 8개의 모듈(Module)과 24개의 모듈별 과제(Task), 그리고 39가지의 실행 도구(Tool)들로 이루어져 있다.
ㅇ Abstract
서비스디자인은 넓게는 서비스를 구성하는 사람과 서비스 시스템의 상호작용, 좁게는 서비스를 구성하는 요소들과 서비스 채널간의 상호작용 관계를 분석하고 그로부터 서비스를 계획하고 디자인하는 행위를 말한다.
위와 같은 목적을 달성하기 위해 서비스 디자인 방법론들이 등장하고 있으며, 이는 고객(또는 서비스 참여자)의 요구사항을 이해 하는데 주목적으로 하고 있다.
본 연구자료에서는 최근 관심이 높아지고 있는 서비스디자인의 방법론에 관한 프레임워크와 툴킷을 다루고 있다.
앞서 논의한 바와 같이 서비스디자인은 서비스의 본질적 특성으로 인해 전통적인 산업디자인 방법론과는 차별화된 방법론적 접근이 필요하다.
따라서, 본 자료에서는 서비스디자인을 위한 방법론이 어떠한 것들이 있는지 살펴보고자 한다.
서비스디자인 프레임의 단계별 특성에 적합한 서비스디자인 모듈과 예시를 기술하며, 서비스디자인 컨설팅 프로젝트를 수행하는데 있어 기초자료로서의 활용을 목적으로 한다.
----------------------------------------------------------------------------------------------
ㅇ Contents
Step 01. 서비스 이해 단계
Module01. 클라이언트 분석 (Client Audit)
Module02. 서비스 대외요소 분석 (Service Providers Audit)
Step 02. 서비스 분석 및 원칙 수립 단계
Module03. 서비스 맥락 분석 (Service Context Audit)
Module04. 서비스 원칙 수립 (Service Principle Development)
Step 03. 서비스 컨셉 및 아이디어 개발 단계
Module05. 서비스 컨셉 개발 (Service Concept Development)
Module06. 서비스 아이디어 구체화 (Service Idea Generation)
Step 04. 서비스 평가 및 수행 단계
Module07. 서비스 평가 (Service Evaluation
Module08. 서비스 실행 (Service Delivery)
Appendix
----------------------------------------------------------------------------------------------
* 본 연구는 지식경제부에서 시행한 디자인기술개발사업 중
"디자인컨설팅 프레임워크 개발(2011-2012)" 사업의 일환으로 시행된 연구성과물 입니다.
* 출처 : http://www.designdb.com/dtrend/trend.r.asp?menupkid=190&pkid=13501
* 관련 글 : 서비스디자인 툴 레퍼런스북 http://cafe.naver.com/usable/1886
Digital Marketing Trends for 2016 by YDM's Innovation Center (Korean)Yello Digital Marketing 1. 2015 saw the further evolution of digital marketing, with big data becoming more important and personalized, real-time messages being delivered through programmatic techniques. Personalized content increased user engagement.
2. Mobile brought the biggest changes to media consumption and content distribution, allowing content to reach global audiences anywhere, anytime. This opens new opportunities for marketers.
3. Digital platforms provide more functions and services deeply embedded in consumer lives, related to search, consumption, communication, and sharing.
[메조미디어] 2015 상반기 업종분석 자료 - 화장품MezzoMedia2015년 상반기
광고 집행 분석 총결산
8개 주요 업종 별
소비자 및 광고비 집행 분석까지!
2015년 상반기 디지털 흐름을
지금 바로 확인 해 보세요!
http://www.mezzomedia.co.kr/
2003 Spring NewsletterDirect Relief Susan Fowler, Director of Programs for Direct Relief International, received a prestigious humanitarian award from the Diwaliben Charitable Trust of India for her work alleviating suffering in developing countries. As Direct Relief's liaison in India for 15 years, Fowler has overseen the distribution of tens of millions of dollars in aid, including after a devastating 2001 earthquake. Direct Relief President Thomas Tighe praised Fowler for embodying the organization's mission of respecting those served and empowering self-sufficiency.
Arh2050 1730 syllabusProfWillAdamsThis course is a survey of art history from the Paleolithic era through the Proto-Renaissance period. Students will analyze paintings, sculptures, and architecture and their relationship to contemporary societies. The course requires writing assignments and has various assessments including quizzes, exams, projects, and journal entries. Students will be evaluated on attendance, participation, quizzes, written assignments, a research project, and exams. The syllabus outlines the schedule, assignments, policies, and resources for the course.
Arh2050 sarcophagus lid homeworkProfWillAdamsThis document provides information about an art history course titled "The History of Art: Part I". The course is offered on Tuesdays from 5:45-8:15 PM at the Ocala Campus Fine Arts Building. The professor is Will Adams and his contact information and office hours are provided. The document also includes a homework assignment asking students to decorate their own sarcophagus lid by drawing their face and choosing 10 symbols that represent things important to them, along with explaining each symbol in a sentence.
2008 annual reportDirect Relief Direct Relief International's 2008 annual report summarizes the organization's 60 years of humanitarian work and key activities from the past year. In 3 sentences:
Direct Relief was founded in 1948 to provide aid to people in postwar Europe and has since expanded its global health programs while maintaining a focus on helping the poor access medical care. The report highlights international and domestic programs, emergency response efforts, and financial results from 2008. It also recognizes Direct Relief's continued partnership approach and guiding principles of efficiency and respect after 60 years of humanitarian assistance.
Ӥ온라인브랜딩유통젵ӕ서widecomms중소기업에서 제품을 제조하고 생산해내는데 까지는 무리없이 할 수 있으나 문제는 브랜딩과 마케팅입니다.
브랜드가 구축되지 않으면 중소기업 제품은 힘을 발휘하지 못합니다.
와이드커뮤니케이션즈는 중소제조기업들이 온라인상에서 브랜딩하고 유통하여 실질적인 매출이 발생될 수 있도록 온라인브랜딩유통을 대행해 드리고 있습니다. 많은 관심 바랍니다.
iFunEngine: 30분 만에 게임 서버 만들기iFunFactory Inc.Unity3d 기반의 간단한 멀티플레이어 게임을 만들고,
이를 위한 서버를 작성하면서
필요한 기능 확인
간단한 구현 보여주기
코드: https://github.com/iFunFactory/demo-kgc-2015/
O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장Wooseok Seo“기술로 배달 서비스를 선도하는 O2O 대표주자, 요기요”
안녕하세요. 알지피코리아에서 요기요 서비스를 책임지고 있는 서우석 CTO입니다.
대한민국은 아마도 전세계에서 가장 배달을 많이 시키고, 배달 서비스가 발전되어 있는 나라일 것입니다.
요기요와 같은 서비스가 있기 전에 우리는 어떻게 배달 주문을 했을까요? 그리고 배달 주문을 하면서 얼마나 많은 고충을 겪어왔을까요?
주말에, 그리고 저녁에 갑자기 짜장면이 먹고 싶을 때 우리는 집 어딘가에 있는 전단지를 찾아야 했습니다.
그런데 비슷한 중국집 이름 때문인지 전에 맛이 어땠는지 전혀 기억이 나질 않습니다.
어쨌든 전화를 걸어 음식을 주문하게 되는데, 정말 아이러니하게도 분명 지난주에 “이집 맛없어서 다시는 안시켜야지”했던 집에서 또 배달이 옵니다.
귀식이 곡할 노릇이죠.
어쨌든, 초창기 배달앱 서비스들은 전단지, 소위 찌라시라고 하는 것들을 그대로 모바일 서비스로 옮겨오는 형태였습니다.
저는 이와 같은 형태를 가장 초기단계의 O2O 서비스라고 하는데요, 아시겠지만 O2O 서비스의 개념 정의 자체가 너무 광범위하고 다소 추상적이며, 서비스에 따라서 필수조건이라든지 요구 사항들, 심지어는 정의 자체도 다릅니다. 때문에 저는 O2O라는 광범위한 의미보다는 좀더 다른 용어로 배달앱 서비스의 과거와 현재, 그리고 미래를 얘기해보고자 합니다.
전단지를 모바일에서 제공하는 형태의 서비스를 저는 P2P, Physical to Physical. 오프라인에 존재하는 서비스나 물건, 그 자체를 온라인으로 옮겨오는 형태입니다.
이와 같은 서비스들은 많은 장점이 있습니다.
내가 전단지를 보관할 필요도 없고, 원한다면 언제든지 찾을 수 있으니까요. UI가 엉망이긴 하지만, 그럭저럭 스크롤해서 사용해 볼 수 있습니다.
하지만 이와 같은 P2P는 초기 진입자에게만 선점 효과가 있을 뿐 좀더 다른 시각으로 서비스를 제공하는 후발주자가 나타날 경우 시간이 갈수록 선점 효과가 떨어집니다. 특히 후발주자가 머리가 똑똑하다면요.
어쨌든 P2P 단계에서는 기존의 주문 형태와 거의 다를 바가 없습니다. 그래서 사람들이 쉽다고 생각하죠. 그런데 그와 동시에 기존 시장이 갖고 있던 문제들을 그대로 보유하고 있습니다. 전화를 직접해야 하는 불편함, 메뉴를 선택해야 하는 불편함 등입니다. P2P 서비스를 하나의 단어로 표현하면 “접근성”입니다.
그 다음 단계는 Physical to Digital 입니다. 물리적인 형태를 그대로 옮겨오는 것이 아니라 해당 서비스의 컨텐츠를 디지
서비스디자인컨설팅 활용가이드북 - 한국디자인진흥원한국디자인진흥원 공공서비스디자인PD사업명 : 2011. 글로벌전문기술개발(주력및신산업)
과제명 : 디자인컨설팅프레임워크 고도화 및 서비스디자인 통합 디자인컨설팅 프레임워크 개발
주관기관 : 한국디자인진흥원
총괄책임자 : 강필현
연구 결과물 :
'서비스디자인컨설팅 활용가이드북'
본 자료에서는 서비스디자인을 위한 방법론이 어떠한 것들이 있는지 살펴보고자 한다.
서비스디자인 프레임의 단계별 특성에 적합한 서비스디자인 모듈과 예시를 기술하며, 서비스디자인 컨설팅 프로젝트를 수행하는데 있어 기초자료로서의 활용을 목적으로 한다.
디자인컨설팅활용가이드북에서 제시된 서비스디자인 컨설팅 프레임워크는 크게 4단계의 프로세스에 따른 8개의 모듈(Module)과 24개의 모듈별 과제(Task), 그리고 39가지의 실행 도구(Tool)들로 이루어져 있다.
ㅇ Abstract
서비스디자인은 넓게는 서비스를 구성하는 사람과 서비스 시스템의 상호작용, 좁게는 서비스를 구성하는 요소들과 서비스 채널간의 상호작용 관계를 분석하고 그로부터 서비스를 계획하고 디자인하는 행위를 말한다.
위와 같은 목적을 달성하기 위해 서비스 디자인 방법론들이 등장하고 있으며, 이는 고객(또는 서비스 참여자)의 요구사항을 이해 하는데 주목적으로 하고 있다.
본 연구자료에서는 최근 관심이 높아지고 있는 서비스디자인의 방법론에 관한 프레임워크와 툴킷을 다루고 있다.
앞서 논의한 바와 같이 서비스디자인은 서비스의 본질적 특성으로 인해 전통적인 산업디자인 방법론과는 차별화된 방법론적 접근이 필요하다.
따라서, 본 자료에서는 서비스디자인을 위한 방법론이 어떠한 것들이 있는지 살펴보고자 한다.
서비스디자인 프레임의 단계별 특성에 적합한 서비스디자인 모듈과 예시를 기술하며, 서비스디자인 컨설팅 프로젝트를 수행하는데 있어 기초자료로서의 활용을 목적으로 한다.
----------------------------------------------------------------------------------------------
ㅇ Contents
Step 01. 서비스 이해 단계
Module01. 클라이언트 분석 (Client Audit)
Module02. 서비스 대외요소 분석 (Service Providers Audit)
Step 02. 서비스 분석 및 원칙 수립 단계
Module03. 서비스 맥락 분석 (Service Context Audit)
Module04. 서비스 원칙 수립 (Service Principle Development)
Step 03. 서비스 컨셉 및 아이디어 개발 단계
Module05. 서비스 컨셉 개발 (Service Concept Development)
Module06. 서비스 아이디어 구체화 (Service Idea Generation)
Step 04. 서비스 평가 및 수행 단계
Module07. 서비스 평가 (Service Evaluation
Module08. 서비스 실행 (Service Delivery)
Appendix
----------------------------------------------------------------------------------------------
* 본 연구는 지식경제부에서 시행한 디자인기술개발사업 중
"디자인컨설팅 프레임워크 개발(2011-2012)" 사업의 일환으로 시행된 연구성과물 입니다.
* 출처 : http://www.designdb.com/dtrend/trend.r.asp?menupkid=190&pkid=13501
* 관련 글 : 서비스디자인 툴 레퍼런스북 http://cafe.naver.com/usable/1886
Digital Marketing Trends for 2016 by YDM's Innovation Center (Korean)Yello Digital Marketing 1. 2015 saw the further evolution of digital marketing, with big data becoming more important and personalized, real-time messages being delivered through programmatic techniques. Personalized content increased user engagement.
2. Mobile brought the biggest changes to media consumption and content distribution, allowing content to reach global audiences anywhere, anytime. This opens new opportunities for marketers.
3. Digital platforms provide more functions and services deeply embedded in consumer lives, related to search, consumption, communication, and sharing.
[메조미디어] 2015 상반기 업종분석 자료 - 화장품MezzoMedia2015년 상반기
광고 집행 분석 총결산
8개 주요 업종 별
소비자 및 광고비 집행 분석까지!
2015년 상반기 디지털 흐름을
지금 바로 확인 해 보세요!
http://www.mezzomedia.co.kr/
2003 Spring NewsletterDirect Relief Susan Fowler, Director of Programs for Direct Relief International, received a prestigious humanitarian award from the Diwaliben Charitable Trust of India for her work alleviating suffering in developing countries. As Direct Relief's liaison in India for 15 years, Fowler has overseen the distribution of tens of millions of dollars in aid, including after a devastating 2001 earthquake. Direct Relief President Thomas Tighe praised Fowler for embodying the organization's mission of respecting those served and empowering self-sufficiency.
Arh2050 1730 syllabusProfWillAdamsThis course is a survey of art history from the Paleolithic era through the Proto-Renaissance period. Students will analyze paintings, sculptures, and architecture and their relationship to contemporary societies. The course requires writing assignments and has various assessments including quizzes, exams, projects, and journal entries. Students will be evaluated on attendance, participation, quizzes, written assignments, a research project, and exams. The syllabus outlines the schedule, assignments, policies, and resources for the course.
Arh2050 sarcophagus lid homeworkProfWillAdamsThis document provides information about an art history course titled "The History of Art: Part I". The course is offered on Tuesdays from 5:45-8:15 PM at the Ocala Campus Fine Arts Building. The professor is Will Adams and his contact information and office hours are provided. The document also includes a homework assignment asking students to decorate their own sarcophagus lid by drawing their face and choosing 10 symbols that represent things important to them, along with explaining each symbol in a sentence.
2008 annual reportDirect Relief Direct Relief International's 2008 annual report summarizes the organization's 60 years of humanitarian work and key activities from the past year. In 3 sentences:
Direct Relief was founded in 1948 to provide aid to people in postwar Europe and has since expanded its global health programs while maintaining a focus on helping the poor access medical care. The report highlights international and domestic programs, emergency response efforts, and financial results from 2008. It also recognizes Direct Relief's continued partnership approach and guiding principles of efficiency and respect after 60 years of humanitarian assistance.
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...JinKwon LeeImplementing Web Based Online MultiPlyaer Tetris with OpenSource
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다Dae KimCloudBread는 클라우드 기반 무료 오픈소스 프로젝트로, 모바일 게임과 모바일 앱에 최적화된 게임 서버 엔진입니다. 이번 Unity United 세션에서는 어떻게 게임서버를 구축하고 Unity 게임에서 호출하는지 과정을 소개해 드립니다.
iOS7 Sprite Kit을 이용한 게임 개발Changwon National University이 자료는 2013년 11월 스마트 앱 개발자 포럼 세미나 발표자료 입니다.
애플사에서 iOS 7용 API로 추가한 Sprite Kit은 주로 게임 개발을 위하여 사용되는 스프라이트 API로 단순한 코딩으로 애니메이션을 쉽게 구현할 수 있습니다.
단 iOS에서 주로 사용되는 UIView 객체에는 적용할 수 없습니다. UIView 객체란 iOS의 UIImage, UIButton 등과 같은 기본 UI 객체입니다. Sprite Kit을 사용하게 되면 파티클 효과, 물리 효과, 스프라이트의 애니메이션 효과를 매우 쉽게 구현할 수 있습니다.
이 자료는 Sprite Kit의 특징과 간단한 샘플 코드를 통해 Sprite Kit을 이해할 수 있도록 하였습니다.
Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프Jinuk Kim게임테크 2014에서 발표했던 자료.
모바일 게임 서비스, 특히 게임 서버를 만들 때 사용가능한 기술들과, 각각의 기술을 고르는 디자인 선택과 그에 따르는 트레이드 오프를 다룬다.
14. 그래스
프로그래머
툴 물리 엔진
프로그래머 프로그래머
네트워크 인공 지능
프로그래머 프로그래머
Input 사운드
프로그래머 프로그래머
UI 게임 플레이
프로그래머 프로그래머
스크립터
15. 그래스
프로그래머
게임 플레이
프로그래머
UI
프로그래머
네트워크 툴
프로그래머 프로그래머
Input
프로그래머
DB 인공 지능
프로그래머 프로그래머
사운드
프로그래머
스크립터
물리 엔진
프로그래머
서버 컨텐츠 클라이언트
16. 컨텐츠 개발 컨셉
• 세션 중심 개발
• 유저와 서버 사이의 1:1 이벤트
• 존 입장 / 변경 / 퇴장
• 옵션 정보 저장
• 게임 외적인 이벤트
• 게임 오브젝트 중심 개발
• 게임 오브젝트들 사이의 이벤트
• 이동 / 공격 / 피격
• 아이템 떨어뜨리기 / 줍기
• 게임 내적인 이벤트
17. Core
Engine
Shodown
Contents
Tools
Server
Platform
18. Core
Engine
Contents
Logic
Server
Client Tools
26. 플레이어가
몬스터를
강베기 스킬로
공격한다
플레이어 모델을 띄운다
몬스터 모델을 띄운다
강베기 애니메이션을 재생한다
피격 애니메이션을 재생한다
데미지 계산을 한다
HP를 깎는다
이펙트를 터뜨린다
사운드를 재생시킨다
UI 연출을 한다 모델을 떻게?
애니메이션을 떻게?
이펙트 렌더링을 떻게?
사운드 재생을 떻게?
이미지를 화면에 떻게?
27. Client
Client
System
Server Logic
System Server
GameBase SinglePlay
Contents
System Test
28. 클라이언트 컨텐츠
공통 컨텐츠
서버 컨텐츠
클라이언트 실행 파일 / 모듈의 조합
로직 서버 실행 파일 / 모듈의 조합
싱글 테스트 실행 파일 / 모듈의 조합
29. GameBase
System
ServerSystem ClientSystem
LogicServer SinglePlayTest Client
33. 세션 중심 개발
• 유저와 서버 사이의 1:1 이벤트
• 존 입장 / 변경 / 퇴장
• 옵션 정보 저장
• 등 게임 외적인 이벤트
34. IAccept
Observer
ServerSession
Base
ServerBase
ServerObject
Base
Network Network
Manager Factory
IConnect
Observer
ClientBase
ClientSession
Base
ClientObject
Base
35. Server
Server Server Server Server Server
Session Session Session Session Session
Client Client Client Client Client
Session Session Session Session Session
Client Client Client Client Client
37. Accept
Observer
Server
Base
Client
Base
Network
Manager
38. Accept
Observer
Server
Base
Client
Base
Network
접속 Manager
39. Accept
Observer
Server
Base
Client
Base
Network
접속 Manager
40. Accept
Observer
Server
Base
Client
Session
생성 Client
Base
Network
접속 Manager
41. Accept
Observer
Server
Base
연결
Client
Session
생성 Client
Base
Network
접속 Manager
42. Accept
Observer
알림
Server
Base
연결
Client
Session
생성 Client
Base
Network
접속 Manager
43. User
Accept
Observer
알림
Server
Base
연결
Client
Session
생성 Client
Base
Network
접속 Manager
44. User
Accept
Observer
알림
Server
Session
Server
Base
연결
Client
Session
생성 Client
Base
Network
접속 Manager
45. User
Accept
Observer
알림
Server
Session
Server
Base
연결
연결
Client
Session
생성 Client
Base
Network
접속 Manager
46. User User
Accept
Observer
알림
Server Server
Session Session
Server
Base
연결
연결
Client Client
Session Session
생성 Client Client
Base Base
Network Network
접속 Manager Manager
64. 유저시퀀스는 추가복사 없이 데이터를 로직 코드로 바로 가져올 수 있다
유저 시퀀스의
스택 메모리에 할당됨
버퍼에서 데이터 Pop 하여
받으려는 변수로 바로 가져옴
Network - OnRecv()에서 실행
User – Update()에서 실행
Thread가 달라도 문제 없음
65. 메시지ID + 데이터 타입
메시지에서 사용할 데이터 형식 메시지 타입
선언한 순서로
메시지ID 할당
버퍼에 데이터 넣기
버퍼에서 데이터 꺼내기
67. 유저시퀀스의 로직은 모두 User 객체의 Update에서 실행되는 것을 보장한다
시퀀스 생성 메시지 도착
Resume
코루틴 생성 후 Wait() 만나면
Resume 데이터 Pop Resume
Yield Yield
Yield
코 루틴
User - Update User - Update
메인 루틴
: Network Thread
: Main Thread
91. 게임 오브젝트와 네트워크 통신
Server
NPC1 Player1 NPC2
Server Server
Server
Object Object
Object
Client Client Client Client Client Client
Object Object Object Object Object Object
NPC1 Player1 NPC2 NPC1 Player1 NPC2
Client Client
92. NPC1 Player1 NPC2
Server Server
Server
Object Object
Object
Server
Base
93. NPC1 Player1 NPC2
Server Server
Server
Object Object
Object
Server
Base
94. NPC1 Player1 NPC2
ID : 0 ID : 1 ID : 2
Server Server
Server
Object Object
Object
Server
Base
95. NPC1 Player1 NPC2
ID : 0 ID : 1 ID : 2
Server Server
Server
Object Object
Object
Server
Base
Client
Base
96. NPC1 Player1 NPC2
ID : 0 ID : 1 ID : 2
Server Server
Server
Object Object
Object
Server
Base
Client
Base
Client Client Client
Object Object Object
ID : 0 ID : 1 ID : 2
NPC1 Player1 NPC2
97. NPC1 Player1 NPC2
ID : 0 ID : 1 ID : 2
Server Server
Server
Object Object
Object
Server
Base
Client
Base
Client Client Client
Object Object Object
ID : 0 ID : 1 ID : 2
NPC1 Player1 NPC2
98. NPC1 Player1 NPC2
ID : 0 ID : 1 ID : 2
Server Server
Server
Object Object
Object
Server
Base
Client
Base
Client Client Client
Object Object Object
ID : 0 ID : 1 ID : 2
NPC1 Player1 NPC2
99. NPC1 Player1 NPC2
ID : 0 ID : 1 ID : 2
Server Server
Server
Object Object
Object
Server
Base
Client Client
Base Base
Client Client Client Client Client Client
Object Object Object Object Object Object
ID : 0 ID : 1 ID : 2 ID : 0 ID : 1 ID : 2
NPC1 Player1 NPC2 NPC1 Player1 NPC2
100. NPC1 Player1 NPC2
ID : 0 ID : 1 ID : 2
Server Server
Server
Object Object
Object
Server
Base
Client Client
Base Base
Client Client Client Client Client Client
Object Object Object Object Object Object
ID : 0 ID : 1 ID : 2 ID : 0 ID : 1 ID : 2
NPC1 Player1 NPC2 NPC1 Player1 NPC2
102. Action과 Message를 연결
Message가 ServerObject/ClientObject에 도착하면 연결된 Action 실행
Network
Action
Manager
생성
Server/ 함수
Client Action
Object
Network - OnRecv
103. 메시지ID + 데이터 타입
메시지에서 사용할 데이터 형식 메시지 타입
선언한 순서로
메시지ID 할당
버퍼에 데이터 넣기
버퍼에서 데이터 꺼내기
104. 액션 실행을 위한 네트워크로 받은
메시지를 받은 엔터티
함수포인터 메시지 버퍼
ServerObject와 연결 ClientObject와 연결
107. 액션과 네트워크 통신의 연결
메시지와 Action의 연결 선언
메시지와 Action의
데이터가 같아야만
컴파일이 된다
메시지와 Action의 연결 정의
120. Entity
Script Controller 정보
Controller
Manager lua_state에 입력
Entity별로
lua table과
lua thread 생성
Controller의 owner로 Controller Instance
EntityWrapper 생성 후 lua table 생성하여
Controller Instance Controller userdata와 연결
lua table에 “owner” Set
123. 떻게?!
Game Animation Physics Rendering Audio
Loop
124. Set up
Thread1
Game Thread2
Thread0 Thread3
Loop
Process
Result
125. 현재 구조를 보면…
• Controller는 Owner가 가지고 있는 것만 접근
-> Owner의 Component / Controller
• 다른 Entity에는 DoAction으로 할 일 전달
• Entity별로 Controller들 업데이트
Entity별로 Action Queue 처리
Component별로 업데이트
126. 다시 정리해보면
• Entity는 다른 Entity에 직접 접근 X
• Component는 다른 Component에 직접 접근 X
• Entity별로 Controller들 업데이트
Entity별로 Action Queue 처리
Component별로 업데이트
128. Set up
Thread1 Thread2
Thread0 Thread3 Controller
Set up
Thread0 Thread2
Game Thread1 Thread3 Action
Loop
Set up
Thread1
Thread0 Thread2 Thread3 Component
Process
Result
129. 유연한 컨텐츠 개발을 위해서
무조건 데이터 드리븐 X
컨텐츠와 컨텐츠가 아닌 것 분리
기능별로 모듈화
최대한 응집성이 떨어지지 않게
수치 데이터 + 로직 모듈 + 모듈 조합 스크립트 = 데이터드리븐