라그나로크 모작 10일차 - 맵툴 기본 + 카메라
게임 포트폴리오/라그나로크(WinApi,개인,4주)2016. 1. 20. 20:19
길찾기 알고리즘을 적용해 보려고 하였으나
순서상 타일의 정보를 가지고 있는 맵이 있어야 하므로
맵툴을 먼저 만드는게 순서라 생각해서
제작에 들어갔습니다.
- 샘플 타일 이미지(bmp) 생성
- 총 맵사이즈는 윈도우 창(1024px)보다 크게
+ 카메라 적용 하여 이동
- 카메라 안(윈도우 사이즈)만 그려주므로
프레임 저하 최저
- 하나의 타일 32 * 32 픽셀
- 이미지 하나는 256 * 256 이므로
가상으로 가로세로 각각 8등분
- 이미지 클릭 후 맵 클릭시
64개의 타일정보를 입력
- 맵 정보를 저장
- 인게임에서 로드
기본적인 맵툴의 Base는 짰으니
내일 부족한 부분 채워 넣으면서
구체적으로 디테일하게 만들겠습니다.
그게 끝나야지 맵타일마다의 정보로
길찾기알고리즘 적용이 되겠네요.
오늘은 여기까지~
[영상 - 맵툴 기본]
* 내일 할일 - 맵툴 디테일
'게임 포트폴리오 > 라그나로크(WinApi,개인,4주)' 카테고리의 다른 글
라그나로크 모작 12일차 - 인게임 길찾기 적용 (0) | 2016.01.22 |
---|---|
라그나로크 모작 11일차 - 길찾기 알고리즘 (0) | 2016.01.21 |
라그나로크 모작 9일차 - 카메라 장착 (0) | 2016.01.19 |
라그나로크 모작 8일차 - 맵 처리 방식 (0) | 2016.01.18 |
라그나로크 모작 7일차 - 캐릭터 선택(2) 및 삭제 (0) | 2016.01.17 |
라그나로크 모작 9일차 - 카메라 장착
게임 포트폴리오/라그나로크(WinApi,개인,4주)2016. 1. 19. 22:09
맵에 대한 타일과
길찾기 알고리즘으로
A*(에이스타) 알고리즘에 대해 공부를 했는데
가야될 경로와
캐릭터를 아직 연결하는 과정에서
원하는데로 움직이지 않아서
제대로된 움직임이 나오지 않았습니다.
내일 다시 시도 해보겠습니다.
오늘 마무리된 작업은
기본적으로 캐릭은 맵의 중간에 위치하지만
움직여도 맵이 움직이는 것처럼 보이게 하고
캐릭이 화면 밖으로 나가지 않게 처리하였습니다.
맵 상하좌우 끝자락에 오면
맵은 움직이지 않고
캐릭 좌표가 움직이게 처리했습니다.
어떤 방식인지 자세히 얘기 하자면
맵 전체 이미지에 대해 캐릭의 좌표를 지정합니다.
맵에 대한 render(그리는 함수)는
맵 전체를 그려버리면 리소스가 커지므로
맵 그리기 시작 좌표를
{캐릭 x좌표 - WINSIZEX / 2, 캐릭 y좌표 - WINSIZEY /2}
부터 시작하여
width = WINSIZEX
height = WINSIZEY
만큼만 그려줍니다.
그러면 일단 캐릭을 움직여도
맵은 캐릭 좌표 기준으로 상하좌우 반씩만 보이므로
중앙에 있는 것처럼
이동하게 됩니다.
캐릭 x좌표 - WINSIZEX / 2 가 0보다 작아지면
0으로 치환
캐릭 y좌표 - WINSIZEY / 2 가 0보다 작아지면
0으로 치환
캐릭 x좌표 + WINSIZEX / 2 가 맵 가로사이즈 보다 커지면
맵가로사이즈 - WINSIZEX 로 치환
캐릭 y좌표 + WINSIZEY / 2 가 맵 세로사이즈 보다 커지면
맵세로사이즈 - WINSIZEY 로 치환
하여 맵 그리기 좌표 시작 하면
맵이에서 윈도우 창에서 벗어 나지 않게
컨트롤 할수 있게 됩니다.
이를 카메라 라고 칭합니다.
영상은 내일자로 같이 보여드리는 걸로 하고
오늘은 영상 없습니다.
* 내일 할 일 - A* 알고리즘(길찾기 알고리즘)대로 캐릭터 움직이기
'게임 포트폴리오 > 라그나로크(WinApi,개인,4주)' 카테고리의 다른 글
라그나로크 모작 11일차 - 길찾기 알고리즘 (0) | 2016.01.21 |
---|---|
라그나로크 모작 10일차 - 맵툴 기본 + 카메라 (2) | 2016.01.20 |
라그나로크 모작 8일차 - 맵 처리 방식 (0) | 2016.01.18 |
라그나로크 모작 7일차 - 캐릭터 선택(2) 및 삭제 (0) | 2016.01.17 |
라그나로크 모작 6일차 - 캐릭터 선택(1) (0) | 2016.01.16 |
라그나로크 모작 8일차 - 맵 처리 방식
게임 포트폴리오/라그나로크(WinApi,개인,4주)2016. 1. 18. 20:43
이제 인게임(inGame)을 처리 해야 되는데
우선적으로 맵을 만들어야 되고
그 맵에서 플레이어 캐릭이
이동 할 수 있게 적용해야 됩니다.
근데 맵에서 캐릭터 이동하는 방식을 크게보면
1. 픽셀 충돌을 이용한 이동
- 픽셀 충돌을 이용한 대부분 직선 이동(특정 색상에서만 방향 전환)
[그림1]
2. 맵 타일 속성에 따라 이동
- 길찾기 알고리즘을 적용하여 타일단위 이동
[그림2]
대략 위 2가지 방법 중 하나를 사용해야 하는데
전 2가지 다 적용할 생각입니다.
원작 게임을 보면
플레이어 이동 방식은
그림 2와 같은 타일단위 이동이고
몬스터들이 이동하는건
그림 1과 같은 픽셀충돌 이동입니다.
그러하므로 일단 플레이어 처리를 해야하니
그림 2와 같은 방법을 적용하고
이후에 몬스터 클래스를 만들어 적용 할때
픽셀 충돌 이동을 적용하도록 하겠습니다.
오늘은 이론적인 것을 생각해 보면서 공부를 했습니다.
이번주는 맵과 길찾기 알고리즘에 대해 작업하겠습니다.
* 내일 할일 - 맵 관련, 길찾기 알고리즘 적용 시작
'게임 포트폴리오 > 라그나로크(WinApi,개인,4주)' 카테고리의 다른 글
라그나로크 모작 10일차 - 맵툴 기본 + 카메라 (2) | 2016.01.20 |
---|---|
라그나로크 모작 9일차 - 카메라 장착 (0) | 2016.01.19 |
라그나로크 모작 7일차 - 캐릭터 선택(2) 및 삭제 (0) | 2016.01.17 |
라그나로크 모작 6일차 - 캐릭터 선택(1) (0) | 2016.01.16 |
라그나로크 모작 5일차 - 캐릭터 생성 (1) | 2016.01.15 |