- FACTS: 이번 일주일 동안 있었던 일, 내가 한 일
타워 디펜스 팀 프로젝트
업무 분장을 통해 클라이언트 코드를 작성하게 되었다.
게임 화면 - 와이어 프레임
게임 화면 - 구현된 모습(12-26 UPDATE)
개발 체크 리스트
- 피버 타임 구현 ✅ 2024-12-25 => 데미지 1.5배, 사정거리 1.2배
- 피버 타임 게이지 바 구현 ✅ 2024-12-25
- 첫 타워는 중간값에. 그 다음에 구매하는 타워는 좌표를 지정해서 설치해야 한다. ✅ 2024-12-25
- 타워 설치할 때 범위 표시 ✅ 2024-12-25 => 마우스오버를 하면 범위가 표시되게
- 설치가 안 될 때는 색깔로 알 수 있게 구현 ✅ 2024-12-27
- 타워 구매 UI 제작(랜덤한 타워가 아래쪽 UI에 생성되도록) ✅ 2024-12-25
- 타워 자세히 보기 UI 제작(타워 정보 표시, 업그레이드와 판매 버튼 출력) ✅ 2024-12-26
- 필요한 핸들러 이벤트가 있다면 이삭님께 보고(타워가 몬스터를 공격할 때 사거리, 데미지 검증. 근데 이러려면 서버가 몬스터 id랑 체력을 알고 있어야 하는 거 아닌가??) ✅ 2024-12-27
코드 픽스 리스트
- 피버 타임이 발동했을 때 화면의 색이 변한다거나, 커다란 알림창이 상단에 생성된다거나 변하는 게 있었으면 좋겠다. ✅ 2024-12-27
- 타워 자세히 보기 UI창이 다른 타워 이미지와 겹칠 때 이벤트 리스너가 중복될 것 같아서 조건문으로 다 분기점을 만들어줘야 할 듯 ✅ 2024-12-27
- 업그레이드 가격도 표기하기 ✅ 2024-12-26
- 실제 플레이를 해보니까 업그레이드 기능에 자잘한 버그가 있는 것 같음(업그레이드에 필요한 돈이 없을 때 생기는 버그였음!) ✅ 2024-12-26
- 업그레이드 버튼이 정확하게 눌리지 않는 버그가 있다.(살짝 왼쪽이어야 눌리고 오른쪽은 눌리지 않음) ✅ 2024-12-26(정보창을 오른쪽으로 옮겼더니 해결됐다. 정보창의 범위를 정의할 때 오류가 있었던 듯)
- 캔버스 상에서 이미지가 겹쳐있을 때 그 중 하나만 클릭한 것으로 판별을 해야한다.(이럴 때 쓰는 로직 검색해보기 아마도 distance가 가장 가까운 걸 선택하게 되겠지? 하지만 이 방법은 타워와 정보창과 버튼이 별개로 있는 지금 코드에서 별로 효과적이지 않을 것 같다…) ✅ 2024-12-27
- FEELINGS(느낌, 주관) : 나의 감정적인 반응, 느낌
웹소켓 통신 코드를 작성할 기회가 줄어들어서 아쉽긴 하지만, 객체와 배열을 관리하며 로직을 짜는 것도 나름의 재미가 있어서 즐거웠다.
- FINDINGS(배운 것) : 그 상황으로부터 내가 배운 것, 얻은 것
타워 디펜스 게임답게 클라이언트를 개선하고 싶었는데 방법을 정확히 몰라서 고민스러웠다. 그러다 우연찮게 랜덤 워크 이론에 대해 알게 되었다. 랜덤 워크 이론이란 주어진 공간에서 매 순간 랜덤으로, 즉 확률적으로 이동하는 모습을 수학적으로 표현한 것이다. 이 이론에 대한 자세한 내용은 27일자 TIL로 작성을 해두었다.
- FUTURE(미래) : 배운 것을 미래에는 어떻게 적용할 지
개발 체크 리스트
- 공격 범위의 기준을 원이 아니라 칸으로 바꾸는 걸 고려해보자.
- 범위 공격or다중 타격 구현하기(고양이 마법사를 추가해도 좋을 듯)
- 배경이랑 공격로 스프라이트 이미지 그리기
- 최고 점수, 골드 같은 걸 오른쪽 아래나 왼쪽으로 옮겨볼까??
- 타워 자세히 보기 창에 공격 범위 표시하기(바둑판 모양처럼 )
댓글