17

Click here to load reader

게임 클론하기

Embed Size (px)

DESCRIPTION

1학년 때 시작한건데, 마무리 짓고 싶다

Citation preview

Page 1: 게임 클론하기

Game Cloning & Fail

PoolC 홍철주

Page 2: 게임 클론하기

Game Cloning 시작하기

http://board.poolc.org/generation03/535

Page 3: 게임 클론하기

Game 고르기����������� ������������������  (1,����������� ������������������  2)

•Karoshi����������� ������������������  >����������� ������������������  본격����������� ������������������  죽는����������� ������������������  게����������� ������������������  목표인����������� ������������������  게임

Page 4: 게임 클론하기

설계하기����������� ������������������  (3)•게임에����������� ������������������  대한����������� ������������������  분석이����������� ������������������  여기에����������� ������������������  들어간다

http://board.poolc.org/generation11/277

Page 5: 게임 클론하기

일단����������� ������������������  구현!����������� ������������������  (4)

• C++ & DirectX

자기가����������� ������������������  하고����������� ������������������  싶은����������� ������������������  언어����������� ������������������  +����������� ������������������  라이브러리를����������� ������������������  적절히..

사실����������� ������������������  C++����������� ������������������  실력이����������� ������������������  매우����������� ������������������  비루함

DX도����������� ������������������  제대로����������� ������������������  할����������� ������������������  줄����������� ������������������  몰라����������� ������������������  

Page 6: 게임 클론하기

하면서����������� ������������������  배우자!

• C++ & DirectX

C++은����������� ������������������  그렇다치고����������� ������������������  DX는����������� ������������������  여기저기서����������� ������������������  자료를����������� ������������������  구하자

• 분석이����������� ������������������  중요한����������� ������������������  이유Karoshi����������� ������������������  같은����������� ������������������  경우는����������� ������������������  이미지����������� ������������������  출력말고의����������� ������������������  별����������� ������������������  다른����������� ������������������  기술없이����������� ������������������  제작����������� ������������������  가능

라이브러리����������� ������������������  선택을����������� ������������������  제대로..

물리����������� ������������������  엔진이����������� ������������������  있으면����������� ������������������  정말����������� ������������������  편할����������� ������������������  것����������� ������������������  같아..

Page 7: 게임 클론하기

분석이����������� ������������������  중요한����������� ������������������  이유����������� ������������������  (Cont.)

•그래픽����������� ������������������  라이브러리

•물리����������� ������������������  엔진

•사운드����������� ������������������  라이브러리

DX는����������� ������������������  적절한����������� ������������������  선택이었나?

여러가지����������� ������������������  알아봅시다����������� ������������������  -����������� ������������������  Box2D����������� ������������������  이용

(라이브러리����������� ������������������  분석����������� ������������������  포함)

Page 8: 게임 클론하기

일단����������� ������������������  시작해보자

•Class(間)����������� ������������������  구조����������� ������������������  짜는����������� ������������������  것은����������� ������������������  필수!

나는����������� ������������������  왜����������� ������������������  그러지����������� ������������������  않았는가

내공을����������� ������������������  쌓읍시다

Page 9: 게임 클론하기

일단����������� ������������������  시작해보자

•일단����������� ������������������  DX를����������� ������������������  쓰기����������� ������������������  쉽게����������� ������������������  Wrapping����������� ������������������  (����������� ������������������  DXMgr����������� ������������������  )

•Image,����������� ������������������  Surface����������� ������������������  등..

•그리고����������� ������������������  물리����������� ������������������  엔진����������� ������������������  (Box2D)을����������� ������������������  붙여보기

*����������� ������������������  붙인다는����������� ������������������  것의����������� ������������������  의미

DX와����������� ������������������  물리엔진에서����������� ������������������  쓰는����������� ������������������  단위의����������� ������������������  통일����������� ������������������  등..

객체(캐릭터����������� ������������������  등)을����������� ������������������  생성하면서����������� ������������������  조작하는데����������� ������������������  전혀����������� ������������������  문제가����������� ������������������  없어야����������� ������������������  함

Page 10: 게임 클론하기

물리엔진����������� ������������������  붙이기

•겪었던����������� ������������������  좋지����������� ������������������  않은����������� ������������������  문제����������� ������������������  :

DX는����������� ������������������  그래픽����������� ������������������  출력����������� ������������������  단위가����������� ������������������  px����������� ������������������  ����������� ������������������  Box2D는����������� ������������������  m

사실����������� ������������������  이는����������� ������������������  예상����������� ������������������  가능

또����������� ������������������  다른����������� ������������������  문제는����������� ������������������  좌표계가����������� ������������������  다르다는����������� ������������������  점

일단����������� ������������������  단위+좌표계����������� ������������������  변환����������� ������������������  함수로����������� ������������������  해결

Page 11: 게임 클론하기

일단����������� ������������������  붙이긴����������� ������������������  했다..

•이제����������� ������������������  해야할����������� ������������������  것은..

캐릭터����������� ������������������  만들기타일����������� ������������������  만들기

만����������� ������������������  해도����������� ������������������  기본적인����������� ������������������  게임����������� ������������������  완성?

Page 12: 게임 클론하기

캐릭터,����������� ������������������  타일����������� ������������������  만들기

•캐릭터����������� ������������������  클래스를����������� ������������������  만든다

캐릭터����������� ������������������  이미지����������� ������������������  넣고할����������� ������������������  수����������� ������������������  있는����������� ������������������  행동?

이동,����������� ������������������  점프,����������� ������������������  총����������� ������������������  쏘기

•타일����������� ������������������  클래스를����������� ������������������  만든다

필요한����������� ������������������  것은����������� ������������������  ‘밟으면����������� ������������������  일어나는����������� ������������������  일����������� ������������������  구현’

Page 13: 게임 클론하기

아주����������� ������������������  좋소?

•자,����������� ������������������  이제����������� ������������������  충돌����������� ������������������  체크만����������� ������������������  잘����������� ������������������  처리하면!

여기서����������� ������������������  적절치����������� ������������������  못하게����������� ������������������  FAIL

Why?

물리����������� ������������������  엔진의����������� ������������������  객체간����������� ������������������  통신����������� ������������������  방식����������� ������������������  파악����������� ������������������  실패

물리����������� ������������������  엔진에����������� ������������������  대한����������� ������������������  분석이����������� ������������������  많이����������� ������������������  부족

지금까지����������� ������������������  짜놓은����������� ������������������  클래스����������� ������������������  구조라면..����������� ������������������  그렇다고����������� ������������������  해서����������� ������������������  더����������� ������������������  이상����������� ������������������  클래스를����������� ������������������  키우면..성능����������� ������������������  상의����������� ������������������  문제도����������� ������������������  발생

Page 14: 게임 클론하기

Fail

사실����������� ������������������  계속����������� ������������������  끌어나가볼까하다가

더����������� ������������������  이상����������� ������������������  한다고����������� ������������������  해서����������� ������������������  구조상에서����������� ������������������  영����������� ������������������  좋지����������� ������������������  않고

새로운����������� ������������������  구조로����������� ������������������  다른����������� ������������������  게임을����������� ������������������  짜보는게����������� ������������������  좋겠다����������� ������������������  싶기도����������� ������������������  하고

output이����������� ������������������  없다는����������� ������������������  것이����������� ������������������  치명적이지만����������� ������������������  여러가지를����������� ������������������  배웠으니...

이미����������� ������������������  다중����������� ������������������  상속이라는����������� ������������������  점에서����������� ������������������  확장����������� ������������������  fail

Page 15: 게임 클론하기

CBES?

•Component����������� ������������������  based����������� ������������������  entity����������� ������������������  system

내가����������� ������������������  짰던����������� ������������������  게임에서는����������� ������������������  다중����������� ������������������  상속으로..

그냥 죽는거여

그렇다면����������� ������������������  기본����������� ������������������  요소를����������� ������������������  만들고

빈����������� ������������������  게임����������� ������������������  객체에����������� ������������������  기본����������� ������������������  요소를����������� ������������������  추가함으로써����������� ������������������  새로운����������� ������������������  특성의����������� ������������������  객체를����������� ������������������  만든다!

근데 이거 CBES 세미나 아님http://board.poolc.org/generation07/1000

Page 16: 게임 클론하기

여튼����������� ������������������  정리하면

•DX를����������� ������������������  좀����������� ������������������  써봐서����������� ������������������  좋았다

•그러나����������� ������������������  단시간����������� ������������������  내에����������� ������������������  짜보기엔����������� ������������������  적절치����������� ������������������  못했다

•CBES에����������� ������������������  대한����������� ������������������  것에����������� ������������������  대해����������� ������������������  공부를����������� ������������������  해보았다

‘슈퍼클래스’는 우월합니다

•물리엔진����������� ������������������  같이����������� ������������������  그런����������� ������������������  걸����������� ������������������  쓸����������� ������������������  때는����������� ������������������  맞춰줍시다

•사실����������� ������������������  물리����������� ������������������  엔진이����������� ������������������  있으면����������� ������������������  편했지����������� ������������������  없어도����������� ������������������  되었을����������� ������������������  듯

Page 17: 게임 클론하기

하고����������� ������������������  싶은����������� ������������������  말����������� ������������������  좀����������� ������������������  더����������� ������������������  있는데����������� ������������������  ㅠㅠ는����������� ������������������  끝

이걸����������� ������������������  발판����������� ������������������  삼아����������� ������������������  다시����������� ������������������  할����������� ������������������  거임