첫번째 프로젝트의 개발이 끝났다. 개발하는 동안 아쉬웠던 점도, 그에 대한 개선점도 많았다. 그에 대해 한번 정리해보고자 한다.
개발 시작 동기
간단하고 조작이 편리한 하이퍼 캐주얼 게임을 즐겨했었다. 그중에서도 (지렁이를 활용한 땅따먹기 게임, 먹이를 먹어가며 지렁이를 키우는 게임, 지렁이의 크기에 상관없이 머리가 다른 개체에 부딪히면 죽는 시스템을 활용한 생존 경쟁 게임 등) 특히 지렁이 관련된 게임을 많이 했고 지렁이가 움직이는 모습이 정말 신기하고 재밌었어서 어떻게 만든건지 궁금해 기억에 남았다. 그래서인지 개발 공부을 시작하게된 초반부터 항상 지렁이 게임이 떠올랐고, 그렇다면 "한번 구현해봐야지"하고 마음을 먹게되어 결국 첫번째 프로젝트인 Wiggle Quest가 탄생하였다. 😁
메시지 시스템
느낀점
이 프로젝트를 진행하면서 가장 크게 느낀 아쉬움 중 하나는 메시지 시스템에 대한 이해 부족이었다.
이 프로젝트의 많은 기능들이, 특히 "현재 상태 확인" 같은 단순한 상태 확인 기능 조차 Update 함수에서 매 프레임마다 실행되고 있다. 이는 성능에 부정적인 영향을 주는 것뿐만 아니라, 상태가 어디서 관리되고 어떤 부분에서 호출되고 있는지 명확하지 않아 코드의 가시성이 떨어져, 프로젝트 전체 구조 파악도 어려웠다. 그렇기 때문에 버그가 발생할 때마다 코드 전체를 검토해야 하는 상황이 자주 발생했다. 만약 메세지 시스템을 알았다면, 몇만번 돌아가며 검사하는 대신, 연관된 상태가 변할때 한번씩 검사했으면 되었을 것이고, 이로써 코드의 가시성이 좋아졌다면 버그 해결도 훨씬 더 빨라졌을 것이다.
개선점
메시지 패턴을 학습하고 다음 프로젝트에서 이를 적용함으로써 매 프레임마다 상태를 확인하는 비효율성을 제거할 계획이다.
예외처리
느낀점
예외처리의 중요성을 제대로 이해하지 못하고 미숙하게 다루어 예상치 못한 버그들이 발생했고, 이를 해결하는 데 많은 시간이 소요되었던 경험이 아쉬움으로 남아 있다. 예외처리를 통해 예기치 못한 오류를 처리하여 안정성을 높이는 방법을 더 일찍 알았더라면, 더 많은 시간을 절약하고 빠르게 버그를 수정할 수 있었을 것이다.
개선점
예외처리와 관련된 추가 학습을 통해 프로젝트에서 발생할 수 있는 다양한 상황에 대한 대응 방안을 마련할 계획이다.
객체지향 프로그래밍(OOP)
느낀점
객체지향에 대한 개념이 부족해, 상속과 캐스팅 등을 제대로 이해하지 못한 상태에서 프로젝트를 진행했다. 그로 인해 코드 구조 파악이 어려웠고, 버그가 발생했을 때 모든 코드를 일일이 확인해야 했다.
특히 상속을 잘못 사용해 코드가 복잡해지고 유지보수성이 떨어졌으며, 객체 간의 의존성이 높아 수정해야 할 부분이 생기면 관련된 모든 코드를 일일이 확인해야 하는 비효율적인 상황이 자주 발생했다. 이로 인해 버그가 발생했을 때 원인을 쉽게 파악할 수 없었고, 전체적인 코드의 흐름을 이해하는 데 많은 시간을 소모해야 했다.
개선점
객체 지향에 대한 책을 읽어 객체 간의 의존성을 줄이고, 유지보수성을 높여 다음 프로젝트에 적용시켜보아 코드의 가시성을 높이고, 버그 발생 시 빠르게 원인을 파악할 수 있도록 개선할 계획이다.
지식의 깊이가 작업 효율성에 미치는 영향
느낀점
작은 프로젝트에서도 예상보다 많은 시간이 소요되었고, 이를 통해 효율적인 작업 방식과 코드 관리의 중요성을 깨달았다. 특히, 지식의 깊이가 깊을수록 문제 해결 능력이 향상되어 작업 효율이 크게 달라진다는 사실을 실감했다. 이러한 문제들은 향후 더 큰 프로젝트에서 더 큰 영향을 미칠 수 있음을 깨달았고, 평소에 많이 배우는 것이 얼마나 중요한지 다시 한 번 느꼈다.
개선점
이 경험을 통해, 앞으로는 관련 분야의 지식을 더 많이 습득하고, 꾸준한 학습을 통해 더 큰 프로젝트에서도 효율적으로 문제를 해결할 수 있도록 준비해야겠다고 다짐했다.
'Project > Wiggle Quest' 카테고리의 다른 글
[Wiggle Quest - 4] 상호작용 UI (0) | 2024.03.11 |
---|---|
[Wiggle Quest - 3] 아이템 스폰 시스템 (0) | 2024.03.06 |
[Wiggle Quest - 2] 몸집이 늘어나는 지렁이(연결리스트) (0) | 2024.03.06 |
[Wiggle Quest - 1] 끊임없이 늘어나는 필드 (맵 생성) (0) | 2024.02.01 |