Unity

    랜덤 맵 생성 알고리즘 #1 프롤로그

    랜덤 맵 생성 알고리즘 #1 프롤로그

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

    Bit Flag Enum으로 스킬 태그 만들기

    Bit Flag Enum으로 스킬 태그 만들기

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