실황이 좀 뜸했는데, 원래 목표는 직접 AI를 학습시켜서 나만의 AI로 미연시 게임을 만드는 거였음.
그래서 요 며칠 동안 AI 학습시킬 수 있는 환경을 만들려고 해보다가 몇 번 실패함.
보통 컴퓨터 사양이 되면 로컬에서 학습시키거나 구글에서 제공하는 컴퓨팅 파워로 구글 서버에서 학습시키는 방법 2가지로 주로 학습시키는 듯 함.
나는 상남자라 로컬에서 학습시키려고 했는데 뭔가 호환성이 꼬이거나 버전이 안 맞았는지 오류로 2일 정도 날려버리고 현타와서 접을까 하다가 구글로 갈아탐
(남들이 만들어 둔거 그대로 사용하려고 했는데 1년 전 내용이라 그런지 이것도 오류나서 진짜 접을뻔.) 어찌저찌 혼자 새로 해보니 학습이 완료되긴 했는데
내용이 쉽지 않기도 하고 무엇보다 내가 AI에 관련한 지식이 거의 전무하기 때문에 이건 따로 설명 안할거임.
안타까운 건 학습은 시켜뒀는데 답변 퀄리티가 뭔가 뭔가임;; 그래서 새로 학습 시키고 계속 추가 학습 시킬 예정인데 사용 가능한 단계까지 될지는 미지수라는 점.
아무튼 내가 학습시킨 AI로 넘어가도 게임에서 사용하는 구조는 똑같을 예정이라 일단 게임 기능 구현을 다시 시작.
2일차 실황에 호감도에 따른 말투, 표현 변화는 구현을 해 뒀는데 막상 대화나 선택지를 주고받을 때 호감도가 증감하는 기능은 만들지 않았음.
이제 구현을 해야하는데 비교적 간단함.
나의 답변, 선택지를 AI에게 매우 긍정 ~ 매우 부정 사이의 단계를 판단하라고 하면 됨.
그리고 이 판단을 내가 정한 임의의 숫자로 바꿔 호감도 값과 계산해주면 됨.
Ex) 매우 긍정 = 3점, 긍정 = 1점, 보통 = 0, 부정 = -1, 매우 부정 = -3
이렇게 AI 필수 프롬프트에 위의 내용을 넣어주고 이 값을 토대로 호감도 값을 변경시켜보면
(호감도 0)
어떻게 인사만 해도 호감도가.. ㅋㅋ 눈물겹네요.
아니 그냥 싫은것도 아니고 매우 싫다네 이게 맞나?
VeryNegative 말고 다른 것도 잘 나오나 확인해봐야 하니 호감도를 살짝 올려서 진행.
(호감도 50)
이제는 인사만 했는데도 호감도가 올라가는 모습, 이거는 프롬프트 조교의 문제니 일단은 넘어가도록 하겠음.
이것저것 찾다가 다이얼로그 UI도 변경
아무튼 저번에 만들었던 약속 시스템을 더욱 구체화 시키기 위해서 장소를 만들어야 함.
장소가 가져야 할 Data는 간단하게
장소명, 장소 Image, 장소에 있는 Character 이렇게 3개정도면 될 것 같음.
요렇게 위의 내용들 스크립트로 작성해주고.
ScriptObject로 Asset들도 생성해줬음.
그리고 이동도 가능하게 Map도 대충 만들어줘야 함.
배경은 ai로 뽑았는데 저 공터 안에 들어가는 이미지는 개똥같이 뽑아줘서 그냥 네모로 내버려둠;
아무튼 그냥 밋밋하게 만들면 조금 아쉬우니까 마우스 올려두면 커지게 애니메이션도 하나 만들었음.
버튼에 각각 아까 만들어 둔 Location Asset을 붙여주면
사실 배경 이미지만 바꿔준거긴 한데 이렇게 이동하는 듯한 느낌을 줄 수 있음.
그리고 실제 이동이 아닌 이미지 변경이기 때문에 우리 곽두팔이도 계속 스토커마냥 따라오게 됨.
이것도 해결하고 나중에 각 장소마다 다른 캐릭터들을 등장시켜주기 위해서 다음과 같은 처리를 해주었음.
요렇게, 그냥 장소가 바뀌면 원래 있던 장소에 있던 캐릭터들을 비활성화 시키고 새로 이동할 장소의 캐릭터들은 활성화 시켜주는 코드임.
Join과 Leave같은 경우는 true, false값만 빼고 다 똑같은데 나중에 입장 퇴장에 어떤 기능이 추가될지 몰라서 일단 분리해둠.
아무튼 이렇게 해주고 실행시켜보면.
이렇게 두팔이가 스토킹하지 않고 원래 있던 곳에 가만히 잘 있는 모습.
굳.
다음에는 게임 속 시간을 생성시키고 캐릭터에 스케줄을 부여해서 이동하고 행동하고 하는 느낌으로 진행 예정
