< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (12일차)
인게임 UI BAR 인게임 STATES, INVEN, PET ... 좌측부터 1,4,7 번 UI 는 중복으로 띄울 수 없다. 또한, 원작에서와 다르게, 어두운 배경으로 UI 가독성을 높였다. 원작에서의 UI는 1픽셀단위로 해쉬처리가 되어있지만, 보기 불편해보인다.
< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (12일차)
인게임 UI BAR 인게임 STATES, INVEN, PET ... 좌측부터 1,4,7 번 UI 는 중복으로 띄울 수 없다. 또한, 원작에서와 다르게, 어두운 배경으로 UI 가독성을 높였다. 원작에서의 UI는 1픽셀단위로 해쉬처리가 되어있지만, 보기 불편해보인다.
< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (11일차)
길찾기 구현끝 여태까지 삼일정도 블로그 업데이트도 못하고 멘탈이 나가서... 고생하던 와중에, 지훈이형의 도움을 받아서 문제가 뭔지 알아냈다. _FinalList 에 담긴 경로들을 인덱스로 접근하는 과정에서, 어떠한 조건에서 index++; 을 해주고 다음 인덱스방향으로 방향을 틀고, 케릭터의 (X,Y) 좌표를 비교해서 조건을 만족하면 index++; 해주는 식인데... 일단 삼각함수를 통해서 지나가게되면, 속도때문인지, float 값으로 이동해서 그런지 플레이어의 (X,Y) 좌표가 정확히 도달하려는 타일의 (X,Y) 좌표과 같아지는 순간이 오지 않았다. 때문에 어느정도의 오차를 두고 검사를 했고, index++; 을 해줌과 동시에 그 오차에대한 보정을 해주는 식으로 원하는 로직구현이 가능해졌다. 마지막..
< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (10일차)
중간점검 에이스타 알고리즘에서 파이널리스트에 경로가 담기는데, 해당 경로대로 케릭터가 이동하는 과정을 처리하지 못하고있다... 몇시간을 들여다봐도 뭐가 문제인지 모르겠다. 단순 반복작업인 페트이미지 추가, 아이템설계를 하고 있어야겠다. 주말까지 턴제전투기능 구현은 아무래도 시간이 많이 촉박할 것 같다.
< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (9일차)
일정 A*(에이스타)알고리즘 정리 1. 시작노드는 언제나 플레이어의 좌표와 충돌되는 타일로 정한다. 2. 마우스로 클릭하는 노드는 도착노드이며, 바로 이동을 시작한다. 3. 원하는 목적지까지 걸어가는 와중에도 다른곳을 클릭 시 도착노드가 바뀌며, 새로운 길을 찾는다. (이 부분에서 연산량을 줄이기 위한 방법 모색할 필요가 있다고 생각한다.) 4. 도착하게되면 오픈리스트, 클로즈리스트, 파이널리스트 벡터를 초기화해준다. (파이널리스트 벡터 : 경로에 포함된 타일 모두 포함) 플레이어와 맵 연동한 모습 언제나 클릭타일은 도착타일이다(이동불가 예외) 맵툴로 직접 만든 맵을 불러왔고, 출발점과 도착점 사이에 구조물이 있다. 구조물을 피해서 경로탐색 클래스 상호참조 및 스택구조에 대한 이해 클래스간 상호참조 후 ..
< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (8일차)
일정 A*(에이스타)알고리즘 아이소메트릭 에이스타 알고리즘을 MapClass에 적용 중 이다. 순서를 정리하면, 첫째 아이소메트릭(마름모)꼴로 타일을 변경해주었다. 둘째 대각선으로 이동가능하게끔 예외처리를 해주었다. 셋째 대각선 이동중에, 이동불가타일에 인접하게되면, 대각이 아닌 ㄴ자 ㄱ자 이동을 하게끔 예외처리를 하는 중이다. 오늘중에 알고리즘, 클릭후 케릭터 이동까지 구현하는게 목표이다. 생각보다 일찍 끝내놓고, 디테일한 부분에서 완성도를 높이고싶다. 빨간색-시작점, 노란색-경로, 파란색-도착점대각이동 추가 안된상태 대각이동 추가 된 상태 검은색-이동불가타일 isometric (A*algorithm) 다시한번 A*알고리즘을 보면서 좀 더 정확하게 공부하게된다.
< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (7일차)
일정 맵툴 NPC 추가 타일 구조체 변경이 필요했다. NPC를 추가하고 그 정보를 추가해야해서 제작했던 맵을 싹 다 밀고 다시만들어야한다. 엔피씨가 추가된 모습 문제점 맵툴에서 만든 .map파일을 맵클래스에서 불러와서 인게임에서 사용하려고 생각했는데, 불러올때마다 터진다.. 도대체 왜 터지는건지 모르겠다. 일단 A*를 적용하려면, 인게임씬에 플레이어와 맵 클래스(맵툴에서 만든 맵파일로 초기화되는) 상호참조가 필요한데, 위 문제때문에 진행이 안되고있다. + 오후 쉬는 시간에 순간 떠올라서 해결했다. 내가 선언한 tagTile 구조체에 포인터변수가 들어가는데, 이는 주솟값이라서 프로그램이 종료되고 다시 켜지는 과정에 그 값이 바뀐다는 것을 간과했다. 때문에 image형 포인터 변수 대신, 해당 이미지의 키값..
< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (6일차)
일정 사용 할 맵 제작 인게임에서 내가 사용할 맵을 직접 스크린샷을 통해 찍어서 합쳤고, 맵툴을 이용해서 해당 맵에 이미지 렌더 후 이동 불가 설정을 해주면, 상호 작용을 하는 오브젝트가 아닌이상 큰 문제가 없기에 이 방법을 채택. 프리서버에 접속해서 스크린샷을 통해 사용 할 맵을 추려냈다. 케릭터가 스폰 될 장소 (촌장집) 오브젝트, 타일은 각각의 이동불가 정보를 갖고있지 않다. 이동불가 설정모드가 켜진모습 (초록색은 가능, 빨간색은 불가, 파란색 P 타일은 포탈을 의미한다 ) 오브젝트와 타일 위에, 알파값을 낮게 렌더해주고, 현재 모드에 따른 불가,포탈 타일을 마우스 좌표에도 그려준다. 일단, 시간을 많이 잡아먹는 플레이어 작업에 먼저 들어가야 할 것 같다. 일주일만에 맵툴을 만들어봣는데, 완벽하지는..
< Portfolio >/WinAPI
2D 포트폴리오 - 스톤에이지 모작 (5일차)
일정 맵툴 구현 100개의 타일과 40개의 오브젝트 이미지를 소스로 맵툴 구현이 거의 끝났다. 가장 뼈대인 타일그리기, 오브젝트 그리기 기능을 구현했고, 내일까지는 이동불가 설정 기능을 추가하면 끝날 것 같다. 추가적으로 주말에는 직접 플레이할 때 쓰게될 맵을 찍어둬야겠다. 아래는 오늘 작업한 내용의 사진이다. 타일의 크기는 일정해서 화살표를 통해 다섯페이지까지 총 100개의 타일을 사용할 수있으며, 오브젝는 건물과 나무 등을 합쳐 총 40개다. 오브젝트같은 경우는 페이지당 하나의 이미지를 출력하며, 타일은 해당 타일을 클릭 후 '선택'버튼을 누를 시 마우스 좌클릭으로 설치가 가능하다. 그리기 - 타일메뉴 클릭시 보여지는 타일들 각종 타일과 나무, 건물들을 설치해봤다 오브젝트같은 경우 더 큰 UI에 하나..