티스토리 뷰

Game/제작일지

[게임제작] 타일의 크기

유승구 2011. 11. 25. 12:15
전부터 생각해왔던 것이지만 RPG에서의 전투는 그 게임의 전부라고 봐도 무방할 것이다. 그렇기 때문에 많은 생각을 해보았는데 역시 RTS같은 전투의 세세함을 컨트롤 하기 보다는 최소의 조작으로 전투를 행하게 함이 플레이어의 피로도를 줄여주는 것 같았다. 무엇보다 내 맘대로 되지 않지만 Upgrade를 통해 손실을 이득으로 만들어주게 하는 것이 매력적인 것 같다.

머리속에는 스타크래프트 외의 전략게임들과 퍼스트퀸 시리즈, 좀비 바이러스가 생각난다.
그래서! 퍼스트퀸을 잠깐 분석을 해봤다. 물론 내부 소스는 아니고 리소스 분석이라 생각하면 되겠다.

[MAP 타일 크기]

배경에 깔아놓을 타일을 생각해보기로 했다.
사이즈가 16 x 16이다.

[캐릭터 크기]


놀랍게도 이녀석은 32x32다.
골렘같은 움직이는 스프라이트의 경우엔 더 클것이다.
타일이 작으니까 왠지 생각을 확장해야 할 것 같았다.
두서없게 들리겠지만 뜬금 없이 생각을 확장해야 하는지 밑의 그림을 보며 써보겠다.
(이건 일지인데 이렇게 자세하게 쓰는건 나조차 10일 후면 오늘의 나보다 생각이 더 둔해지기 때문이다.)


이 사진을 보면 알겠지만 퍼스트 퀸에서는 한마리를 다굴 할 때 최대 6명이 요 녀석을 공격한다.



그림을 좀 그려봤는데. 실제로 16타일에 32사이즈의 네모를 넣어서 만든 리얼한 시뮬레이션 그림이다. 아! 안드로이드에서 이걸로 테스트 해봐야겠군! 괜츊네....아 또 삼천포로;;;;;;;;;
큰 스프라이트 역시 이러한 형식으로 먹어 들어간다. 그렇다는건 요 알고리즘을 만들면 최소한 타일 위에서 움직일때 타일을 어떻게 먹어 들어가는지를 알 수 있게 되는 것이다.

혹시라도 본적이 있을 지 모르겠지만... Tonypa의 TBS를 봤던가 내가 만들어 놨던 요걸 안드로이드로 만들어 보는 것을 본적이 있다면 그전까지는 타일이 스프라이트보다 컸었다. 그래서 생각을 확장해야 겠구나 싶었던 것이다.

이제 좀 생각을 해봐야 할텐데... 일단 점심먹고 해야겠다.
휴가중에 이런 기특한 짓을 하다니.. 난 정말 대단한 놈인듯... ㅋㅋ
아 빨래도 널어야 하는데;; 밥먹고 다시 쓰겠다.

--- 12시 16분 ----
휘유~ 오후에는 일이 있어서 6:23분에 돌아오게 되었다.
다시 슬슬 작성을 해보도록 하겠다.

타일 이동은 어찌 보면 더 간단하게 생각이 들었다. 타일 공간을 4개 사용하게 되면서 코너 체크가 자동으로 이루어지게 된다. 확장을 생각해서 만들어야 할 것 같은데 이건 UML을 그려가며 생각을 해보도록 해야겠다.

다음 생각은 공격이다. 이런식으로 여러명이 붙게 되면 어떻게 공격하지? 를 판단해야 한다.
퍼스트퀸에서는 어떻게 하는지는 모르겠지만 몇가지 룰을 적용해서 나만의 방식을 만들기로 했다.

공격 Rule



1. 서로 노려보게 된다면 공격력을 적용 한다.


2. 위와 같은 상황의 경우엔! 위쪽을 아군 1, 아래쪽을 아군 2라고 한다면
아군 1은 적군을 2명을 바라보고 있다. 이럴 경우엔 공격력의 1/2을 각각 적용한다.
아군 2는 적군을 1명만 바라보고 있다. 이럴 경우에는 1번 경우와 동일하게 적용한다.
이건 마법도 동일 한데 원격 공격에 대해서는 거리 별로 적용 수치를 좀 바꿔 볼까? 싶다.

3. 공격 룰은 각 클래스별로 정해진 공격 Time에 따라 적용한다.
이동중이라 해도 위와 같이 서로 딱 붙어있는 경우라면! 공격 Time에 맞춰 공격을 시작한다. 무조건 붙으면 그때부터 타이머가 작동 된다. 

이동 Rule

매번 느끼지만 이동을 어떻게 해야 할지 이다.. 이건 참 애매 모호하다.
그리고 퍼스트 퀸에는 전투시 진형을 만들 수 있다. 있으면 좋을 것 같긴 한데.. 부대를 멋있게 배치할 때나 쓰지 실제 전투시에는 이런건 상관을 하지 않는다...;;;

차근 차근 이동 Rule을 생각해보면...

1. 적군의 위치 확인

전투가 시작되면 적군의 위치를 찾는다. 그리고 자신의 위치에서 가장 가까이 있는 적을 향해 이동한다.
위치를 찾을 때에는 A* 알고리즘을 활용한다.

2. 이동을 하면서 근처에 적이 있는 것을 확인 한다.

적이 확인되면 그쪽으로 방향을 선회 한다.


적을 향해 출동 할때 위에서 봤던 다굴의 상황이 이미 되어있다면 다음 타겟을 찾는다.
다음 타겟은 자신과 가장 가까이 있는 적들을 찾는다.
그리고 그쪽으로 다시 또 이동한다.

적들이 지고 있는 경우엔 6명을 빼고는 다 놀게 되니 이동도 못하고 적도 없다면 주인공 주변을 배회하며
진형을 만들고 쉰다.

에너지가 30% 이하로 떨어지면 휴식을 위해 진형을 탈출 한다.
탈출의 경우는 자신의 부대가 시작되는 점을 향해 이동한다. 자신의 주변 5칸 이내에 아무도 없다면 휴식으로 전환해서 60% 이상이 되면 다시 전투를 향해 이동한다.

대충 이정도만 설계하면 될듯 싶다.
이제 클래스를 설계해봐야겠다.

'Game > 제작일지' 카테고리의 다른 글

[게임제작] 쿼터뷰 제작 종료  (0) 2011.12.16
[게임제작] AI 2번째  (0) 2011.12.09
[게임제작] Object AI  (0) 2011.12.05
[게임제작] ISO Matric View, 쿼터뷰?  (2) 2011.12.01
[게임제작] 클래스 설계 중  (0) 2011.11.30
[게임제작] 타일의 크기  (0) 2011.11.25
댓글
댓글쓰기 폼