최근 수정 시각 : 2024-10-06 13:08:34

플레이오네 엔진

파일:Pleione_Engine.jpg

1. 개요2. 구성3. 특징4. 현행 문제
4.1. 해결된 문제4.2. 원인

1. 개요

Pleione Engine

데브캣 스튜디오 마비노기를 위해 사용한 3D 게임 엔진이다. 사하라 서버 엔진과 연동된다. 당시 넥슨에 3D 기술이 없어서, 처음부터 자체 개발한 것은 아니었고 나크의 친구인 이현기가 노는 동안 개발한 엔진을 싸게 구매해서 사용했다고 한다.

처음 나왔을 때엔 훌륭한 최적화로 호평이 많았으나, 얼마 지나지 않아 멀티 코어 그래픽 카드 성능의 비약적인 발전으로 인해 이를 활용하지 못하는 플레이오네 엔진 또한 마비노기의 결점 중 하나가 되었다.

2. 구성

  • 셀 셰이더 1.X
  • 자체적인 GI 시뮬레이터
  • 포스트 스크립트 필터
  • 3D 레스터라이저

3. 특징

  • 플레이오네 엔진은 다른 엔진들과 달리 맵 데이터를 실시간으로 읽어들이기도 하지만, 게임 존이 나누어져 있기도 하며, 특정 위치를 넘어갈 때 새로 데이터들을 읽어들이는 기능들도 가지고 있다. 이것을 프리로딩이라고도 한다. 언리얼 엔진에도 비슷한 기능이 있다.
  • GPU 부하보다 CPU 부하량이 훨씬 높고, 멀티코어를 지원하지 않는다. 이는 당시 하드웨어 환경 때문이다. 당시에 그래픽카드들의 성능은 CPU 연산을 보조하는 수준에 그쳤기 때문에 GPU 연산의 비중을 늘릴 수가 없었고(전혀 사용하지 않는 것은 아니다), CPU는 전부 싱글코어였기 때문. 아래의 성능과 관련된 모든 문제들은 이 특징 때문이다.
  • 맵이 좁은 경우에 한정이지만, 동적 로드 및 데이터 압축 기능들과 더불어 맵핑 품질 자동 제어 등 편리하면서 사양이 덜 타게 하는 기능들이 많다.
  • 데이터를 조각내서 불러오는 특징이 있다. 물론 멀티스레드라는 건 아니다.
  • Z-축이 없다. 이 때문에 모든 플레이어가 위로 지나갈 수 있는 다리 형태 구조물은 아래로 지나갈 수 없으며[1] 비행중 퀘스트를 받거나 완료하면 부엉이가 저공비행하는 현상이 발생한다.
  • 텍스처 순환 기능이 있다.
  • 카툰렌더링을 기준으로 렌더 이미지를 생성한다.
  • 윤곽선 추출 아웃라인 그리기를 한다. 3D로의 착시감을 준다.

4. 현행 문제

  • 개발 당시 환경상 가정용으로 듀얼 코어를 쓰는 컴퓨터가 없었으며 연산도 CPU 위주였기 때문에 거기에 맞춰 개발된 게임이다. 그렇다 보니 멀티코어 프로세서와 GPU 위주로 연산하는 경향과 동떨어져 있어 아무리 하드웨어가 좋아도 소프트웨어에서 이를 제대로 활용을 못한다. 패치로 듀얼 코어를 지원하게 되었으나 처음부터 멀티코어 프로세서를 염두에 두고 개발된 게 아니기 때문에 성능이 좋지 않다. 그래서 코어가 많은 CPU보다는 단일 코어 클럭이 높은 CPU[2]가 마비노기 구동에 유리하다. 다만 무작정 고클럭이면 좋은 것은 아니고, 인텔이나 AMD나 최신 세대 CPU의 경우 세대를 거듭하면서 동클럭 대비 성능을 계속해서 개선해왔기 때문에 굳이 마비노기 플레이를 위해 저코어 고클럭 PC 구입을 고려할 필요는 없다. [3]
  • 대량의 맵 데이터 로드시 느려지는 현상. 이는 초기 2002년도에 생각하지 못한 것으로, 엔진 개발 시 맵 데이터와 텍스쳐의 로드가 증가할 것을 예상하지 못해 발생한 일이다. 2022년 기준 최소한 HDD보다는 SSD를 사용해 주는 편이 좋다.
  • 수직 동기화 옵션이 존재하지만 전체화면일 경우에만 해당되며 별도의 프레임 제한이 없다. 이 말인즉 그래픽 카드에 엄청난 과부하를 준다는 뜻. 마비노기를 창모드로 하면 고주파를 미친듯이 뿜어내는 그래픽 카드의 절규를 들을 수 있다. 별도의 프레임 제한 프로그램을 사용해야 한다.[4]
  • 글로우 이펙트 효과 구동 시 매우 느려지는 현상이 있다. 이 역시 엔진 용량의 한계에 의한 것이다.
  • 윤곽선 그리기 속도가 매우 느리다. 이것도 CPU에 의해 처리된다.
  • ATi 계열 그래픽 카드에서 성능이 급하락한다.
  • 사실상 주요 엔진 제작/관리자들이 다 떠나고 없는 것으로 알려져 있다. 즉 미래가 없다

4.1. 해결된 문제

  • 사양 불문 텍스쳐 로딩 시간이 오래 걸리는 문제점이 있었다. 게임 실행 후 인벤토리를 열면 몇 분동안 깨져있는 그래픽으로 가득찬 덩어리만 보일 정도. 그나마 2024년 8월 13일 운명 점성술 추가 패치에서 텍스쳐 로딩이 하드웨어 성능에 맞춰 이루어지도록 개선되었다. 왠만해선 몇초 이내 텍스쳐 로딩이 완료될 정도로 크게 개선되었다.

4.2. 원인

플레이오네 엔진의 문제는 시대가 바뀌었지만, 껍데기만 바뀌고 게임 엔진은 구식이라는 것이 가장 크다.

그래픽 기술이 발전하면서, 처리해야할 데이터와 텍스처의 양이 증가하였지만, CPU RAM에서 그래픽 카드로 데이터를 전송해야 할 버스의 성능은 크게 향상되지 않았다. 덕분에 그래픽 관련 계산할 일은 미리미리 그래픽 카드 쪽으로 보내서 GPU에서 연산해야 한다.

하지만 플레이오네가 개발될 당시에는 GPU 성능이 지금처럼 좋지 않았기 때문에 CPU가 계산의 대부분을 수행하는 방식을 택했다. 이러면 CPU가 처리해야 하는 양이 늘어나는데 멀티 코어 프로그래밍은 지원되지 않았다. 일반인들의 사양이나 컴퓨팅 환경에 있어서 멀티 코어는 상상조차 할 수 없었고, GPU 또한 지금만큼 중요하지 않았기 때문에 이는 당시 기준으로는 나름 합리적인 설계였다. 문제는 마비노기가 십수년간 서비스를 진행할 동안 멀티코어 시대가 열렸고 이용자들의 GPU 성능이 비약적인 발전을 이루었다.

위에서 말하는 엔진 용량이란 결국 그래픽 카드에 데이터를 전송하는 버스의 한계치라는 것이다. 이런 방식 때문에 CPU와 그래픽 카드의 성능이 좋아져도, 그만큼 효과를 보지 못하는 현상이 일어났다. 병목현상 뿐 아니라 시대에 흐름에 따른 해상도 향상, 컨텐츠 추가, 게임의 비주얼 향상에 있어 발전한 성능을 거의 활용하지 못해 유저들의 퍼포먼스가 기존에 비해 되려 갉아먹히는 문제가 심각할 정도이다. 때문에 원만한 플레이를 위해선 D3D 오버라이더 같은 외부 프로그램을 적용해야 그나마 컴퓨터에 덜 무리를 시키면서 플레이할 수 있다. 이걸 늘 유저들이 찾아 손봐야 하는 문제

또한 2010년대 이후 출시되는 그래픽 카드들은 DirectX 9 API에서 효율이 매우 나쁘며, 특히 Radeon 게열 그래픽 카드는 그 정도가 매우 심해서 고사양의 컴퓨터를 사용하더라도 프레임 드랍이나 인풋렉을 비롯한 여러가지 문제 등이 발생하는 점도 있다.

2024년 3월 기준으로 19년이라는 세월 동안 계속 굴려지고 있다. 초기때 비하면 튕김이나 위치렉은 어느 정도 개선을 통해 많이 나아진 상태지만[5], 근본적인 한계로 인해 여전히 유저들이 게임에 적응하는 실정이다.[6]

이 현상은 대만노기라 불리는 마비노기 몽상생활 모바일 게임에서 이 문제가 대부분 해결되었기 때문에, 국내에서도 대만노기 수준으로 바꿨으면 하는 유저들이 많았다. 전 세계의 마비 유저들은 엔진 교체와 리마스터하는 것을 많이 건의했지만, 마비노기가 워낙에 오래된 게임이고 서비스를 지속하고 있는 온라인게임의 특성상 현실적으로 가능하겠냐는 의견이 많았다. 당시 그런 주장이 나왔던 근거를 정리해 보면 대략 이렇다.
  • 상술한대로 주요 엔진 제작/관리자들이 다 떠나고 없는 것이 가장 큰 문제다. 인적 자원 측면에서 메이저 엔진에 비해 현저히 풀이 좁고, 개발자 입장에서 자체엔진을 만지고 왔다는 것이 경력 측에서도 메이저 엔진에 비해 인정받기 어렵다.
  • 게임 엔진을 교체한다는 것은 파일 몇 개 교체하듯이 간단한 일이 아니다. 굳이 신체에 비유하자면 모든 장기를 새로 이식받는 대수술 정도로 생각하면 된다. 난이도만 따지자면 이미 게임을 새로 하나 만드는 것과 다를 게 없어진다. 대수술이 잘 끝났다고 해서 100% 완벽하게 버그없이 작동한다는 보장도 없고, 이전에는 없었던 사소한 오류부터 치명적인 호환성 문제까지 폭넓게 나타날 수 있다.[7] 유저들의 원활한 플레이를 위해 서버 및 클라이언트를 항시 문제없이 구동해야 하는 온라인 게임의 경우 버그 하나하나가 치명적이다.
  • 대형 엔진과 다르게 소규모로 관리되는 온라인 게임의 구식 엔진이나 자체엔진 특성상 엔진 교체를 고려할 수준까지 오면 상술했듯 게임을 바닥부터 만드는 것이나 마찬가지인 수준에 이르는데, 엔진을 교체하는 비용과 시간을 고려했을 때 그다지 높은 수익성을 기대하기 어렵건, 교체 없이도 충분한 수익을 거둘 수 있다고 판단되건 완전히 다른 새 게임을 만드는 것이 더 효율적인 상황이 나와 버린다. 보통 이런 게임들은 리마스터를 한다고 새 게임과 같은 수익성을 기대하기는 어려운 온라인 게임들이 대부분이니 만큼 엔진 교체나 리마스터에 들일 비용으로 새로운 수익 모델을 만드는 것이 더 바람직하기 때문. 넥슨에서 퍼블리싱하는 클로저스와 같은 자체엔진 사용 게임도 똑같이 공유하고 있는 문제점인데, 사측은 당연히 수익을 목표로 움직일 수 밖에 없기 때문에 생기는 문제다.

물론 이런 게임들도 기존 유저들의 목소리와 신규 유저의 유입을 생각해야하기 때문에 엔진에 각종 개선작업을 진행하지만, 기술팀이라고 지지부진한 구식 자체엔진 하나에만 매달려 있을 수는 없는 노릇이니 비주얼적인 퀄리티 향상은 여러가지 이유로 요원했다.

플레이오네 엔진의 주 사용처인 마비노기 측도 이 문제를 모두 인식하고 있어서, 우선 64비트 클라이언트 도입했으며 DX9에서 DX11로의 전환을 통해 퍼포먼스 및 그래픽 향상을 도모했다. 물론 저 두가지 문제점을 해결한다고 해서 최신 엔진만큼의 효율성이나 비주얼을 기대하기는 어렵지만, 적어도 메모리 누수로 인한 퍼포먼스 저하와 멀티코어 사용률 증가, GPU 사용률 문제와 저폴리곤 모델링 및 테셀레이선 도입 등 다양한 부분에서 개선이 이루어질 거라는 예상이 많았다.

그리고 2023년 6월 17일에 개최된 2023 마비노기 판타지 파티에서 언리얼 엔진으로의 엔진 교체가 발표되었다.
물론 라이브 서비스를 계속 하고 있기 때문에 엔진도 정비중이며 24년 점성술 업데이트 당시 텍스처 로딩이 크게 개선 되었다.나크보다 잘한다


[1] 즉 플레이어 위쪽에 또다른 플레이어가 있을 수 없다. [2] 펜티엄 골드가 이 정의에 부합한다. [3] 반대로 구세대 CPU의 경우 클럭이 높더라도 낮은 IPC로 인해 성능이 제대로 나오지 않는 경우가 있을 수 있으니 주의. [4] 그래픽카드 제어판에서 옵션 권한을 응용프로그램에게서 빼앗아오는 식으로. [5] 각 채널의 1채널 기준으로 경매장의 등장으로 개인 상점 이용이 줄어들어 초기의 막대한 렉을 경험할 필요가 없게 될 만큼 여유롭게 변했다. 물론 그만큼 유저수가 줄어들었다는 점도 있었다. [6] 싱글 코어만 지원하는 2014년작인 클로저스도 비슷한 사례인데, 이 역시 태생이 자체 엔진이라 한계가 극명이 드러났다. 때문에 아무리 개선을 해도 나아질까 말까하는게 현실이며, 메모리 누수로 욕을 많이 먹었다. 이후 64비트 업데이트를 통해 조금은 나아졌다. [7] 사이퍼즈의 경우 고작 엔진 버전을 조금 올렸다고 1주일간 정상적인 플레이가 불가능할 정도로 게임 환경이 좋지 않았다.