게임을 만들다 보면 가장 어려운 부분 중 하나가 바로 UI 입니다. 단순히 버튼과 화면 배치를 넘어서, 게임의 분위기와 개성을 표현하고, 플레이어의 몰입감을 유지하는 핵심 요소이기 때문입니다.


저는 현재 TypeScript 기반의 하이브리드 앱 방식으로 모바일 게임을 개발하고 있습니다. 게임 엔진은 제가 제작한 키위엔진을 활용하고 있으며, UI는 조금 독특하게도 Web Components를 사용해 HTML Element를 직접 다루는 방식을 채택했습니다.


키위엔진 소개

https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=193760


TypeScript 기반 2D 웹 게임 엔진을 오픈소스로 공개했습니다. - 인디 게임 개발 마이너 갤러리

안녕하세요? 개인적인 목적으로 개발중이던 TypeScript 기반 2D 웹 게임 엔진을 오픈소스로 공개했습니다.웹 사이트http:// kiwiengine.github.io/ko(띄어쓰기를 지워주세요, 이 갤러리에 //

gall.dcinside.com



이 접근법은 확장성과 유연성 측면에서 장점이 크지만, 문제는 제게 디자인 감각이 부족하다는 점이었습니다. ^^; 개발자라면 한 번쯤 겪는 딜레마죠. 기능은 잘 돌아가는데, 막상 화면이 예쁘지가 않은 겁니다.



이때 도움이 된 것이 바로 UI 프레임워크입니다.


프레임워크는 일관된 디자인과 컴포넌트를 제공하기 때문에, 디자인 능력이 부족한 개발자라도 어느 정도 완성도 있는 화면을 쉽게 만들 수 있습니다. 게다가 웹 생태계에는 수많은 UI 프레임워크가 존재하기 때문에, 프로젝트 성격이나 취향에 맞게 선택할 수 있다는 장점이 있습니다.


게임 UI는 보통 귀엽고 키치한 스타일을 요구하는 경우가 많습니다. 이런 분위기에 잘 어울리는 프레임워크로는 다음과 같은 것들이 있습니다.


Web Awesome - 인디 게임 개발 마이너 갤러리

Web Awesome

webawesome.com



24b0d121e09c28a8699fe8b115ef0468e6a3e9ba



Bulma: Free, open source, and modern CSS framework based on Flexbox - 인디 게임 개발 마이너 갤러리

Bulma is a free, open source CSS framework based on Flexbox and built with Sass. It's 100% responsive, fully modular, and available for free.

bulma.io




그리고 모바일 게임을 개발하다 보면 하단 메뉴 바 같은 모바일 전용 UI 컴포넌트가 필요할 때가 많습니다. 이런 경우에는 모바일 UI에 특화된 프레임워크가 큰 도움이 됩니다.


대표적으로 많이 쓰이는 두 가지는 다음과 같습니다.

Ionic Framework - The Cross-Platform App Development Leader - 인디 게임 개발 마이너 갤러리

Ionic empowers web developers to build leading cross-platform mobile apps and Progressive Web Apps (PWAs)

ionicframework.com


- https://onsen.io/


Onsen UI 2: Beautiful HTML5 Hybrid Mobile App Framework and Tools - 인디 게임 개발 마이너 갤러리

Onsen UI 2: Beautiful HTML5 Hybrid Mobile App Framework and Tools

onsen.io


이 프레임워크들은 모바일 친화적인 디자인 시스템과 네이티브와 유사한 UI 요소들을 제공해주기 때문에, 게임 인터페이스를 구성할 때 상당히 유용합니다.




UI 제작은 여전히 게임 개발에서 가장 까다로운 작업 중 하나입니다. 하지만, UI 프레임워크를 적절히 활용한다면 디자인적 허들을 낮추고, 동시에 게임의 정체성을 살릴 수 있습니다.

저처럼 엔진을 직접 만들거나, Web Components 같은 독특한 접근을 하더라도 프레임워크와의 조합을 통해 훨씬 더 효율적이고 완성도 있는 결과물을 얻을 수 있습니다.

결국 중요한 건, 주어진 도구들을 얼마나 잘 조합해서 자신만의 게임 스타일을 표현하느냐인 것 같습니다.

읽어주셔서 감사합니다.