VOXEL HORIZON을 구현한 게임 개발 플랫폼에는 UI 시스템이 있다.
버튼, 리스트박스, 그리드, 다이얼로그등의 부품들을 virtual interface로 노출하고 있는 DLL엔진이다.
이 프로젝트를 시작할 당시에는 아예 콘솔 기반 UI로 갈 생각이었다. 퀘이크같은 콘솔 하나 띄워줄 생각이었다. GUI는 고려하지 않았다. 그러다가 GUI를 구현하게 됐다. 여기까지만 해도 당초 계획을 아득하게 초과한 작업이다. 출시까지 시간이 없었으므로 모든 UI는 하드코딩해서 구현했다.
출시 이후에-게임은 망했지만-뭔 기능을 좀 추가하려고 하면 UI를 구현하는 일이 걸림돌로 작용했다. 정~~~말 하기 싫었다. 하드코딩이 너무 끔찍했다.
상업적으로는 아무 가치도 없지만 그래도 뜻한 바가 있어서 올해 말까지는 컨텐츠 업데이트를 할 생각이다. 그럼 UI하드코딩을 해야 하는가…결국 UI스크립트와 에디터를 만들기로 했다.
- 우선 3ds max의 .ase포맷을 흉내내서 간단한 스크립트 체계를 만들었다.
- 이걸 파싱해서 게임코드에서 사용할 수 있도록 했다.
- 1의 스크립트 체계를 읽어서 편집할 수 있는 에디터를 만들고 있다. (아직 진행중)
아직 UI 기능을 모두 스크립트로 노출하진 못했다. 에디터는 이제 시작해서 사이즈를 바꾸는 정도밖에 기능밖에 없다.
일단 기본적인 프레임워크는 구축한것 같다. 에디터에 편집 기능을 제대로 갖춰 넣고 필요한 UI기능은 지속적으로 스크립트 체계에 추가할 예정이다.