2015년 2월 8일 일요일

게임 개발 프로세스 자동화

아!!
드디어 꿈에 그리던 .ㅠ.ㅠ

게임 개발 프로세스 자동화를 1차(0.1 버전;;; ) 완성했습니다.

개발 과제는
1. 필드 수정 시 클라이언트 및 서버 자동 업데이트
2. 레이블 추가 시 클라이언트 및 서버 자동 업데이트
3. 엑셀에 필드 주석을 넣을 수 있어야 하며, 클라이언트와 서버는 이를 판별해야 한다.
4. 엑셀에 레이블 주석을 넣을 수 있어야 하며, 클라이언트와 서버는 이를 판별해야 한다.
5. 엑셀 시트는 클라이언트 독립적 혹은 서버 독립적 및 동시 사용에 대한 구분이 있으며
6. 5의 기능에 따라 클라이언트와 서버는 자동 업데이트를 해야 한다.
7. 엑셀 필드는 서버 및 클라이언트 독립적인 사용이 가능해야 하며,
8. 7의 기능에 따라 클라이언트와 서버는 자동 업데이트를  해야 한다.
9. 잘못된 자료형이나 데이터의 입력이 감지되어야 한다.
10. 9에 해당하는 데이터의 위치가 어디인지 표시되어야 한다.
11. 생성된 파일은 자동으로 해당 폴더에 배치되어야 한다.
12. 바이너리 파일은 클라이언트 및 서버 실행시 자동으로 읽어 들여야 하며
13. 엑셀에서 수정 후 테스트까지(기능 구현 및 수정에 따른 부분은 제외) 완전 자동화가 이루어져야 한다.

이며,

동작은 아래와 같습니다.



1. 클라이언트 바이너리 파일 생성
2. 클라이언트 파싱클래스(바이너리를 로드하는) 파일 생성
3. 클라이언트 테이블 클래스(엑셀 테이블에 대응하는) 파일 생성
4. 레디스 서버 접속 및 Db1 초기화(서버용 엑셀 데이트가 들어있는)
5. 레디스 서버에 엑셀의 서버용(클라이언트 전용은 필터링됨) 데이터 전송
6. 엑셀 테이블 버전 업데이트
7. 엑셀 빽업
8. 생성된 파일 자동 배치
9. 클라이언트 바이너리 파일 다운로드 폴더로 이동
10. 서버 자동 세팅

부가 기능으로
1. SQLite에 데이터 전송
2. MySQL에 데이터 전송
3. 서버용 바이너리 파일 생성
4. PHP 테이블 클래스 생성

등이 있습니다.

부가 기능은 개발 환경의 변화에 따라 현재는 사용하지 않는 기능입니다.

일반적으로 서버 작업하시는 분들이

엑셀을 파싱하는 툴을 만드셨고

저도 역시 개발하면서 많이 썼었는데요

하지만 아무래도

서버쪽만 하시다보니 ..ㅠ.ㅠ

약간의 편의기능이 너무나 아쉬웠었습니다. (저는 기획자라 .ㅠ.ㅠ)

그래서 이번에 만든건

원터치!!

엑셀을 수정하고 단축키를 누르면

바로 게임 테스트가 가능한 환경을 만드는 것에 주력했고

다행이 1차적으로 완성된 것 같습니다.

비록 기능이 많아지면서

코드가 약간씩 어지러워 지고 있지만. ㅠ.ㅠ

이제 조금씩 수정해 가야할 듯 싶습니다.



댓글 없음:

댓글 쓰기