코드와 UI구현은 최종적으로 완료되었습니다.
테스트를 통해서 실제 게임 동작에 따른 오류를 고쳐나가는 작업도 거의 완료되었습니다.
하지만, 같이 교육을 받고 있는 팀원들간의 완성된 게임 공유 및 테스트를 통해 직접 테스트 했을 때 발견하지 못했던 여러 이슈가 나타났습니다.
그래서 오늘은 어떤 오류가 발생했는지, 그리고 어떻게 해결했는지에 대해서 정리해보겠습니다.
RayCast 비활성화 설정
- Issue:
테스트 도중 갑자기 카드의 배치가 꼬임. 오류 발생 상황은 카드 계산시 카드들을 클릭해보다가 계산중인 카드도 선택되어 데이터 오류 및 배치상의 문제가 발생.
- Process:
원인은 UI상의 Button에 대한 Raycast 활성화 문제. 카드 계산 진행 도중에는 카드에 부착된 버튼의 RayCast를 비활성화 처리하는것이 필요해 보임
- Solution:
카드 계산 뿐만 아니라 버리기, 드로우되는 경우에도 마찬가지로 플레이어가 다른 카드를 선택할 수 있기 때문에 아래 코드를 통해 카드 선택을 방지함
```
public void SetInteraction(bool canInteract)
{
if (canvasGroup != null)
{
canvasGroup.blocksRaycasts = canInteract;
}
}
```

Tutorial 추가
Issue:
테스트 진행함에 있어 Balatro 게임을 해본 경험이 없어 게임 진행 방식을 모르거나, Balatro 진행간 필수적으로 알고 있어야하는 포커의 족보에 대한 이해도가 부족하여 게임 진행방식 설명 및 카드 족보 설명을 일일이 진행함.
Process:
플레이하는 대상을 이러한 장르와 규칙을 처음 접하는 대상으로 규정해야 한다고 인식,
튜토리얼 및 게임 진행간 수시로 족보를 확인할 수 있도록 처리하는 것이 필요하다고 판단함.
Solution:
Title에는 튜토리얼을 추가하여 게임 진행 가이드를 제공
그외 다른 씬에서 플레이어에게 친숙한 ESC 입력시 메뉴 활성화가 되도록 처리 및 족보 정보를 확인할 수 있도록 구현

오늘은 테스트를 통한 오류를 수정하였습니다.
테스트를 통해 느꼈던 점은
직접 테스트 하면 무의식적으로 오류를 회피하기 때문에 테스트를 받는 것이 오류를 최소화하고 좋은 품질의 게임을 개발 할 수 있다.
플레이어의 게임에 대한 이해도를 자신과 비슷한 수준이라고 파악해서는 안되며, 유저친화적인 환경을 구성하는 것을 염두해야한다.