SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
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
한마디로 정의 하기란....
유니티엔진의 coroutine 응용
coroutine1.js
평행
result
StartCoroutine
Same as....
StartCoroutine(foo,param);
StartCoroutine("foo",param);
foo(param);
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
Comming up next
어느 댓글이....
Q&A

Weitere ähnliche Inhalte

Andere mochten auch

김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법
성훈 김
 
2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인
홍준 김
 
120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseer120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseer
Chan-hyun Park
 
인공지능(Ai)
인공지능(Ai)인공지능(Ai)
인공지능(Ai)
민호 송
 
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
[데브루키] 유니티와 Play maker를 이용한 쉽고 빠른 게임 개발
MinGeun Park
 

Andere mochten auch (20)

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

Kgc2012강연 이석준