게임 개발을 좋아하는 웹 개발자로써, 이번에 벌써 세 번째 동아리 게임잼에 웹으로 참가하였습니다. 이번 게임잼 주제는 가정, 스승, 어린이 (5월이니까요.) 중 랜덤이었고, 저희 조는 '스승'이 선택되었습니다. 그래서 '스승'이라는 주제로 이번에 개발한 게임은 난 선생이고 넌 학생이야! 입니다.
사실 게임잼 참가 전날에 웹으로 만들었을 때 더 효율적으로 개발할 수 있는 게임이 뭐가 있을까 생각해보다가, 포인트 앤 클릭 방식으로 진행되는 육성 시뮬레이션 게임을 고민해보았습니다. 아무래도 배경 지식이 있는 분야의 게임을 만들고 싶어서, 3년동안 학생에게 공부를 시키고 내신이나 수능 성적으로 대학을 보내는 유머성이 가미된 게임을 만들고 싶다는 생각을 잠깐 하다가 잠에 들었습니다. 마침 주제가 '스승'이 걸려서, 생각하자마자 개발할 수 있게 되었습니다. 기획할 때에도 고민했던 점은, 주제가 '대입'인 만큼 학벌주의나 능력주의적인 가치관에서 벗어날 수 없을 것 같다는 생각이었습니다. '태도(인성)'라는 스탯을 만들어서, 성적과 무관하게 '태도' 스탯에 따라서 다양한 엔딩을 보여줄 수 있도록 하는 것이 최초 기획이었는데요. 이에 따라 캐릭터마다 다양한 스토리의 엔딩을 넣고 싶었으나 시간과 창의력의 한계로 인해 차후로 미뤄둔 기획입니다. 🥺
요즘 react-dnd 라이브러리를 활용해서 화면 안에 윈도우를 구현하는 것에 꽂혀서, 이번에도 선생님의 PC 화면이라는 컨셉으로 구현해 보았는데요. 교실의 모습은 CCTV로 보는 것처럼 나름 노이즈까지 넣어 묘사를 해 보았는데 원하는 대로 연출이 되었는지는 잘 모르겠습니다. 아무래도 UI적으로는 모바일 화면이 나은 것 같아요. 게임잼 때에는 PC 화면의 기본적인 기능만 구현을 해두었고, 게임잼이 끝나고 난 후에 아쉬움이 남아 모바일에서도 앱처럼 작동할 수 있도록 밤새 개발에 착수했습니다. 이후 초안을 공개했더니 몇몇 모바일 브라우저에서는 스크롤이 안 되는 이슈가 있어, 이를 해결하는 데에도 진땀을 뺐습니다. 원인은 height: 100vh;였고, 모바일 브라우저의 경우 네비게이션 바로 가려지는 영역까지 100vh로 인식해서 스크롤되는 height가 의도보다 짧았던 것이 문제로 패딩을 조금 더 넉넉하게 주어 해결하였습니다.
아무래도 학생들의 정보 등, 여러 컴포넌트에서 공유하는 정보가 많아 Context API를 사용하였는데요. Redux를 자주 사용하지 않는 편이기도 하고, 처음에는 시간도 부족하고 그렇게 정보량이 많을 것 같지 않다는 판단에 이용했는데 Context API로 변수를 전달하면 구조상 변수가 변경될 때 해당 변수를 사용하는 컴포넌트 뿐 아니라 그 부모 컴포넌트들까지 리렌더링되는 이슈가 있습니다. 대부분의 컴포넌트에서 학생 정보 값을 참조하고 있기 때문에 성능적 이득이 크지 않을 수도 있지만, 개발하다 보니 변수의 종류 자체가 너무 많아져서 Recoil 등의 상태 관리 라이브러리를 이용하는 것이 더 좋은 판단이었을 것이라고 생각됩니다. 이 부분에 대해서는 더 공부가 필요할 것 같다고 느꼈습니다.
'Review' 카테고리의 다른 글
[리뷰] 현실에서는 학생인 내가 SW 교육봉사단에서는 선생님? (4) | 2023.10.24 |
---|---|
[리뷰] 카카오브레인 패스파인더 2기 회고 (3) | 2023.10.04 |
[리뷰] 제1회 SKYCC 연합 해커톤: 페어링 후기 (2) | 2023.05.17 |
[리뷰] 2022 고려대학교 여름 해커톤에 참여했어요 (8) | 2022.08.22 |
[리뷰] 2022 제1회 YCC × KUCC 교류 해커톤 후기 (0) | 2022.07.31 |
댓글