꽃미남 프로그래머 김포프가 창립한 탑 프로그래머 양성 교육 기관 POCU 아카데미 오픈!
절찬리에 수강생 모집 중!
프로그래밍 언어 입문서가 아닌 프로그래밍 기초 개념 입문서
문과생, 비전공자를 위한 프로그래밍 입문책입니다.
jobGuid 꽃미남 프로그래머 "Pope Kim"님의 이론이나 수학에 치우치지 않고 실무에 곧바로 쓸 수 있는 실용적인 셰이더 프로그래밍 입문서 #겁나친절 jobGuid "1판의내용"에 "새로바뀐북미게임업계분위기"와 "비자관련정보", "1판을 기반으로 북미취업에 성공하신 분들의 생생한 경험담"을 담았습니다.
Posted by 비회원

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

<Crayon Physics Deluxe>

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

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


<Angry Bird>


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






  이 엔진의 제작자는 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 소스코드부터 시작하시는게 어떨까 추천해봅니다~!!!

 

댓글을 달아 주세요