프로그래밍 언어 입문서가 아닌 프로그래밍 기초 개념 입문서
문과생, 비전공자를 위한 프로그래밍 입문책입니다.
jobGuid 꽃미남 프로그래머 "Pope Kim"님의 이론이나 수학에 치우치지 않고 실무에 곧바로 쓸 수 있는 실용적인 셰이더 프로그래밍 입문서 #겁나친절 jobGuid "1판의내용"에 "새로바뀐북미게임업계분위기"와 "비자관련정보", "1판을 기반으로 북미취업에 성공하신 분들의 생생한 경험담"을 담았습니다.
Posted by 최재규

  물리엔진이라면 당연히 3D 세계에서나 필요하다고 여기는 때가 있었죠. 그때 갑자기 엄청 신기한 2D 게임 하나가 나옵니다.

<Crayon Physics Deluxe>

  자신이 직접 손으로 그린 그림이 그 모양 그대로 게임세계에서 물체로써 동작하는 아이디어를 보여주었습니다. 해당 물리엔진의 제작자도 Sweet (아아~ 달콤해~) 라며 좋아하시네요ㅎㅎ (링크
)
 

  또한 각종 플래시 게임에서 간단한 2D 물리들을 이용한 게임들이 등장하기 시작했습니다. 그러다가 2D 물리를 이용한  대박 게임이 나왔습니다. 바로 학교폭력근절 친구 앵그리버드(Angry Bird)죠~!! (무려 다운로드 수가 3억 5천이랍니다;;;)


<Angry Bird>


  두 게임에는 공통점이 있습니다. 바로 같은 물리엔진을 사용했는데요. Box2D 라는 물리 엔진입니다.



< http://box2d.org >



  이 엔진의 제작자는 Erin Catto 라는 아저씨구요. 현재 블리자드에서 디아블로3 랙돌을 담당하는 것으로 보입니다. (이번 GDC 2012에서 디아블로3 랙돌 관련 발표를 하셨네요. (발표자료 : http://box2d.googlecode.com/files/GDC2012_ErinCatto_Ragdolls.pdf)


< Erin Catto, Twitter: @erin_catto >

  Box2D 엔진은 완전 공개용이구요. 앵그리버드 처럼 초대박이 났어도 에린 까또 아저씨한테는 땡전한푼 안들어가나 봅니다. 앵그리버드 만든 아저씨한테 크레딧이라도 올려달라고 정중하게 말씀드리네요~ㅎㅎ

Erin: “Hi Peter, could you tell me which physics engine Angy Birds uses?”

Peter:
 “Box2D”

Erin:
 “Great. Would you consider giving credit to Box2D in your game?”

Peter:
 “Yes, of course”

Erin:
 “Thank you! By the way, I am Erin Catto the creator of Box2D”

Peter:
 “Great! I would like to talk to you after the session”
  




  Box2D 엔진 소스는 아래 주소에서 받으실 수 있습니다.


  보통 물리엔진을 만들고 싶어서 공개용 소스를 열어보면 방대한 양에 어디서부터 봐야할지 감이 잘 안옵니다. Box2D도 다른 공개 물리엔진 보다 그 크기가 작긴 하지만 처음 입문하는 사람이 보기에는 쉽지 않죠~ (사용자가 아닌 물리 엔진 제작 입문자로써..)

  그래서 에린 까또 아저씨는 순수하게 박스로만 강체 물리를 구현하는 매우 가볍지만 라이트하고 작지만 스몰하고 짧지만 쇼트한 Box2D Lite 코드를 공개해주셨습니다. Box2D 본 엔진과는 전혀 상관없이 독립적으로 실행되는 완전한 2D 물리 예제입니다.


  동영상을 보시면, 기본적인 강체 물리가 정확히 구현된 것을 확인하실 수 있습니다. (동영상 후반부에는 시소도 있고 흔들다리도 있습니다.)


< 실행 동영상, 중간에 난입하는 녹색 박스는 스페이스 키를 누르면 랜덤으로 발사된다.>


  물리 엔진을 처음 공부하시는 분들은 엔진의 전반적인 흐름이 어떻게 흘러가는지 이 Box2D Lite 소스코드부터 시작하시는게 어떨까 추천해봅니다~!!!

 

댓글을 달아 주세요

  1. Favicon of http://rhea.pe.kr/ Rhea 2012.03.14 02:34  댓글주소  수정/삭제  댓글쓰기

    모 블로거의 "본격개발만화"(자칭)시리즈에도 등장하죠.
    https://t1.daumcdn.net/cfile/tistory/171EDE514E46884E21
    핵심은 눈에 보이는 모델과 별도로 해당 정점에 대한 가속도 값이겠지요.

  2. Favicon of https://gamedevforever.com ozlael 2012.03.14 03:37 신고  댓글주소  수정/삭제  댓글쓰기

    우왕 땜빵이당

  3. Favicon of http://https://twitter.com/#!/dozingLamb/following/tweets 잠자는양 2012.03.14 13:21  댓글주소  수정/삭제  댓글쓰기

    본문의 내용과 다른 내용인데요..
    "둠3분석" 관련 글은 더 이상 못보는 건가요??

    • 최재규 2012.03.15 11:08  댓글주소  수정/삭제

      아닙니다. 현재 블로그 책 출판 관련 집필 중이어서 그쪽에 집중하고 있구요. 개인사정이 있어서 약간 지연이 되고 있습니다. 4월부터는 다시 둠3 글을 보실 수 있습니다.

    • Favicon of http://https://twitter.com/#!/dozingLamb/following/tweets 잠자는양 2012.03.15 14:50  댓글주소  수정/삭제

      둠3 관련글 기대하겠습니다

  4. Favicon of https://gamedevforever.com 돼지홍 2012.03.14 16:46 신고  댓글주소  수정/삭제  댓글쓰기

    오오오!~ 일이 있어서 저도 못했는데 ㅠ.ㅠ 14일에 이런 좋은 글이 ㅠ.ㅠ

  5. 소실된유물 2012.04.30 16:46  댓글주소  수정/삭제  댓글쓰기

    ㅎㅎ 안그래도 물리를 좋아해서 관심 많던 분야인데, 좋은 프로그램 알고 가요 ㅎㅎ