FOnline Engine
FOnline Engine은 고전 《Fallout》 시리즈와 《Arcanum》 등의 등각투영 게임 표현을 계승하여 온라인 멀티플레이어 롤플레잉 게임을 제작할 수 있도록 만든 공개 게임 엔진이다. 2006년부터 개발되어 왔으며 현대 코드베이스는 C++20을 사용한다. 단순한 싱글플레이 엔...
| 분류 | 게임 엔진, 2.5차원 온라인 RPG 엔진 |
|---|---|
| 개발 주체 | FOnline Engine 프로젝트, cvet |
| 개발 시작 | 2006년 |
| 구현 언어 | C++20 |
| 주요 장르 | 등각투영 온라인 롤플레잉 게임 |
| 디자인 영향 | Fallout 1·2·Tactics, Arcanum |
| 실행 구조 | 서버 권위형 클라이언트·서버 모델 |
| 서버 기능 | 플레이어 동기화, 게임 규칙, 상태 관리 |
| 클라이언트 | 등각투영 2D·3D 표현 |
| 제작 도구 | 맵 에디터, 스크립트 컴파일, 리소스 빌드 |
| 네트워크 | 엔티티 상태 복제 및 멀티플레이 |
| 플랫폼 | 데스크톱, 모바일, 브라우저 |
| 예시 게임 | Last Frontier |
| 공개 라이선스 | MIT License |
| 공식 문서 | FOnline Engine |
| 소스 코드 | cvet/fonline |
FOnline Engine은 고전 《Fallout》 시리즈와 《Arcanum》 등의 등각투영 게임 표현을 계승하여 온라인 멀티플레이어 롤플레잉 게임을 제작할 수 있도록 만든 공개 게임 엔진이다. 2006년부터 개발되어 왔으며 현대 코드베이스는 C++20을 사용한다. 단순한 싱글플레이 엔진에 온라인 기능을 추가하는 대신 네트워크로 연결된 플레이어와 서버가 공유하는 세계를 처음부터 중심 구조로 취급한다.[1]
엔진의 주요 구성은 권위 있는 게임 상태를 관리하는 서버와 이를 표시하고 사용자 명령을 전달하는 클라이언트이다. 월드 안의 캐릭터와 물체는 엔티티로 표현되며 서버가 게임 규칙을 적용해 상태를 변경하고 필요한 데이터를 클라이언트로 복제한다. 이는 여러 사람이 같은 지도와 객체에 상호작용하는 MMO 게임의 구조를 처리하기 위한 것이다. 클라이언트는 원본 게임 데이터와 별도로 제작한 그래픽·게임 규칙을 사용할 수 있다.
원작 Fallout의 등각투영 표현에 영향을 받았지만 FOnline Engine은 특정 상용 Fallout 콘텐츠의 실행만을 위한 소스 포트가 아니다. 새 게임의 지도와 객체, 캐릭터 데이터, 대화·아이템·규칙 및 스크립트를 직접 구성할 수 있도록 일반적인 게임 개발 기반을 제공한다. 따라서 엔진 코드와 개별 게임의 원본 콘텐츠, 상표·세계관에 대한 권리는 구분해야 한다.[2]
현대 FOnline은 게임 서버와 클라이언트뿐 아니라 맵 에디터, 리소스 변환 도구, 테스트 실행기, 자동 업데이트와 배포 기능을 하나의 소스 트리에서 관리한다. CMake 기반 빌드 흐름으로 여러 프로그램을 만들 수 있으며, 엔진을 사용하는 게임 프로젝트는 자체 저장소에서 엔진을 포함하고 게임별 데이터와 스크립트를 소유하는 구조를 권장한다. 외부 프로젝트에서 필요한 부분을 수정하기 위한 확장 지점도 제공한다.
배포 환경에는 데스크톱뿐 아니라 모바일과 웹 브라우저가 포함된다. 각 플랫폼에서 실제 그래픽스와 입력·오디오의 처리, 실행 패키징과 네트워크 연결 방식이 달라지므로 공통 엔진 코드와 플랫폼 특정 기능을 구분하는 빌드 구성이 필요하다. 프로젝트는 동기화된 객체 상태와 공통 콘텐츠 파이프라인을 활용해 다양한 클라이언트를 같은 서버에 연결하는 방향으로 개발된다.[3]
엔진은 MIT License로 공개되어 소스의 열람과 수정, 재사용이 가능하다. 팬 게임 및 독립 온라인 RPG 제작에 활용됐으며 최근 사례로 《Last Frontier》가 프로젝트 문서에 소개된다. 초기 2000년대 팬 커뮤니티에서 시작한 엔진 계통과 현재의 재구성된 C++20 엔진 사이에는 상당한 기술 발전이 있으므로 기록에서는 릴리스와 엔진 버전을 구분하는 것이 적절하다.