ݺߣ

ݺߣShare a Scribd company logo
Coroutine 과 FSM
비동기식 게임프로그래밍 패턴




              우석대학교 이석준(도플광
              어)
목차

● Game(Event) loop
● Coroutine in unity3d
● Coroutine in HTML5
  ○ CallBack
  ○ Promise
Game(Event) loop
우리는 대부분의 코드들을 동기식으로 만들어
왔다.
동기식 코딩

scanf(....); //이름 입력받고
printf(....); //이름 출력하고...
예전에(지금도?) 이거 많이 보셨죠?
Blocking
Thread 의 맛은?


    Bitter or Honey?!


               Opps?!
질문하나?
쓰레드내에서 주로 어떤 코드를 집어넣나요?
답....
주로 먼가를 기다림
한마디로 주로 놀고 있음...ㅡ.ㅡ;
?!!
      Designed Danger
Kgc2012강연  이석준
한마디로 정의 하기란....
유니티엔진의 coroutine 응용
Kgc2012강연  이석준
coroutine1.js
평행
result
StartCoroutine
Same as....
StartCoroutine(foo,param);
StartCoroutine("foo",param);
foo(param);
Kgc2012강연  이석준
result
Yield Instruction
yield [coroutine | YieldInstruction]

YieldInstruction 이 조건에 맞을때 또는 코루틴
이 종료할때까지 계속 실행을 보류한다.
setTimeout


                              그렇지만 나도
                              할 말은 있다!!




그럼 ...html5 에서의 JS 는?!
Callback
JS
$('#Player-SceneNode').click(
   function() { //event callback function
   // process click event
   }
);
setTimeout 의 오해와 진실

console.log('1');
setTimeout(function() {
   console.log('2');
   },1000);
someting_do_10sec();

//1 ..... 10초 경과후 .... 2
Promise
A tool for making and composing asynchronous
promises in JavaScript

https://github.com/kriskowal/q
Kgc2012강연  이석준
Comming up next
어느 댓글이....
Q&A
Ad

Recommended

4. 함수포인터
4. 함수포인터
Hoyoung Jung
포인터의기초 (2) - 포인터 사용하기1
포인터의기초 (2) - 포인터 사용하기1
Hoyoung Jung
포인터의 기초(1)
포인터의 기초(1)
Hoyoung Jung
Programming & language
Programming & language
Junghoon Jee
021볶수와친해짶기
021볶수와친해짶기
Changwon National University
You can read go code
You can read go code
Homin Lee
Python vs Java @ PyCon Korea 2017
Python vs Java @ PyCon Korea 2017
Insuk (Chris) Cho
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
Yongha Kim
잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표
Seokmin No
Deferred decal
Deferred decal
민웅 이
Gamification (spicy marketing)
Gamification (spicy marketing)
Kwan Hang Cho
기획학과 A 11학번 김의환
기획학과 A 11학번 김의환
kyhss1805
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법
성훈 김
게임 기획자 대체 뭐하는 놈들일까
게임 기획자 대체 뭐하는 놈들일까
상준 이
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
포프 김
2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인
홍준 김
120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseer
Chan-hyun Park
광운대[바람] 4.vhdl fsm
광운대[바람] 4.vhdl fsm
NAVER D2
Game Design patterns, Visitor, State, FSM pattern
Game Design patterns, Visitor, State, FSM pattern
Young Ha Kim
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
흥배 최
디자인 패턴
디자인 패턴
수빈 박
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희
changehee lee
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
MinGeun Park
5장 그래프의 비밀 (Programming Game AI by Example)
5장 그래프의 비밀 (Programming Game AI by Example)
hyun soomyung
Asynchronous 101 - (1)
Asynchronous 101 - (1)
MinChul Lee
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
flashscope

More Related Content

Viewers also liked (20)

[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
Yongha Kim
잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표
Seokmin No
Deferred decal
Deferred decal
민웅 이
Gamification (spicy marketing)
Gamification (spicy marketing)
Kwan Hang Cho
기획학과 A 11학번 김의환
기획학과 A 11학번 김의환
kyhss1805
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법
성훈 김
게임 기획자 대체 뭐하는 놈들일까
게임 기획자 대체 뭐하는 놈들일까
상준 이
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
포프 김
2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인
홍준 김
120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseer
Chan-hyun Park
광운대[바람] 4.vhdl fsm
광운대[바람] 4.vhdl fsm
NAVER D2
Game Design patterns, Visitor, State, FSM pattern
Game Design patterns, Visitor, State, FSM pattern
Young Ha Kim
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
흥배 최
디자인 패턴
디자인 패턴
수빈 박
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희
changehee lee
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
MinGeun Park
5장 그래프의 비밀 (Programming Game AI by Example)
5장 그래프의 비밀 (Programming Game AI by Example)
hyun soomyung
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
Yongha Kim
잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표
Seokmin No
Gamification (spicy marketing)
Gamification (spicy marketing)
Kwan Hang Cho
기획학과 A 11학번 김의환
기획학과 A 11학번 김의환
kyhss1805
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법
성훈 김
게임 기획자 대체 뭐하는 놈들일까
게임 기획자 대체 뭐하는 놈들일까
상준 이
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
포프 김
2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인
홍준 김
120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseer
Chan-hyun Park
광운대[바람] 4.vhdl fsm
광운대[바람] 4.vhdl fsm
NAVER D2
Game Design patterns, Visitor, State, FSM pattern
Game Design patterns, Visitor, State, FSM pattern
Young Ha Kim
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
흥배 최
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희
changehee lee
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
MinGeun Park
5장 그래프의 비밀 (Programming Game AI by Example)
5장 그래프의 비밀 (Programming Game AI by Example)
hyun soomyung

Similar to Kgc2012강연 이석준 (7)

Asynchronous 101 - (1)
Asynchronous 101 - (1)
MinChul Lee
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
flashscope
유니티3D coroutine 활용
유니티3D coroutine 활용
Sangwook Kwon
190421 coroutine
190421 coroutine
Hyeon-Woo Sa
코루틴(ǰdzܳپԱ)
코루틴(ǰdzܳپԱ)
QooJuice
[25]안드로이드에서 코루틴은 어떻게 적용할 수 있을까?: 코루틴 적용 및 ReactiveX(RxJava/RxKotlin)와 비교한다면?
[25]안드로이드에서 코루틴은 어떻게 적용할 수 있을까?: 코루틴 적용 및 ReactiveX(RxJava/RxKotlin)와 비교한다면?
NAVER Engineering
Data-Oriented Design과 유니티 DOTS
Data-Oriented Design과 유니티 DOTS
Sukwoo Lee
Asynchronous 101 - (1)
Asynchronous 101 - (1)
MinChul Lee
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
flashscope
유니티3D coroutine 활용
유니티3D coroutine 활용
Sangwook Kwon
코루틴(ǰdzܳپԱ)
코루틴(ǰdzܳپԱ)
QooJuice
[25]안드로이드에서 코루틴은 어떻게 적용할 수 있을까?: 코루틴 적용 및 ReactiveX(RxJava/RxKotlin)와 비교한다면?
[25]안드로이드에서 코루틴은 어떻게 적용할 수 있을까?: 코루틴 적용 및 ReactiveX(RxJava/RxKotlin)와 비교한다면?
NAVER Engineering
Data-Oriented Design과 유니티 DOTS
Data-Oriented Design과 유니티 DOTS
Sukwoo Lee
Ad

Kgc2012강연 이석준