Unity

랜덤 맵 생성 알고리즘 #1 프롤로그
로그라이크 게임을 만들기 위해서 랜덤 맵 생성 기능을 만들다가 현재 버전까지 만들어놓고 개발을 중단한 지 수개월이 지났다. 밑에 배경을 깔고, 나무나 바위같은 오브젝트들도 랜덤으로 배치하는 기능까지 추가하고 싶었지만 만들려는 게임의 기획이 또 바뀌면서, 지금까지 한 게 기억 속에서 잊힐 것 같아서 블로그에 내용을 정리라도 하기로 마음 먹었다. 참고로 신입 때 제작했던 포트폴리오에서는 두 가지의 던전 타입을 만들었던 경험이 있다. 위에는 Tiled라는 고전 타일 에디터로 캔버스 위에 바닥 타일과 오브젝트 타일들을 단순하게 그린 방식이고, 아래는 에셋을 구매한 뒤 수정을 한 방식이다. 수정을 하면서 절차적 맵 생성(Procedural Map Generation)을 공부하게 됐다. 에셋은 완벽하게 본인이 처음..

Bit Flag Enum으로 스킬 태그 만들기
Path Of Exile 게임의 스킬 툴팁을 보면 스킬마다 여러 가지 태그를 가지고 있는 것을 볼 수 있다. 스킬 태그 목록을 이용하여 여러가지 작업을 할 수 있다. 예를 들면 '카오스 스킬 사용시 잃은 체력 1% 회복'이라는 옵션을 가진 아이템을 플레이어가 착용했다면 어떤 스킬을 사용할 때마다, 해당 스킬의 태그 목록에 '카오스'가 있는지 확인하고 체력을 회복시키는 로직을 쉽게 구현할 수 있을 것이다. 아니면 '저주 면역'이라는 옵션을 가진 몬스터에게 플레이어가 어떤 스킬을 사용하면 해당 스킬의 태그 목록에 '저주'가 있는지 확인해서 해당 스킬이 몬스터에게 통할지 안 통할 지를 정할 수 있다. 또 다른 예시로, 궁수의 전설의 스킬 툴팁을 보자. 어떤 태그들을 가지고 있는지 표시하고 있지 않지만, 만약 ..