-
상용 게임 엔진 없이도 충분히 쉽고 재미있게 게임 개발을 할 수 있음
- 대형 엔진의 대부분 기능이 필요 없고, 직접 도구를 작성하면 유연성과 개발 효율성이 커짐
-
현대 C# 및 오픈소스 라이브러리를 활용하면 팀 규모와 관계없이 충분한 개발 환경 제공 가능함
-
FMOD, SDL3, Dear ImGui 같은 라이브러리와 자체 툴 결합으로 필요에 맞는 파이프라인을 구성할 수 있음
-
크로스플랫폼 개발, 유지보수, 이식성 측면에서 직접 구축한 경량화 프레임워크가 매우 유리함
서문: 20년차 게임 개발자의 소회
- 2025년에도 상용 게임 엔진 없이 비디오 게임을 개발 중임
- 주변에서 상용 엔진을 쓰지 않는 점에 놀라는 경우가 많음
- Unity나 Unreal 같은 대형 엔진의 기본 기능들은 직접 구현하는 것에 비해 만족스럽지 않고, 결국 많은 부분을 다시 만들게 됨
- 상용 엔진을 활용할 때 잦은 비즈니스 정책 변경이나 업데이트로 인한 문제에 노출됨
- 개별 프로젝트에 딱 맞는 작은 도구를 직접 만드는 것이 더 효율적이고, 장기적으로도 유지보수가 쉬움
게임 개발에 필요한 프로그래밍 언어 선택
- 오랜 기간 C# 을 주력 언어로 사용함
- 현대의 C#은 과거에 비해 성능과 문법, 개발 경험이 많이 개선됨
-
dotnet watch 같은 핫리로드 기능이 있어, 실시간 코드 수정 및 테스트에 매우 편리함
- 비개발자도 쉽게 접근해 팀원 간 역할 분담과 협업 효율성이 높음
- 내장된 reflection 기능으로 에디터나 툴 제작에 강점이 있음
크로스플랫폼 라이브러리와 렌더링·입력 구현
-
SDL3를 사용하여 윈도우, 렌더링, 컨트롤러, 크로스플랫폼 지원 등 모든 기본 기능을 구현함
- SDL3의 GPU abstraction으로 DirectX, Vulkan, Metal 등 다양한 환경 지원이 쉬워짐
- SDL 상단에 직접 작성한 C# 레이어(예: Foster)를 공용 유틸리티로 활용함
-
FMOD를 마지막 남은 상용 오디오 툴로 사용, 이외에는 오픈소스 기반 파이프라인 구축
- 기존에는 OpenGL/DirectX 직접 구현도 경험, SDL의 안정성이 상당한 이점임
에셋(Assets) 처리 방법
- 직접 엔진을 사용할 경우, 게임에서 필요한 파일만 간단히 로딩
- 픽셀 아트 게임처럼 소규모 에셋의 경우 모든 파일을 초기화 때 한 번에 적재함
- 대형 프로젝트에서는 필요한 에셋만 요청 시 로딩하고, 장면 전환시 메모리 해제 방식 적용
- 컨버팅이 필요한 경우 컴파일 시 자동 처리 스크립트 작성만으로 충분함
레벨 에디터 및 UI 툴
-
LDtk, Tiled, Trenchbroom 등 오픈소스 레벨 에디터와 데이터 연동이 쉬움
- 대체로 프로젝트마다 맞춤형 에디터를 직접 구현함
- UI 본체는 직접 작성하지 않고, Dear ImGui의 즉시모드 GUI를 적극 활용함
- C#의 reflection과 ImGui 조합으로 게임 오브젝트 상태를 실시간 시각화 가능
- 필요시 목적에 적합한 외부 툴과 자체 툴을 혼용함
크로스플랫폼 및 콘솔 이식성
- 과거엔 콘솔 이식 문제로 C++ 선택 필요성이 컸으나, C# Native-AOT 등장으로 해결됨
- FNA 등 오픈소스 프레임워크에서 적극적으로 콘솔 지원 확장 중임
- SDL3가 지원하는 범용 추상화 레이어를 활용하면 대부분 시스템에서 동일한 코드 베이스 운용 가능함
개발 환경: Linux 중심의 오픈 생태계
- 주력 개발 플랫폼을 Linux로 전환, 오픈소스 툴체인과의 궁합이 매우 좋음
- 특정 상용 소프트웨어와의 연결이 남아 있지만(예: vscode, github), 오픈소스 생태계가 넓어질수록 지원도 확대됨
- 개인적으로 Steam Deck 등 다양한 Linux 기반 플랫폼에서 동일한 작업 환경 구성 중임
추가 Q&A 및 사례
- Godot 사용 문의: 오픈소스 엔진 중심 개발 니즈가 있다면 Godot 추천, 그 외에는 커스텀 툴 선호함
- 3D 작업: 대형 엔진 장점이 있으나, 소규모 특화된 프로젝트엔 맞춤 프레임워크로 충분함
- 고성능 기술 요구: 요구 수준에 따라 Unreal 등 대형 엔진 사용도 무방함
- 팀 단위 엔진 변경: 소규모/단독 개발에 적합, 중대형 스튜디오도 장기 리스크 회피 이유로 커스텀 엔진 전환 사례 증가 중임
- 에셋 워크플로우: Aseprite 파일을 빌트인 태그와 타이밍을 활용해 자동으로 애니메이션 변환 가능함
결론
- 상용 게임 엔진 없이 게임 제작을 하는 것은 취향과 작업 방식에 달린 선택임
- 필요와 재미를 최우선으로 자신에게 적합한 방법을 선택하면 됨