개요
22년도에 프로그래밍 공부 겸, 간단한 게임을 만들어보고자 시작했던 프로젝트가 2년이 지난 24년도에 끝을 맺게 됐네요.
조금 지난 지금, 깃 커밋 내역을 되돌아보면서 정리하면서 글을 적어봅니다. 📝
이번 글에서는 UI, 다루지 않았던 사소한 내용들, 마지막으로는 프로젝트를 마무리하면서 느꼈던 점들을 정리해보려 합니다.
프로젝트의 첫 아이디어는 '체스 말을 원하는 수량을, 자유롭게 배치할 수 있게 한 체스 게임은 어떨까?' 였습니다. '샷건 킹' 이라는 로그라이크 액션 게임을 보고 아이디어가 생각났던 것 같아요.
따라서, 핵심 시스템인 체스말 구성으로 덱을 빌딩하는 시스템과, 실제로 체스처럼 말이 움직이고 전투하는 시스템 두 가지를 구현하는 것을 프로토타이핑에 반영하는 것을 목표로 했습니다.
처음에는 데디케이트 서버까지 붙여볼까 생각도 했었습니다. 하지만 프로그래밍 실력도 실력이고, 프로토타입이라기엔 벅찬 기능일 것 같아서, 지금과 같이 클라 하나에서 번갈아가면서 플레이하는 구조가 되었습니다.
화면 무드
화면의 비주얼적인 분위기는 생각보다 어렵지 않게 잡혔던 것 같습니다. 딱 고딕(?)스러운 느낌이 떠올라, 어두운 - 깔끔한 고딕 스타일의 분위기로 방향성을 잡고 작업을 진행했습니다. 체스 말로 사용한 에셋의 느낌도 이런 느낌과 어울리는 스타일의 모델이었던 것 같아요.
UI는 스트로크와 마름모꼴을 주 요소로 잡고 심플한 스타일로 작업했습니다. 글꼴은 여느때와 같이, 애용하는 국밥 폰트 Pretendard 를 사용했어요.
간단한 기능들 추가
아무리 프로토타입이라고 해도 너무 조악하게 만들면 프로토타입이라고 하기 어려운 더미 덩어리가 될까봐, UI와 더불어 간단한 조작 피드백용 애니메이션들을 추가했습니다.
아래 코드와 같이 체스 말이 선택됐을 때, 사람이 손으로 집듯이 위로 올라오는 두트윈 애니메이션을 넣고,
카드를 선택했을 때 선택한 카드가 튀어나온다던지 하는 애니메이션들을요.
public void PieceSelectedAnim() // 선택됐을 때 애니메이션
{
this.gameObject.GetComponent<Transform>().DOLocalMoveY(1f, 0.2f);
}
public void PieceUnSelectedAnim() // 선택 해제됐을 때 애니메이션
{
this.gameObject.GetComponent<Transform>().DOLocalMoveY(0.5f, 0.2f).SetDelay(0.075f);
}
번외로, 말 이미지를 뽑을 때엔 별도 씬에서 유니티 레코더를 사용했습니다.
유니티 레코더도 업데이트되면서 기능이 점점 개선되더라고요.
프로젝트를 마무리하며
딱 프로토타입 다운 볼륨으로 작업을 완료했는데, 실제 볼륨의 게임을 혼자 개발하면 어떤 어려움이 있을지 맛보기 정도는 해본 것 같습니다. 막상 작업을 혼자 하니, 중간중간 딴길로 빠질 때가 많았었습니다. 핵심적인 기능에만 집중하자고 마음을 다잡기는 했지만, 카메라 회전 속도 같은 사소한 것들에 생각보다 시간을 많이 할애했더라고요.
프로토타입은 몇 분과 조금 플레이를 해보았는데, 막상 해보니깐 뭔가 애매했습니다. 재밌다고 하기엔 무리가 있었죠.
물론 앞에서 신경쓰지 않은 디테일한 부분에서 오는 그런 불편함도 있었지만, 조작감의 문제가 제일 컸던 것 같습니다.
특히 콜라이더를 체크해서 말을 선택하는게 가장 불편했던 부분인 것 같아요. 만약 개선한다면, 소녀전선2와 같은 스타일로, 타일을 선택하는 방식으로 바꿀 것 같습니다.
그래도 게임을 만드는 건 재밌었습니다.
그리고 마지막이 되서야 밝히게 되는데, 사실 프로젝트 MC의 MC는, M(미소녀) C(체스) 라는 뜻이었습니다!
킹을 어린 병약 미소년으로, 퀸을 연상의 누나 느낌으로... 같이 가볍게 컨셉을 잡았었던 기억이 나네요. 아래의 폰 컨셉은 그 흔적입니다. ♟
'Dev-Log' 카테고리의 다른 글
프로젝트 MC #03 - 덱 빌딩 및 데이터 저장 (0) | 2025.01.10 |
---|---|
프로젝트 MC #02 - 말 이동 가능하게 구조 만들기 (0) | 2022.12.18 |
프로젝트 MC #01 - 체스 보드 생성하기 (0) | 2022.09.18 |