시작에 앞서 이 일지는 사진이 거이 없을거다. 또 내가 이걸 꾸준히 올릴지도 미지수라서 이 일지를 막상 기다리지 않는걸 추천한다.

그리고 주인장은 엔진으로 게임을 만드는게 처음이다.



1. 빌드업


최근 공장 기능이 있는 게임을 하다가 공장을 매번 뜯어 고치고 다시 설계하는 일이 많아졌다.

그래서 막상 설계 프로그램을 찾아보니 출시된지 얼마 안된건지 제작 소식만 있고 실제로 나온 프로그램은 존재하지 않았다.


마침 내가 프로그램 개발을 하고 싶은 마음도 있고 마냥 기다리기는 힘들거 같아서 직접 구현하기로 해봤다.


프로그램을 찾는중 요즘 가볍고 인기 많은 고도엔진을 발견하여 채택하게 되었다.


2. 정리하기


일단 기본적으로 내가 만들어야 할 기능들을 대표해서 5가지 정도 정리해 보았다.


1. 그리드 생성

- 게임도 그렇고 2D 형식으로 설비와 컨베이어 벨트를 설치해야 하는데 그리드 형식이 표준이니 이걸 구현 해야 한다.


2. 아이템 입/출력 시스템

- 모든 공장 게임에는 들어가고 나오는 아이템이 있어야 하는법. 이 게임은 따로 채집된 자원이 자동으로 메인 창고로 전송됨으로 채집 시스템은 구현할 필요가 없다.

고로 메인 창고에서 아이템이 나오는 시스템과 공장 시설에 아이템이 들어가는 시스템이 필요하다.

참고로 아이템이 컨베이어 벨트로 이동하니 출/입력 시스템 반경 1블럭 내에 컨베이어 벨트가 있고 그 컨베이어 벨트와 연결되어 있는지도 따져봐야 한다.


3. 공장 설비 시스템

-일단 입구에서 부터 걸러야 함. 아이템이 감지 범위에 들어오면 이 아이템이 이 설비에 들어 갈수 있는지 유무. 특정 아이템 하나 만들려면 이 아이템이 몇개 필요한지 유무.

설비에 들어 갈수 있는 최대 아이템 수 등등... 따져야 할게 많다.


4. 컨베이어 벨트 시스템

-공장 시스템에 핵심은 이게 아닐까? 이 게임은 다른 공장류 처럼 하나하나 컨베이어 벨트를 설치하는것이 아니라 시작 점과 끝점, 필요하면 꺽는 점을 지정해서 연결한다.

한마디로 컨베이어 벨트는 자동으로 설치가 되어야 하는... 벌써 머리 아프다.


5. 프리뷰

-공장 설비 설치전에 이 공간에 설치가 가능한지 설치한다면 영역을 얼마나 차지할지 미리보기로 볼수 있는 기능인데... 이런건 어떻게 구현하는건지 모르겠다.



3. 제작 시작


일단 그리드 부터 시작해봤다. 마침 타일맵이라는 좋은 시스템이 있어서 가볍게 80x80 사이즈로 구현해보았다.



viewimage.php?id=2ab2d429f1&no=24b0d769e1d32ca73ce786fa1bd625312d4f8c89e7ee4af4dd6fd9f67cbd08997a20668ecb14cda675f783685cd9baf6abab07009be68852f5012aaae70c10688d





너무 밝으면 눈 아파서 배경 색과 동일하게 제작하였다.



여기까지 만드는데 4시간을 반납했다.



다음은 화면 이동과 줌 기능인데...


제미나이에게 조작시 화면이 타일을 넘지 않게 해달라고 추가로 요청을 넣어봤다.



다행히 화면 이동, 줌 기능은 잘 작동하지만 줌아웃을 최대로 하면...



24b0d121e09c28a8699fe8b115ef0468e6aee2b2


화면을 반 가까이 초과한다....


일단 기본적인 기능은 잘 구동 되기에 저 현상은 나중에 고치자.


그렇게 임시로 만든 코어 타일을 조립하고 1일차가 종료 되었다.



1일차 후기를 남겨 보자면....


AI하고 말 씨름하고 코드 분석에 대부분 시간을 투자한거 같은데 결과가 이 모양이니 상당히 마음에 안든다.

2일차에는 입/출력 시스템을 만들건데.... 이거 하나 만드는데 거이 7시간을 썼는데 내가 입/출력 시스템을 만들수 있을지가 의문이다.


뉴비이고 피드백 환영이다.