728x90
반응형
SMALL

WinAPI 7

[WinAPI] 2D 게임 현황 <완성>

2021.07.25 ~ 2021.08.14 드디어 끝났다. 사실 크게 달라진 것은 없다. 충돌처리, 엔딩씬, 포털, UI와 같은 짜잘한 것들을 모두 구현하고 이제 끝이 났다. 3일간 휴일이니 정리를 열심히해서 마무리 짓고, 이제 언리얼 프로젝트를 해볼 생각이다. 완성! 유튜브에 올린 포트폴리오 동영상이다. 편집프로그램 너무 비싸요.. 나는 체험판을 사용했다. 나름 재미있었다. 진짜.. STL이랑 Modern C++을 안쓰다가 써보니 까먹었던 것도 생각나게 되었고, 이 프로젝트를 통해 좀 더 자신감을 얻을 수 있었다. 앞으로 정리해야 할 사항에 대해 다시 한번 상기해보자. 1. A Star Algorithm의 원리 및 구현 2. 상속과 Overriding 3. Iterator 3가지는 3일동안 무조건 포스..

WinAPI 2021.08.14

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

이제 조금만 더 하면 될거같다.. 끝이 보인다. 이번 주 개발 진행 상황은 이렇다. 우선, 지난주에 unique_ptr에 대해 leak이 발생하는 부분에서 왜 발생하는지 확인하였고, 결과적으로 상속 객체가 유일성을 지키지 못하기 때문이라는 것을 알게 되었다. 그러므로, 이를 해결하기 위해서는 소멸자에 virtual을 붙여주거나, unique_ptr이 아닌 shared_ptr을 사용하면 된다. 하지만, virtual을 사용하는 것이 좀 더 나을 것이라 생각하여 나는 virtual을 사용하여 해결하였다. 그래서 이제 memory leak문제는 완벽하게 해결하였다. 그럼 이제 다음번에는 virtual 에 대해 다시 공부해봐야겠다. 뭐 가상소멸자쓴거긴 한데,, 정확히 모르겠슴.. ㅠ 그리고, A Star 알고리..

WinAPI 2021.08.08

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

안타깝게도 이번주에 여러 일이 있어서 진행을 많이 하지는 못했다. 하지만, 핵심적인 알고리즘인 A*알고리즘을 공부할 수 있었다. 하지만, A*의 경로 탐색을 실시간으로 하기에는 약간 무리가 있을 것 같다. 그래서 나는 현재 프로젝트를 디펜스게임으로 바꾸어 보려고 한다. 목적지인 집이 있고, 슬라임은 집을 공격해서 부술 수 있다. 부서지면 게임은 끝나게 되고, 플레이어는 나오는 슬라임을 제거하여 집을 지키면 되는 간단한 게임을 만들어보려고 한다. 우선 이번주 진행 사항에 대하여 살펴보자. 1. A* 알고리즘 A*의 경우 좀 보완하고 싶은 부분이 있어 자잘한 부분들을 모두 구현하고 나면 다시 보완할 생각이고, 따로 포스팅 할 생각이다. 현재 몬스터는 플레이어의 위치까지 최단경로로 이동한다. 이 때 맵을 바꿔..

WinAPI 2021.08.01

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

주말동안 할 것도 없고.. 프로젝트 진행을 해야겠다 싶어서 하나씩 천천히 만들어보았다. 우선, 타이틀 화면이다. 게임스타트와 맵을 관리할 수 있는 맵툴을 만들었다. 맵툴을 만든 이유는 핵심적인 요소가 A* 알고리즘이고, 이를 보여주기 위해서는 맵툴이 반드시 필요할 것이라 생각하였다. 그리하여 만든 맵툴 아주 간단하다. 맵을 다음과 같이 만들고, 초록색은 플레이어, 빨간색은 보스이다. 길을 클릭하면 파란색으로 만들어 플레이어와 보스가 통과할 수 없도록 구현하였다. 참고로 아직 A* 알고리즘은 미구현하여 플레이어만 움직일 수 있는 상태이다. 대충 클릭해서 맵을 만들고 Save Map버튼을 누르면, 맵이 다음 파일처럼 저장된다. 1은 장애물, 0은 움직일 수 있는 길, 2,3은 플레이어와 보스 객체이다. 이후..

WinAPI 2021.07.25

[WinAPI] 개발계획 - 2D Game

간단한 2D게임을 포트폴리오용으로 한번 개발해 볼 계획이다. 이번에 제작할 게임에 들어가게 될 요소의 핵심은 A* 알고리즘 일 것 같다. 이 프로젝트의 경험을 토대로 A* Algorithm에 대한 내용을 작성할 예정이다. 대충 생각 중인 게임의 구조는 이렇다. 1. 슬라임이 보스고 플레이어는 슬라임과 싸운다. 2. 슬라임은 몇 가지 패턴을 가지고 있고, 플레이어는 무기를 사용하여 슬라임을 제압해야 한다. 3. 맵은 2D 맵 툴을 사용할 것이며, 맵 툴 또한 직접 구현할 예정이다. 4. 슬라임은 장애물을 피해 플레이어를 향해 이동한다. (A* 알고리즘) 그리고, 플레이어와 가까워 졌을 때 공격한다. 간단하게 이 정도로 한번 구현해 볼 예정이다. 시간이 얼마나 걸릴지는 잘 모르겠으나, 2D FrameWork..

WinAPI 2021.07.24

[WinAPI] 학기 텀프로젝트

[게임소개] 팀원 : 윤영섭, 남태현 제작기간 : 한달 - 이 게임은 겐지런이라는 게임으로, 현재 인기 있는 게임인 오버워치를 모티브로 하여 제작하였다. - 겐지는 최강의 사무라이가 되기 위하여 모험을 떠나는데, 여러 적들을 만나게 됩니다. 여기서의 여러 적들은 모두 오버워치에 등장하는 캐릭터들입니다. 적들은 실제 오버워치에서의 특징을 많이 반영하여 구현하였고, 겐지 또한 오버워치 내에서의 스킬을 많이 반영했다. [구현] 줌인(궁극기),줌아웃,랭킹(파일입출력),적 출현, 표창 발사(단방향 연결리스트), 점프(중력)+이단점프, 타격이펙트, 게임사운드, 코사인삼각함수를 이용한 한조 궁(용),콤보시스템, 스켈레톤 애니메이션툴 사용(겐지) [팀원 역할] 구현내용 남태현 윤영섭 리소스 수집 및 애니메이션 제작 ㅇ..

WinAPI 2019.11.01

[WinAPI] Inversus

WinAPI 과제로 Inversus라는 게임을 만들게 되었다. 이 게임은 내가 학교 다니면서 맨 처음으로 만들어 봤던 게임이다. 자료구조 수업을 함께 들으면서 연결리스트와 배열같은 자료구조들에 대한 이해를 높임과 동시에 진행했던 프로젝트라서 퀄리티가 크게 높지는 않지만 나름 열심히 했었던 프로젝트이다. 참고로 그래픽리소스는 하나도 쓰지 않고 그냥 기본으로 제공되는 사각형만 사용하여 만들었다. [코드] #include #include #define PIE 3.141592 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); HINSTANCE g_hinst; LPCTSTR lpszClass = TEXT("First"); float CheckDistance(int x..

WinAPI 2019.11.01
728x90
반응형
LIST