친구 한명을 베타테스터로 선정해서 게임 시켜봤습니다. 생각보다 옆에서 설명해줘야 하는 내용도 많아서 튜토리얼 개념이 필요하다고 생각을 했습니다. 그리고 스토리 진행도 좀 빠른 감이 없지 않다고 생각됩니다. 아무래도 컷씬의 구성이 자유롭지 않다보니까(한정적인 애니메이션의 개수) 그러하면 해결방안은 컷씬에서 대화내용을 충분히 길게 만드는 것인데, 이러한 방법은 자칫 게임의 지루함을 늘릴 수 있습니다. (마찬가지로 컷씬이 짧기 때문에 동일환 화면을 보고 있어 때문에 재미가 없음)
먼저 친구가 플레이해보고 느낀점들에 대해서 말해보자면
생각보다 Y축 카메라 이동이 없는 것이 불편하다고 함(하지만 추후에 익숙해짐)
옆에서 설명해줘야 하는 내용이 많음 (wasd로 움직이고, e키로 상호작용해야하고,
어떤 부분은 space bar로 어떤 부분은 e키로 대사를 넘겨야하는 등)
이러한 이유로 게임의 시작점(연구소)과 메인스토리가 진행되는 부분사이에 튜토리얼을 넣을까 합니다. 아무래도 어쎄신크리드에서 영감을 많이 받은지라 민무늬에 격자 형태의 튜토리얼 게임판을 만들고 싶은데 그러면 너무나도 비슷해질 것 같아 독자적인 형태의 튜토리얼을 개발해볼까 합니다. (아예 게임 시작점보다도 이전에 튜토리얼을 넣을까 생각중)
튜토리얼과 게임의 시작점파트(연구소), 스토리의 속도에 대한 내용은 이후 알바하면서 아이디어 구상하는 것으로 하고, 현재 해야 할 내용은 마지막 타임라인(도둑의 퀘스트인 경비병과 싸워서 이긴 이후를 구성해야합니다. 경비병과의 전투씬인 battleScene에서 가끔 버그가 일어나는 데 정확한 발생원인은 파악하지 못했습니다. 일단은 스토리 진행에 먼저 힘을 실을까 합니다.
다시 한번 정리하는 타임라인
timeLine0: 처음 시작장면
timeLine1: 처음 소환된 이후 처음으로 광장에 들어갔을 때
timeLine2: 광장에서 책을 집고 첫 번째 과거여행을 했을 때
timeLine3: 과거여행을 한 직후 얼른 다시 광장에 도착했을 때
timeLine4: 힌트가 되는 사람 두 명과 대화하고 달라진 식당주인의 말을 들었을 때
timeLine5: 식당주인의 조건인 럼주통 3개를 다 가지고 왔을 때(이때 timeLine이 6으로 바뀜+도둑과의 대화장면도 timeLine은 6이다.
timeline7: 도둑과의 대화가 끝났을 때(경비병과의 전투 이전) (timeLineTalkable은 false)
timeline8: 경비병과의 전투에서 승리한 이후 도둑에게 다가가서 열쇠를 받아옴+감옥의 위치를 알고 감옥으로 이동
timeLine9: 감옥으로 이동해서 새로운 컷씬(감옥 앞에서 예상치 못한 알리퀴스의 등장)
timeLine9의 컷씬은 마야(3d프로그램)을 통해서 제작해볼까 합니다. 걸어가서 멈추는 장면인데, 잘 생각해보면 코루틴+애니메이션 컴포넌트로 사용가능하지만 앞으로도 공부할 부분이자 언리얼엔진에도 사용가능하다는 장점을 고려하면 배워볼만 하다고 생각되어 설치할 예정입니다. (현재 재학생 인증 과정 중---)
조금 심각한 버그- 2번째로 나타나야할 관중이 첫 씬에서 나타나는 버그가 생기는데 이러면 처음부터 게임 진행이 되지 않는다.
-id가 6015일때 타임라인이 올라가지 않는 버그가 있다-해결
중요!- 대화가 끝났는지 확인하려면 id==// && GameManager.instance.TalkEnd==true를 if문에 적으면 확인할 수 있다
같은 쉬운 방법으로는 해결할 수 없다.
npcTextManager로 가서 대사의 마지막줄에 의미없는""를 부여한 후,
GameManager.instance.talkIndex==(""가 있는 배열의 번호)를 id==//와 함께 if문에 넣으면
대화가 끝났는지 확인할 수 있다.
이런 방법으로는 전투가 아닌 이상 끝을 맺을 수 없다
...
현재 문제가 되는 점-경비병과의 전투장면에서 전투가 끝나고 나면 '겨우 이정도인가' 대사가 잘뜨지만, 전투를 이겼을 경우 '다시 오도록 하지' 대사가 뜨지않고, index를 벗어났다는 에러가 뜬다. 일찍일어났지만 해결은 하고 자야겠죠?
//대화 창 초기화
GameManager.instance.talkIndex=0;
crowdTextParent.GetComponentInChildren<Text().text=GameManager.instance.Talk(8040);
어둠의 방식으로 구현이 가능하기는 하네요 ㅎㅎㅎ다음번에는 조금 더 신박한 방법으로 개발하겠습니다^^
가끔 weaponNumber가 갱신이 안되는 버그가 있음-esc를 통해서 창을 닫으면 생기는 버그
추후 해결해야할 버그:
1.workPanel에서 마우스커서가 보이지 않음
2. 2번째로 나타나야할 관중이 첫 씬에서 나타나는 버그가 생기는데 이러면 처음부터 게임 진행이 되지 않는다.
3. 전투 시작과 전투에서 승리, 전투에서 패배했을 때 transition이 필요함.
4. gameStartScene과 tutorialScene 만들기