프로젝트 소개

Kaiju Engine은 Go(Golang)로 작성되고 Vulkan을 기반으로 하는 전통적인 설계와 코딩 방식을 따르는 2D/3D 게임 엔진입니다. 현대적이고 쉬운 시스템 수준 프로그래밍 언어를 사용하여 단순함에 초점을 맞춘 새로운 종류의 게임 엔진을 만드는 것을 목표로 합니다. 주요 기능은 다음과 같습니다: - 2D 및 3D 게임 엔진 - 내장 에디터 (에디터 자체가 엔진에서 실행되는 게임입니다) - 크로스 플랫폼: Windows, Linux, Mac, Android - 파티클 시스템 - 2D/3D 애니메이션 (스켈레탈 스키닝, 스프라이트 시트, 플립북, 머티리얼 애니메이션) - 오디오: 음악, 효과음, 3D 사운드 소스 (Soloud 기반) - 선택적 HTML/CSS 마크업을 지원하는 맞춤형 UI 시스템 - GLSL 변경 시 실시간 셰이더 업데이트 - Go를 통한 에디터 플러그인 지원 - 3D 물리 (Bullet3) - 다른 게임 엔진에 비해 더 빠른 빌드와 더 나은 성능 (주장) 진행 상황: 엔진은 프로덕션 준비가 되었지만, 에디터는 아직 완전히 안정적이지 않습니다. 프로젝트는 활발히 개발 중입니다. 시작하기: 사전 빌드된 라이브러리를 얻으려면 서브모듈과 함께 저장소를 클론하거나, 의존성을 수동으로 빌드하세요. Go, C 빌드 도구, 플랫폼 라이브러리, Vulkan이 필요합니다. `src` 디렉토리에서 `go build -tags="debug,editor,filedrop" -o ../bin/ ./`로 빌드하세요. 문서는 mkdocs와 mkdocs-material로 로컬에서 실행할 수 있습니다. 엔진은 단순하고 배우기 쉽게 설계되었으며, 개발자는 Go로 직접 게임을 작성할 수 있습니다. 모딩을 위한 Lua 지원이 계획되어 있습니다. 저자는 Go의 가비지 컬렉터 사용에 대해 논의하며, 대부분의 공개 게임 엔진이 가비지 컬렉터를 사용하고, 엔진 설계가 힙 할당을 최소화한다고 언급합니다. 커뮤니티: GitHub, Discord, Twitter/X, 메일링 리스트에서 지원과 기여가 가능합니다.