수박 게임 개발 비하인드
Oct. 24, 2021, 3:18 p.m.
이 게임은 2048게임의 물리엔진이 적용된 버전의 게임이라고 볼 수 있습니다.
사실 이 게임은 인터넷에서 유명한 게임이라고 합니다. 여자친구가 이 게임을 하는 걸 봤는데 수박 그림 대신에 자신이 좋아하는 아이돌 사진이 들어간 게임이었습니다.
그래서 만들기도 쉬워보이고 해서 이 게임을 간단하게 한번 만들어 보자는 생각이 들었습니다.
2d 게임은 많이 안 만들어봐서 생각보다 여러가지 어려운 점들이 있었습니다.
먼저 원 모양의 과일 모양 그림 에셋을 구해야 하는데 원래는 사각형짜리를 구해서 원 모양 마스크를 통해 원 모양을 구현하려고 했습니다.
그런데 게임 오브젝트들이 많아지게 되면 마스크끼리 겹쳐서 가려져야 할 부분이 보이게 되는 경우가 생기게 되었습니다. 그래서 결국 원 모양의 에셋을 직접 제작해야했다는... 그래서 퀄리티가 좀 떨어진게 아쉽습니다.
두번째로는 같은 모양의 과일 두개가 합쳐졌을 때 점수가 올라가면서 두 과일 오브젝트가 사라지고 더 큰 과일 오브젝트가 나타나는 것을 구현해야 했었습니다.
그런데 이것도 단순히 같은 오브젝트 두개가 충돌하면 더 큰 오브젝트가 생기도록 프로그래밍을 했더니 동시에 3개가 부딪히거나 했을 때도 3개가 다 사라지고 다음 단계 오브젝트가 1개 생성되는 오류가 생기게 되었습니다. 생각보다 이 오류가 자주 나타났습니다.
그래서 결국 충돌 시에 두 오브젝트 쌍을 큐에 저장해서 제 3의 오브젝트가 동시에 충돌 했을 때 큐에 있는 오브젝트면 충돌 판정을 무시하는 식으로 코드를 수정했던 기억이 있습니다. 다른 우아한 방법이 있다면 좋을 텐데 이 방법 때문인지 최적화가 잘 된 것 같지는 않습니다.
생각지도 못한 우여곡절 끝에 게임을 출시하고 개발자 메일로 저작권이 없는 다른 아이돌 사진을 보내주면 추가해주겠다고 했더니 실제로 보내준 사람이 있었습니다. 그래서 그 아이돌의 사진도 추가해서 업데이트를 진행했었던 기억이 있습니다.
실제로 내 게임을 이용한 소비자와 소통을 한 느낌? 생각보다 기분 좋은 경험이었습니다.
전역하면 새로운 게임을 만들 때 개발노트도 더 활용하고 게임 이용자들과 더 소통 할 수 있으면 좋겠다는 생각이 듭니다.