나는 페이드인 페이드아웃의 매니아이다. 일전에 비주얼노벨 만들적에도 페이드인 페이드아웃 연출에 홀딱 빠져서 거의 남발하다시피 했었지. JJ에이브럼스 하면 렌즈플레어가 떠오르듯이 나 대혐수 하면 페이드인 아웃을 떠올리면 될 것이다. 그래서, 아직 탐정게임의 시각연출에 대한 기획이 전혀 안 되어있는 상황임에도 불구하고, 페이드인/아웃 연출을 만들어놓기로 했다. 페이드인/아웃은 하이어라키 맨 위에 얹어지는 검은 이미지(이하 검은장막)의 알파값을 조절하는 방식으로 할 생각이다. 나중에 상황봐서 하이어라키 조절은 할 수도 있겠지만. 일단, 어떤 이미지던간에 페이드인/아웃시킬 수 있는 메서드도 만든 다음 (참고로 이 코딩은 지난번에 만든 배경음악 페이드아웃 메서드를 응용해서 만들었다.) 페이드인/아웃은 자주 사용할..
이제 메인메뉴 만들고 새 게임 시작하는 체계 / 로드해서 이어하는 체계를 만들려고 했다가, 난데없이 "그러고보니 3지선다 문제 모드가 있어야 하는 거 아닌가?" 하는 생각이 들어서 (실제로 쓰일지 어떨지도 모르는 채로 -_-) 3지선다 모드를 만들었다. 구현은 큰 어려움 없이 되긴 됐다 (사실 코딩을 하도 오래간만에 하다보니 뭐가 뭐였는지 파악하는 게 더 힘들었음) 버튼을 클릭하면 답이 입력되면서 답안과 대조하고, 또 각 버튼마다 별도의 대화파일을 로드하게 해놨다. 틀린 답을 고르면 다시 3지선다 메뉴가 떠서 재도전할 수 있다(즉 아무리 못해도 세 번째에는 답을 맞추게 되어있다). 그런데 틀린 답을 고른 뒤 다시 답을 골랐을 때, 지난번 대화의 마지막 대사가 또 뜨는 문제가 발생했다. 현재 대화 체계에서..
매번 코딩 시작하면 "이게 뭐였더라...."부터 시작하네 =_=
사실 탐정장르라고 해도 바리에이션이 워낙 많다. 단간시리즈같이 중2병스러운 것도 있고 역전시리즈처럼 캐쥬얼한 것도 있도. 내가 만드는 작품은 진구지 사부로 정도 분위기. 사실 기리노 나쓰오 정도로 어두웠으면 좋겠고(은근히 진구지 이야기가 다크하지는 않다. 진짜 딥다크한 건 기리노 여사님 작품이 =_=), 하라 료 만큼 건조했으면 좋겠다. 미신적인 짓이긴 한데, 왠지 기분이 동해서 까뮤(중에서도 제일 싼 거긴 하지만)를 글라스 밑바닥에 깔릴 정도로만 따랐다. 향이 정말 아름답다...이거시 내가 만들고 싶은 탐정게임의 향기.. 그리고 역시 음악은 울적하고 아저씨력 넘치는 블루스나 재즈. 자 음주 코딩 시작한다(꽐라코딩은 아니니까요).
퍼즐테이프에 템을 놓았을 때 제 자리에 놓였는지 아닌지 보여주는 기능... 게임 난이도를 낮춰주는 기능을 한다. 제 자리에 템을 맞출 때마다 표시가 나온다면 플레이어의 성취감에도 기여할거고. 그런데 계속 문제가 발생. 특히 조각을 데스크로 옮기는 게 갑자기 안 되었었는데.... 고쳤지만 어떻게 고쳤는지는 모르겠다. 지쳐서 오늘은 이만 해야겠다 -ㅅ- 이제부터 구현해야 하는 기능들을 어떻게 만들어나갈지 구상을 못 한 채로 마음만 급해 작업을 했다가, 뭐 부터 먼저 해야 하나 하는 식으로 우왕좌왕 헤매며 시간낭비만 한 하루가 되어버렸다. 그래도 이걸로 답안지가 제대로 로드되고 있다는 점, 플레이어가 작성한 퍼즐테이프와 대조가 가능하다는 점이 밝혀졌으니 그걸로 마음의 위안을 얻자... 그나저나 게임의 핵심 아..
지난번에 퍼즐테이프 편집기능을 만들었고, 이제 이 퍼즐테이프를 탐정모드에 포함시키는 작업을 할 것이다. 주요 행동 메뉴에서 "탐정모드"를 클릭하면... 탐정모드가 열린다. 탐정모드의 주요 구성요소는 물론 아래쪽의 인젠토리와 오른쪽의 탐정 SCG다. (반복하지만, 그림은 예전에 만든 비주얼노벨 "슬픔을 나에게"에서 사용된 걸 재활용했는데, 그림 원작자는 구름과자 작가님이다.) 오른편의 SCG에 템을 끌어다놓으면 해당 템에 대해 설명을 해준다. 거기까지는 예전에 이미 구현해놓은 부분. 새로 추가된 부분은 왼쪽의 윈도우다. 스토리가 진행되면 풀어야 할 퍼즐들이 추가되는데, 현재까지 확보된 퍼즐들의 목록이 저렇게 나온다. 퍼즐 목록은 퍼즐정보 클래스를 만든 뒤 그 리스트를 선언, for문을 이용해 생성하게 했다..
이 게임의 핵심 매카닉이라고 할 수 있는 퍼즐 테이프 만들기...를 만드는 중이다. 현재 가장 기본적인 기능, 그러니까 인벤토리의 템 끌어다놓기, 슬라이드로 둘러보기 기능 모두 완료된 상태. 살짝 해맸는데, 퍼즐 테이프 중간부분에 템을 집어넣을 때 list.insert()를 썼는데, 리스트에 새 항목을 집어넣을 때 기존의 항목과 교체하는 방식인줄 알았기 때문이다. 알고보니 새로 삽입되는 항목 다음의 항목들이 한 칸씩 뒤로 밀리는 거였다. 교체하는 방식인줄 알고 내가 직접 "한 칸씩 뒤로 미는"체계를 만들었었는데 도리어 그것 때문에 에러가 났던것... 아무튼 지금은 잘 구현해놨다. list.insert()가 "한 칸씩 뒤로 미는"방식이었기 때문에 코드도 아주 심플해져버렸고. 허무한 기분이 들 것도 같은데 ..
지금 만드는 건, 탐정게임의 필수요소라고 할 수 있는 "탐문모드"다. 대화를 이어나가면서 새로운 증거를 찾거나, 거짓말을 밝혀내는 등, 탐정장르에서 가장 재밌는 순간이 인물을 탐문할 때 나오기 마련이다. 그런데 날 막아선 건 시스템 구현 자체가 아니라, 전혀 다른 부분에서였다. 바로 대사가 다 나오기도 전에 탐문모드 인터페이스가 나와버리는 것... 내가 구상한 탐문모드 진행방식은 이랬다. 1."대화하기"커맨드 버튼을 누른다. 2.현재 위치에 대화 가능한 인물이 있다면, 탐문모드에 돌입하게 된다. 3.탐문모드에 돌입하기 전, 간단한 인트로덕션 대화가 나온다. "여어, 탐정. 또 만났군. 아직 물어볼 것이 남았나?"같은.. 4.탐문 인터페이스가 나오고..... 그런데 3단계가 다 끝나기도 전에, 아니, 3단..
NGUI -> UGUI 변환 작업 계속... 이번에 할 것은 인벤토리 만들기인데, 그 중 드래그 앤 드롭 기능 작업을 해야 한다. NGUI때에는 OnPress()를 사용했는데 UGUI로 바꾸고 나니 OnPress()가 작동하지 않았다. 그래서 void OnPress(bool itsPressed) { if (itsPressed) { Invoke("ItemPicking", 1.0f); //프레스 상태가 1초간 유지되면 유지되면 템집기 } else { CentralHub.Instance.InventoryManager.pickedItem.gameObject.SetActive(false); CentralHub.Instance.InventoryManager.itemRelease = true; //아이템 내려놓은 것..