#gdc09 #review State-Based Scripting in Uncharted 2: Among Thieves
얼~ Lisp. custom syntax는 괄호 압박만 이겨낼 수 있다면 Lisp가 유리하다. 뭐니 뭐니 해도 계속 잘 써왔으니깐 쭉 사용하는 것 같기도 하다. 초반 도입이 어려웠을 텐데 해냈네.
Emacs를 써서 그런지 꽤 괜찮아 보인다. FSM을 지원하는 state scripts다.
track이라 네이밍 마음에 든다. signal 지원 안 하면 이동 속도로 대충 sleep 시간 때려 넣어서 구현하곤 하더라.
tag라 해서 뭔가 했네. state script에 넘기는 named argument.
당연히 디버깅 정보에 공을 들여야 한다. 현재 스테이트와 실행 중인 코드 출력은 기본.
함수 구현은 이런 식.
이제 게임 디자이너가 빌드를 깰 수 있게 됐다. 크래시도 낼 수 있다. 계속 토닥이며 발전시켜야 한다. 아니면 잠깐 스크립트를 지원했다가 모두 프로그래머가 직접 짜는 이전으로 돌아온다.
Lisp를 스크립트 언어로 썼다고? 와~ Game Engine Architecture 책을 쓴 Jason Gregory 발표라고? 와~ 이렇게 와와 그리면서 봤다.
링크
- 발표자: Jason Gregory (Naughty Dog Inc.)
- 발표자료: gdcvault.com
- 발표자료: slideshare.net