게임제작/강좌

[GML]게임메이커 스튜디오로 게임프로그래밍의 기초를 공부하자 #2

게임코드프리 2018. 11. 6. 09:00
반응형

#게임메이커 기초강좌 #게임메이커 게임만들기 #프로그래밍 기초


게임메이커 스튜디오 강좌~게임을 만들기 위한 이해


게임을 만들기 위해서는 많은 것들을 이해하고 있어야 합니다.

쉽게 프로그래밍을 설명하자면 컴퓨터와의 대화하기 위한 방법인 언어이고

외국어처럼 상대가 알아들을 수 있도록 정해진 문법에 맞춰 이해를 시키는 것이 기본적입니다.

언어니까 당연.

오늘은 컴퓨터의 눈이 되는 화면에 대해 이야기 하려고 합니다. (저번에는 이동에 대해서 쓸거라 했지만...필자의 자유)



  • 화면의 이해! 좌표를 이해하자



우리가 보고있는 화면은 모두 픽셀로 구성되어있으며 흔히 말하는 해상도 역시 얼마나 많은 픽셀이 있는 화면인지를

나타내는 단위입니다. 프로그래밍에서 자주 등장하는 이 좌표에 대해서도 모른다면 어떠한 움직임도 줄 수 없기에

단순하게 생각하고 넘어가면 안되는 부분입니다.


x 와 y가 나오면 수학처럼 머리를 감싸고 괴로워 하는 분들을 위해 쉽게 설명하자면

가로와 세로입니다. (....그게 그건가)

화면의 구성은 모두 픽셀이 그려져 있는 것이고 그 화면의 구성을 아주 극대화 하여 확대해보면



이런식으로 되어있습니다. 알수없는 숫자들에 대해 설명하자면,

컴퓨터는 우리가 저기쯤이라는 단어를 보고 듣고 할 수 없기 때문에 하나하나 다 세어서 화면의 위치를 판단합니다.

괄호의 의미는 (가로,세로)이며 가로로 3칸 세로 아래로 5칸이라고 하면 (2,4)가 됩니다.

왜 x좌표 2이고 y좌표가 4냐고 의심하는 사람들은 배울 준비가 된 사람들입니다!


컴퓨터는 숫자를 0부터 셉니다.


이제 강좌를 제대로 이해하고 있다면 분홍색의 좌표를 맞춰보도록 해보세요.


이미 화면만 읽어봐도 써있지만...


좌표가 왜 중요한지 아직도 모르는 자들을 위해


예를들어 캐릭터를 이동을 시키려고 하는데 프로그램 명령어로 GO!하면 가는 것이 아닙니다. (있었으면 좋겠다)

혹은 워프를 시키려고 하는데 워프! 한다고 해서 되는 것이 아니므로

우리는 컴퓨터에게 상세하게 위치를 적어주어야 합니다.

상상력이 결여된 분들을 위해서 하나의 장면을 보여주면서 설명을 하자면,




(과거 제작하다 중단한 프로젝트 중 버그 장면)

이런 화면 역시도 가로와 세로를 모두 위에 설명한 좌표가 보이지 않게 존재하고 있습니다.

이런 캐릭터가 좌,우,아래,위로 움직이기 위해서 필요한 것이 좌표이며 복잡한 계산이나 프로그래밍 없이 이동시키려면

바로 x = x+1 혹은 x +=1 이런식으로 코드를 작성합니다.


오른쪽으로 가게 하려면 +를 사용하여 더해주는 것이고 왼쪽으로 가게 하려면 - 를 사용하여 좌표를 이동시켜주며

아래로 가기 위해서는 y 좌표를 + 위로 가기위해서는 - 좌표라는 것을 그냥 외워버려야 합니다.(...이해하려고 하면 더 헷갈림)


오른쪽과 아래는 플러스 , 왼쪽과 위는 마이너스 !!



또 한번위 좌표의 소중함을 알게되는 부분


게임을 만들다보면, 우리는 인터페이스를 만들어야 하는 상황을 맞이하게 됩니다.

예를들어 어떤 게이지 혹은 수많은 인터페이스들이 존재하는 게임을 만들다보면 

그 모든것들의 위치를 프로그래밍하여 써줘야 하므로... 많이 하다보면 자연스럽게 화면의 위치가 

어디쯤이겠구나 터득하게됩니다.


(제작중인 게임중 일부 이미지 작업은 아직...)


예를들어 이렇게 미친듯이 인터페이스를 보여줘야 하는 게임이 있다고 치면, 예쁘게 만들기 위해 포토샵을 이용하여

좌표를 적은 뒤 코드로 작성하는 방법도 있지만 두번 작업해야 하기에 대강 어느 위치쯤인지를 암산하기 시작합니다.


만약 게임의 화면으로 제작자가 600 x 300이라는 화면사이즈를 설정했다고 쳤을때

화면의 정 가운데 위치는 누가봐도 300 x 150 이겠지요. 이런식으로 몇 픽셀쯤에 두어야 하는지를 계산하여 

X와 Y값을 적는 형태입니다.


컴퓨터는 그래서 x, y로 위치를 판단한다


위에 언급한 내용처럼 화면의 모든 픽셀을 하나하나 세어가며 위치를 판단하는

컴퓨터를 위해 좌표에 대한 이야기를 해보았습니다.

화면의 띄우는 이미지나 혹은 캐릭터의 위치변화 , 움직임까지도 모두 주관하는 것이 바로 좌표이며

심지어 적과의 거리까지도 이 좌표로 계산한다는 것을 명심해야 합니다.

단순히 x축과 y축의 이야기지만 이것을 제대로 이해하고 있어야만 화면의 모든 구성을 자유롭게 

제작할 수 있으며 파생되는 것들이 너무나 많은 만큼 제대로 알고 있어야 합니다.



또 하나의 예시를 들자면 벌룬파이트같은 경우에 캐릭터가 좌측끝으로 이동하면 우측 끝으로 다시 나옵니다.

그것을 어떻게 했을지 한번 스스로 생각해보기 바랍니다. (위의 좌표에 대한 내용을 이해했다면 무척 쉬운 내용)

반응형
facebook twitter kakaoTalk kakaostory naver band shareLink
人気ブログランキングでフォロー