[UE Team Project/Issac 3D] 5. 프로젝트 마무리 (최종)
·
프로젝트/Isaac 3D
정리청년취업사관학교(SeSAC)에서의 첫 C++ 프로젝트를 마무리 짓게 되었습니다. (08.27 - 09.05) SeSAC의 가장 큰 장점 중 하나가 이렇게 공부한 내용을 즉시 적용해보라는 의미로 짧은 기간의 프로젝트를 랜덤한 팀으로 구성해서 진행해보는 것이라고 생각합니다.  전체 기간은 2주일 정도지만, 저는 개인적인 일정으로 인해 2일 늦게 시작하게 되어 약 1주일간 목표했던 부분에 대해 구현하는 시간을 보냈으며, 팀원들 중 협업을 처음 경험해보시는 분들이 많아서 많은 사건 사고가 있었던 1주일이라고 생각합니다. 개인적으로 전체 프로젝트를 진행하며 아쉬웠던 점을 정리해보면 다음과 같습니다.원작 게임이 2D 기반의 게임이라 3D 모델 및 애니메이션을 구할 수가 없었다.N x M의 크기를 동적으로 생성할..
[UE Team Project/Issac 3D] 4. 미니맵 UI 제작
·
프로젝트/Isaac 3D
개요이전 포스팅까지 랜덤한 맵의 구조를 생성하는 것에 대해 정리하였습니다. 이번에는 랜덤하게 생성된 방에 맞춰 알맞는 미니맵을 제작하는 방법에 대해 정리해보도록 하겠습니다.미니맵 구현 아이디어결과적으로 목표는 던파의 미니맵과 같은 형태를 제작하는 것이였으며, 최대한 비슷하게 제작해보기 위해 노력했습니다. 이전 포스팅에서 방의 정보를 Dungeon Generator Component에서 TArray로 관리하고 있기에 해당 정보를 사용해 미니맵에 알맞는 이미지를 넣기로 생각했습니다. 즉, 방의 모든 문이 열렸다면(OpenDir = 1 1 1 1)  4방향 이미지로 해당 칸을 채우는 방식으로 구현하게 되었습니다. 또한, 처음부터 미니맵이 전부 열려있지 않게 하기 위해서 미니맵 이미지 위에 더미 이미지를 두어 ..
[UE Team Project/Issac 3D] 3. 랜덤 맵 생성 - 2 (완)
·
프로젝트/Isaac 3D
개요이전 포스팅에서는 랜덤한 맵의 구조를 제작하는 방법에 대해 정리했습니다. 이번에는 정리된 구조를 토대로 스폰할 방의 컨셉과 구현 방법에 대해 정리해보도록 하겠습니다.Room 구현 아이디어기본적으로 하나의 Room 클래스를 만들어 블루프린트 클래스를 생성하여 방을 구현할 예정입니다. 이렇게 하면 전체 게임의 흐름을 관리하고, 몬스터 스폰 정보와 같은 중복되는 작업을 효율적으로 처리할 수 있습니다.RoomBase 구현방은 시작과 동시에 모든 문이 열려야 하며, 플레이 상황에 따라 몬스터를 스폰하고 방 문을 다시 여는 등의 로직을 수행해야 합니다. 이러한 상태를 명확하게 구분하기 위해 방 별로 Enum class를 새로 제작하여 상태에 맞는 행동을 수행하게 제작하였습니다. 또한 방 별로 스폰 가능한 몬스터..
[UE Team Project/Issac 3D] 2. 랜덤 맵 생성 - 1
·
프로젝트/Isaac 3D
개요이번 포스팅에서는 랜덤한 맵을 생성하는 방법에 대해 제가 구현했던 방법을 토대로 정리해보려고 합니다.랜덤 맵 생성 아이디어처음 팀원들과 협의한 결과, 아이작의 맵 구성 방식 대신 던전 앤 파이터와 같은 스타일의 레벨을 제작하기로 결정했습니다. 이 방식이 기한 내에 더 나은 퀄리티를 달성할 수 있다고 판단했기 때문입니다. 방의 크기가 다르면 카메라의 촬영 반경이 달라지기 때문에, 이번 프로젝트에서는 방과 방이 맞닿은 형태의 맵을 구성하기로 했습니다. 아이작 스타일의 미니맵과는 다른 던전앤파이터 스타일의 미니맵을 목표로 삼았습니다. 목표를 설정한 후, 다른 사람들이 어떤 방식으로 랜덤 맵을 제작하는지 조사해본 결과 이미 다양한 알고리즘들이 존재한다는 것을 알게 되었습니다. 다음 링크에서 확인해보면 미로를..
[UE Team Project/Issac 3D] 1. 프로젝트 역할 분담
·
프로젝트/Isaac 3D
개요안녕하세요, 이번 포스팅에서는 청년취업사관학교(SeSAC)에서 수강한 언리얼 엔진 과정을 통해 처음으로 진행한 C++ 팀 프로젝트에 대해 이야기해보려 합니다.프로젝트 개요이번 프로젝트는 '아이작'이라는 2D 게임을 3D로 변환하는 작업을 목표로 했습니다. 이 과정에서 저는 팀원들이 블루프린트로 작성한 기존 작업을 C++로 변환하는 역할을 맡았으며, 프로젝트의 일부 기능을 새롭게 구현해야 했습니다. 동시에 원본 게임과 비교하면서 기존 결과물에서 수정해야 할 부분들을 찾아내는 작업도 진행했습니다.역할 분담이번 프로젝트에서 저는 다음과 같은 내용들을 구현하게 되었습니다. 랜덤 맵 생성기존 작업물의 결과물이 고정된 맵에서 진행되다 보니 원작과 플레이 느낌이 많이 달라 구현하게 되었습니다.원작과 달리 3D이므..