그냥 심심할 때 마다. 조금씩 구상하던건데, 내 생각을 정리하는 것도 있고 해서 글을 써 봄. 비정기 연재임.


만들다가 엎어질 수도 있고, 뭐 그러함.


매년 7DRL 올라오는 게임들의  출품작들을 보면, 대부분 비슷한 구조를 가지고 있는 듯 함.


로그에서 룩앤필만 조금씩 달라지고, 장비랑 스크롤 물약 효과, 몬스터 정도만 달라진 채로 간신히 작동하는 게임을 내는 느낌이 많은데


이것도 충분히 재미있게 만들수 있다고 생각하지만, 이 중에 이목을 끄는 게임은. 독창성 있는 게임 로직이나 테마를 단 한개라도 잘 녹여내서 만든 게임들이었음


https://gall.dcinside.com/board/view/?id=rlike&no=5974

[게임소개] 로그라이크로 수학하기, Math: The Roguelike - 로그라이크 갤러리

Seven Days Roguelike Challenge, 줄여서 7DRL이라고 말하는 로그라이크계에서는 꽤 큰 행사가 매년 3월에 열린다.이 행사는 사람들이 7일동안 간단한 로그라이크를 만드는 것이 목표인 행사로, 이

gall.dcinside.com


https://gall.dcinside.com/board/view/?id=rlike&no=499470

7DRL 출품작 중에 인상깊었던 게임 - 로그라이크 갤러리

무려 2019년 총점 1위 작품인 Inner Lifehttps://dungeonyak.itch.io/inner-life itch.ioDiscover the rich inner life of cows.dungeonyak

gall.dcinside.com


개인적으로는 이거 두개가 제일 인상깊었는데, MathRL은 테마를 잘 잡은 점에서


그리고 Inner Life는 독창성 있는 게임 로직을 만든 점에서 높이 평가가 됨.


그래서 나도 "독창적인 테마"랑 "독창성 있는 게임 로직"을 잘 녹여낸 나만의 로그라이크 하나를 만들어보고 싶더라


나는 듀랑고 유저는 아니었지만, NCD2014에서 발표된 듀랑고의 "온라인 게임의 창발적 게임플레이 디자인", "가죽 장화를 먹게 해 주세요"


같은 세션 발표를 엄청 재밌게 봤던 기억이 있음.


세션 내용을 요약하자면, 인간이 게임에서 재미를 느끼는 부분은 창발성에서 기인하는데


이걸 게임에서 구현하려고 시도하면, 경우의 수가 폭주하기에 구현할수 없거나, 그렇게 만들어진 대다수의 의미없는 케이스에서 재미를 느끼지 못한다.


그래서 그 절충 지점을 잘 찾으면서, 창발성을 게임에 녹여내려는 기술적 시도를 정리한 세션이었음.


이들은 생존 게임을 만드는 사람들이었고, 나는 로그라이크를 만들기로 했으니 조금 결이 다른 부분이 있긴 하겠지만.


로그라이크의 절차적 생성 부분에서, 이러한 창발적인 시도를 적용해볼수 없을까 생각이 들었음.


그리고 2014년에서 9년이나 더 지난 지금은 AI의 시대가 아닌가?


폭주하는 경우의 수를 AI를 통해서 어느정도 커버가 가능하고, 그걸 개인의 영역에서도 시도해볼수 있을 것 같은 생각도 들었고.


그래서 내가 생각한 방법은, 아이템과 맵 전체를 창발적으로 설계하는 방식임.


창발의 균형을 어떻게 맞춰서 설계해야 할까를 고민하던 중에, 넷핵의 4정령계 생각이 났음,


NetHack의 게임 후반부에는 옌더의 아뮬렛을 들고 승천하기 위한 아스트랄 플레인으로 가는 길목에 땅, 공기, 불, 물의 정령계를 한번씩 거쳐가게 되어 있음.


모든 아이템들을 4원소라는 틀 안에 가둬서 다루면 창발성을 제한시킬수도 있고, 4원소라는 스토리를 테마로 게임을 풀어갈수 있지 않을까?

*. 원소설(元素說, four-element theory)은 고대 그리스의 엠페도클레스에 의해 나온 원소이론으로 만물은 흙(terra)·불(ignis)·물(aqua)·공기(ventus)로 이루어져 있다는 주장이다.


라는 생각이 났음.


그러니까 게임을 구성하는 모든 아이템이나 맵의 물질이 4원소로 표현되는 세계를 만드는거임


그리고 아이템은 유한한 수(300~400개)로 제한하고, 4원소라는 시스템 안에서 모든 상호작용을 구현하는 것임.



게임을 시작 버튼을 누르면, 랜덤하게 4원소가 선택되고.


"당신의 세계는 과자, 똥, 성인용품, 키보드로 구성되어 있다." 같은 장엄한 오프닝과 함께 게임이 시작됨.


게임의 목표는 4원소의 정수를 모으면 갈수 있는 아스트랄 플레인(보스 몬스터를 잡는 공간)같은 곳에 가서


보스 몬스터를 무찌르는 것임


4원소의 테마에 맞는 정령계(또는 마을)을 누비면서, 보스 몬스터를 잡기위한 아이템을 만들고, 순수 정수 4개를 모으는 게임인거지


각 아이템은 엠페도클레스의 주장과 똑같이, 4원소로 이루어짐


잔디 블록: 과자 5%, 똥: 80%, 성인용품: 5%, 키보드: 5%

철 메이스: 과자 5%, 똥: 5%, 성인용품: 80%, 키보드: 10%


아마 코사인 유사도같은 메트릭 등으로 구하게 될 것 같음.


단어 임베딩을 게임 시스템 상에서 변화시키는 상호작용을 구현해서


각 아이템을 합치거나 하면, 해당 구성 성분과 가장 가까운 아이템을 획득하게 되는 거임.



그리고 각 정령계의 테마는 각 원소 단어와 코사인 유사도가 가장 높은 20~30개 단어로 이루어지게 될 거임


키보드의 정령계에서는 전선으로 된 맵 위에서 마우스랑 컴퓨터가 몬스터로 등장한다던지


성인용품의 정령계에서는 ... 이하 생략 ...


각 정령계에서 얻는 물질들은 정령계와 관련된 물질들이고, 이 물질들을 합쳐 나가서 순도를 100%까지 높이면


순수한 똥의 정수, 순수한 과자의 정수, 순수한 키보드의 정수, 순수한 성인용품의 정수를 획득할 수 있고


각 정령계에서 파밍한 브레지어 갑옷과 과자 헬멧, 똥칠이 된 칼과 모니터로 된 방패를 들고 보스 몬스터를 격퇴하는 그런 게임을 만들어보고 싶음



24b0d121e09c28a8699fe8b115ef046f5b4f9998a9


24b0d121e09c28a8699fe8b115ef046f574a9a9f

24b0d121e09c28a8699fe8b115ef046c67f42c4d

24b0d121e09c28a8699fe8b115ef046f5e4c999d

24b0d121e09c28a8699fe8b115ef046f5c4e9c99


단어 임베딩 따주는 모델이랑 t-SNE 써서 단어 비주얼라이제이션하고 각 단어랑 유사한 Top 6을 뽑아본건데


아무래도 단어 개수가 적은 문제도 있고 그래서, 배추나 드론은 납득할만한 단어들이 나오는데

브로콜리랑 삽은 조금 이상하긴 함 ㅋㅋㅋ


그래도 메트릭을 좀 조절하고 수동으로 단어셋을 조절하면서 납득이 가능한 목록을 만들 수 있지 않을까 하는 생각이 듬


그리고 의미없거나 납득이 안되는 조합을 세계관의 설정으로 잘 녹여내는 부분도 중요한 것 같고..



단어 임베딩은 사전에 모델 돌려서 에셋으로 넣어둬야 할 것 같고, 영어로 하는게 조금 더 잘 작동할 수 있을 것 같고


아마 만들면 ts에 phaser 붙여서 개발할거 같네, 내가 잘 아는 기술스택으로 웹으로 배포하는게 편하기도 하고, 아마 시간 관계상 AI driven으로 개발할 듯.


타일셋도 꽤 문제인 것 같음, 기본 타일셋 스타일을 유지하면서, 저 단어들에 대한 타일을 만들어야하는데


내가 다 그리기는 불가능할 것 같고, 아마 생성형 모델로 각 단어마다 뽑아야 하는 타일을 다 돌려서 뽑아놔야할 것 같음


디퓨전에 LoRA같은거 써서 만들면 어느정도 일관성있게 나오지 않을까 기대가 됨


구상이나 구현에 대한 대한 진전이 있으면 글 계속 써볼 듯




0ab8dd2febdb07816bb1d3a717c52139d1507a25010e3c69d378ec734cae9047ba55009b45d47a1ad7cf7b719b10d04863d1b63cd8e722bb


0ab8dd2febdb07816bb1d3a717c52139d1507a25010e3c67cc71ad744aa08f4ee2a4538c8abd2a10665b44e97af8afe1c1063db68476030d


24b0d121e09c28a8699fe8b115ef0464d684ebc1e6


0ab8dd2febdb07816bb1d3a717c52139d1507a25010e3c79de25a97a58be9d1a0577bcb4a8f5e711b7eda3126fd2c864789bdcfe65a5d6bf

목업 이미지 만들어봤는데, 마지막 거가 제일 마음에 드는 듯 ㅋㅋㅋ