WinAPI

[WinAPI] 2D 게임 현황 <2주차>

태현123 2021. 8. 1. 19:07
728x90
반응형
SMALL

안타깝게도 이번주에 여러 일이 있어서 진행을 많이 하지는 못했다.

 

하지만, 핵심적인 알고리즘인 A*알고리즘을 공부할 수 있었다. 하지만, A*의 경로 탐색을 실시간으로 하기에는 약간 무리가 있을 것 같다. 그래서 나는 현재 프로젝트를 디펜스게임으로 바꾸어 보려고 한다.

 

목적지인 집이 있고, 슬라임은 집을 공격해서 부술 수 있다. 부서지면 게임은 끝나게 되고, 플레이어는 나오는 슬라임을 제거하여 집을 지키면 되는 간단한 게임을 만들어보려고 한다.

 

우선 이번주 진행 사항에 대하여 살펴보자.

 

1. A* 알고리즘

A*의 경우 좀 보완하고 싶은 부분이 있어 자잘한 부분들을 모두 구현하고 나면 다시 보완할 생각이고, 따로 포스팅 할 생각이다. 

 

현재 몬스터는 플레이어의 위치까지 최단경로로 이동한다. 이 때 맵을 바꿔줌에 따라서 최단경로는 변하게 되어 있다. 이 부분은 완성하고 나면 확실하게 수정이 필요할 것 같다.

 

또 하나 문제점을 발견했다.

우연히 shared_ptr 혹은 unique_ptr에서는 Memory leak 현상이 일어나지 않을까? 라는 의문이 들었고, 디버깅 해본 결과

memory leak 존재

안타깝게도 memory leak이 존재했다. 그래서 난 다시 스마트포인터와 memory에 대해 공부해야겠다는 생각을 했다. 그러므로 이후에 memory관련 포스팅을 하면서 한번 더 공부해야 할 것 같다. 또한 문제점이 한 가지 발견 되었는데, 애니메이션이라던가, 이동관련요소들이 조금 문제가 있는 것을 알게 되었다. 아마 한동안 프로젝트를 진행하면서 고쳐나가야 할 사항들이 되지 않을까 싶다. 그래서 2~3주 정도면 완성될 것 같았다는 착각은 접고 열심히 프로젝트를 진행해봐야 할 것 같다.

 

Commit 상황

현재까지 총 8회의 commit을 하였고, 평일에는 언리얼 공부를 하고 있어서 주말에만 진행하게 될 것 같다.

 

앞으로 프로젝트 진행하면서 해야 할 사항을 살펴보면

Memory Leak 현상 수정

시간 관련(애니메이션, 이동) 수정

A*알고리즘 보완

나머지 게임 요소(몬스터 생성,삭제, 플레이어 공격, 설치물 설치...)

등이 있고 다음 주에 또 포스팅하게 될 것이다.

 

현재 진행 중인 프로젝트는 GitHub에 계속해서 올리고 있습니다.

https://github.com/taehyun1234/2D-Game-Project

 

아 그리고.. unique_ptr을 사용할 때 왜 leak현상이 일어나는지 알고계신분 있으시면 알려주시면 감사하겠습니다.

 

반응형
LIST

'WinAPI' 카테고리의 다른 글

[WinAPI] 2D 게임 현황 <완성>  (0) 2021.08.14
[WinAPI] 2D 게임 현황 <3주차>  (0) 2021.08.08
[WinAPI] 2D 게임 현황 <1주차>  (0) 2021.07.25
[WinAPI] 개발계획 - 2D Game  (0) 2021.07.24
[WinAPI] 학기 텀프로젝트  (0) 2019.11.01