
업데이트가 늦어 죄송합니다. 감기에 걸려 개발을 할 수 없는 상태였습니다.
알만툴을 벗어났으니 현대적인 16:9 해상도에 맞춰 UI를 재설계하고 있습니다. 초안은 고전 어드벤처 게임처럼 아이템과 버튼이 한 화면에 오밀조밀 몰려있는 느낌으로 작업해봤는데, 마음에 들지만 기존의 컨셉을 모두 버려야 해서 프로토타입 빌드와 이질감이 클 것 같습니다.

상단 화면에 들어갈 포트레이트를 그려보고 있습니다.

포트레이트 작업을 마쳤습니다.
프리소스 이미지를 트레이스해서 임시 배경을 그리고 있습니다.
목업에서 에셋을 분리/배치하고 있습니다.
json 스크립트를 읽고 출력하는 파서를 세팅했습니다.
내장 기능을 사용하지 않고 선택지를 구현하는 법을 고민하고 있습니다.
https://typie.me/uVjObX 일반적인 기획 이론은 텍스트 어드벤처 게임에 적용하기 어렵다고 생각해서 좀 더 원론적인 이론에 대해 공부해봤습니다.

선택지용 UI를 작업했습니다.
대화 출력, 내장 기능 없는 자체적인 선택지를 구현했습니다.
호버/선택 상태를 알아볼 수 있는 임시 연출을 추가했습니다.


다시 컨디션이 나빠져서 잠시 휴식했습니다.
기존 리소스를 활용해서 뭔가 할 수 있지 않을까 싶어 이런 저런 목업을 만들어봤습니다만 화면 해상도가 달라져서 어색한 것 같습니다. UI를 새로 만들 필요를 느낍니다.
여행의 동적인 느낌을 주기 위해 운전자 시점의 전명 차창 위라는 컨셉으로 변경할까 합니다.

차 안에서 밖을 보는 컨셉으로 작업했습니다. 80년대 올드카의 내부 인테리어 자료를 찾기가 어렵고 생소한 구도라서 많이 헤맸습니다.
원경에 비춰질 구름, 근경에서 차가 움직이는 속도감/배경을 보여줄 프랍을 구상하고 있습니다.


지도와 텍스트 박스의 UI를 작업하고 있습니다.
많은 색을 쓸 수 없다보니 플랫한 단색 UI가 눈에 띄지 않는 것 같아서 강렬한 색+디테일한 묘사의 UI로 변경했습니다.

지도 화면의 UI 리소스를 모두 배치했습니다.
기존의 여행 덱 시스템 대신 원래의 기획으로 돌아가 하나의 장소에서 턴을 소비해서 탐색 후 이동하는 방식으로 교체했습니다. 턴은 추격자들로부터 도망치고 있다는 상황을 상기시키고, 그 상황에서 한정된 투자를 해서 선택의 재미를 느끼게 합니다.

UI 창을 아래로 내려두고 필요할 때마다 위로 끌어올리는 기능을 만들었습니다. 일단은 숫자 키로 창을 열고 있지만 나중에는 백미러 장식의 버튼을 눌러서 창을 열 수 있도록 연출할 예정입니다.
반복되는 코드를 확장 기능으로 분리해서 더 가독성 좋게 정리했습니다.
메모가 생성될 때 확장 구조체로부터 자동으로 ID를 수신하게 만들었습니다.
13일에 작업했던 프로젝트의 코드를 이식해서 대화 출력과 선택지를 구현했습니다.
https://bbunsik.typie.me/2fec2fc46cd92dc69feb89eae6e5ee78 12일에 공부했던 내용을 바탕으로 제 게임에 어떻게 적용할 수 있을지를 생각해봤습니다.

대화 기능이 점점 복잡해지는데 대화를 호출해야 하는 파트도 함께 많아져서 코드를 일일히 복사하는 대신 대화 기능을 모듈화 후 호출하도록 변경하고, 겸사겸사 대화 진행/선택지로 나뉘어져 괜히 쓸데없는 로직을 제거해서 경량화했습니다. 이제 모든 대화는 선택지로만 진행됩니다.
메모를 클릭했을 때 각 메모의 ID를 참조해서 대화 노드를 시작하게 하는 기능을 만들었습니다.
주사위 태그가 있는 대화 노드에 진입하면 3D 주사위가 구르는 기능을 만들었습니다.
3d 주사위의 모든 면에 마커 오브젝트를 부착해서 어떤 면이 위로 향하고 있는지 감지 후 주사위 값을 계산하는 로직을 만들고 있습니다.
몸이 좋지 않아 잠시 쉬었습니다.
https://typie.me/t3i2a0 게임에서 스토리텔링을 할 때의 주의사항에 대해 스터디했습니다.

주사위의 접지면을 판별하는 코드가 작동하지 않아서 주사위 각속도가 줄어들면(=주사위가 구른 후 시간이 지나면) 모든 면의 텍스처를 랜덤하게 바꾸는 편법을 썼습니다. 자세히 보시면 주사위가 멈췄을 때 모든 면의 눈이 같습니다.
메모 선택-이벤트 진입-주사위 굴리기나 선택지 등 진행-이벤트 종료-메모 재선택의 사이클을 완성했습니다.

인벤토리와 맵을 부르는 기능을 분리했습니다. 지금은 숫자 키에 할당되어 있지만, 나중에는 백미러에 매단 키링에서 버튼을 눌러 창을 열 수 있게 할 것입니다.

인벤토리에 아이템을 넣을 수 있습니다. 내장 인벤토리 시스템이 빈약하기 때문에 글로벌 변수에 인벤토리 배열을 만들고 그 안에 현재 가지고 있는 아이템을 저장해서 인벤토리를 열 때마다 갱신해서 표시하도록 했습니다.
상단의 노트는 지금은 비어있지만 아이템을 클릭하면 이름과 설명을 표시하고 사용하거나 버리는 기능을 추가해야 합니다.
https://typie.me/XsZcUU 이전 글에서 배운 내용을 달자여에 적용해봤습니다.
아이템을 누르면 상단의 노트에 설명과 이름이 링크됩니다.
댓글 0개
첫 번째 댓글을 작성해 보세요!