[Lua,GUITool] 루아로 게임 GUI와 툴 개발하기 위한 리서치
사내 프로젝트의 GUI는 정말 유지보수 하기 힘든 상태입니다. 하드코딩에 복잡하고 지저분하고 등등등 이루 말할 수 없죠. 그 와중에 잠깐 자체 스크립트(txt)로 구현된 신규 UI에 대한 분석 업무가 주어졌었고 분석 중에 이건 아니다 싶어서 기존 UI를 루아(Lua)로 바인드 시켜 개발을 하는 방향으로 가야겠다 생각했었습니다. 그때 당시 최종 결정난 것은 그냥 기존 UI 시스템 그대로 가자였고 지금은 엔진을 SDL2로 포팅중이기 때문에 지난 GUI 모듈 리서치 포스팅 에 있던 것 중 GWork 를 사용할 예정입니다. 루아를 사용하지는 않겠지만, 일단 리서치 했던 내용이 좀 아까워서 리서치 한지 1년이 다 되가는 내용 정리를 시작해봅니다. 일단 루아를 선택하게된 계기로 돌아가면, 신규 자체 UI 스크립트 시스템이라고 있었지만 스크립트라는 것 하나의 장점만 있었지 그 외에는 단점이 더 많았습니다. 단점 목록은 아래와 같은데요, txt 자체 스크립트의 활용 스크립트 자체 가독성과 파싱 처리가 별로 UI 컨트롤의 부족 기존 ui와 비슷한 단 2개의 컨트롤만 만들어진 상태 기존 ui와 호환성 없음. 다 다시 만들어야 함 안되겠다 싶어서 해당 안건에 대한 분석은 종료했었습니다. UI 작업은 저희처럼 툴도 없는 상황이고 시스템도 확장성이 고려된 상황이 아니면 노가다성이 심하죠. 그렇다고 현재 UI 시스템을 갈아엎고 다시 만드는건 너무 비용이 큰 것 같았습니다. 그래서 루아로 방향을 선회했던거죠. 차라리 현 GUI 구조도 별로지만 1차적으로 UI 생성과 관련된 컨트롤들을 루아로 바인딩 시켜 하드코딩이라도 좀 줄이고, 2차적으로 UI의 함수들의 기능까지 빼서 더 개선할 생각으로 말이죠. 루아는 현 모바일 게임 시대 이전 MMORPG 게임 분야에서 인기짱? 스크립트 언어였죠. 와우 덕분으로 알고 있는데, 사실 모바일에서도 Cocos2d-x나 다른 몇 엔진에서도 사용되고 있기는 합니다. 제가 생각하는 루아로 GUI 처리를 했을때의...