포트나이트 ANDROID 출시 기술 분석

소개

8월 9일, 우리는 당사의 파트너인 Samsung의 특정 디바이스에서 지원되는 포트나이트 Android 베타를 출시했습니다. 며칠 후에는 다양한 단말기 제조사 제품을 이용하는 일부 Android 디바이스 소유자에게 초대장을 보내기 시작했습니다. 베타 버전을 통해 성능, 보안, 디바이스 호환성 및 포트나이트 설치 관리자를 이용한 포트나이트 Android 배포에 관한 많은 교훈을 얻을 수 있었습니다. 출시와 관련한 기술적 정보와 우리가 현재 작업 중인 일, 그리고 조만간 제공될 Android 관련 기능을 자세히 살펴보겠습니다.

통계

Android용 포트나이트 출시 후 21일 동안 엄청난 관심이 쏟아져, 2천3백만 명 이상이 Android 베타를 이용하고 천5백만 명 이상이 당사의 APK를 설치했습니다. Android는 아직 초대 전용 기간이지만, 초대받은 플레이어를 게임 플레이로 이끄는 과정은 iOS 베타 버전과 동일합니다.

하드웨어, 최적화


기술 소개

모든 플랫폼에 같은 게임을 제공하면서 크로스 플레이를 지원하는 일은 어디서도 찾아볼 수 없는 어려운 일이었습니다. 일반적으로 모바일 기기에 맞춰 게임을 조정할 때는 플랫폼의 성능 제한에 맞게 콘텐츠를, 심지어 디자인까지도 단순화합니다. 예를 들어 카메라에 가까운 오브젝트를 추려서 드로우 콜을 줄일 수 있습니다. 포트나이트에서 Android 플레이어는 PC와 콘솔을 이용하는 친구들과 같은 경기를 즐기기 때문에 우리는 게임 플레이에 영향을 주는 모든 요소를 렌더링해야 합니다.

ANDROID 버전 출시 과정

우리는 2018 1월부터 포트나이트 배틀로얄 Android 버전의 핵심 팀과 함께 열심히 작업을 진행해 왔습니다. Android 버전 출시를 가능하게 한 업무의 대부분은 렌더링 성능, 안정성 및 메모리 관련 작업이었지만, 수많은 다양한 Android 하드웨어와 OS 버전 및 드라이버 버전을 지원하는 일 또한 상당한 난관이었습니다.

파트너사와의 협력은 포트나이트를 Android에 지원하는데 매우 중요했습니다. 그들의 지식, 전문 기술과 노고가 없었다면 이 작업은 불가능했을 것입니다.

우리는 Samsung과 긴밀하게 협력해 Samsung 디바이스용 포트나이트의 프로파일을 작성하고 최적화했습니다. Samsung은 전 세계 여러 에픽 사무실에 기술자를 보내 당사의 기술자와 함께 최적화와 성능 분석 작업을 진행했고, 특히 Vulkan 렌더러를 위해 수많은 코드를 변경했습니다. 그들은 계측된 테스트용 전화기와 사내 기술자 툴을 이용해 당사의 성능 및 메모리 문제를 파악하게 하고 해결 방법을 알려주었습니다. 또한 Samsung 휴대폰 사용자를 위한 가장 원활하고 안전한 설치 프로세스를 만드는 작업도 함께 진행했습니다.

Google 기술자도 당사 사무실을 방문해 포트나이트의 프로파일을 작성하고 최적화했습니다. 덕분에 우리는 중요 최적화와 메모리 누수를 확인하고, Android에서 OpenGL의 고정 프레임 페이싱 구현도 처리할 수 있었습니다. Google의 Android 기술자는 대단히 유능하며, 탁월한 게이밍을 위한 Android 에코시스템을 만들고 지속적으로 개선하려는 열정이 대단했습니다.

또한 우리는 ARM, Qualcomm, Imagination Technologies, Razer, HiSilicon을 비롯한 수많은 다른 파트너와 함께 작업해 포트나이트를 테스트하고 최적화했습니다.

세분화

Android 에코시스템은 다양한 제조사가 제작한 휴대폰으로 구성됩니다. 각 휴대폰은 CPU와 GPU 코어 구성을 포함하는 System-on-Chip(SOC)을 중심으로 설계됩니다. SOC의 일반 제품군에는 Adreno GPU가 포함된 Qualcomm의 Snapdragon(현재 지원되는 디바이스의 71%)과, Samsung의 Exynos, MediaTek의 MT 시리즈 및 HiSilicon의 Kirin 시리즈가 있으며 후자의 모든 제품에는 ARM Mali GPU가 포함됩니다. 각 디바이스는 조금씩 다른 Android 운영체제 버전을 탑재하며, 대부분의 제조사는 스케줄러와 전력 관리 기능을 맞춤 설정합니다. 디바이스의 GPU가 같더라도 그래픽 드라이버 버전이 다를 수 있습니다. 그 결과 같은 기반 하드웨어를 공유하는 두 디바이스가 성능 특성이 완전히 다르고 서로 다른 버그가 발생하기도 합니다.

우리는 Android 최신 버전 도입 결과 0~2년 전 디바이스의 성능이 예상보다 훨씬 개선되었음을 알게 되었습니다. 현재 디바이스 요구 사항이 더 높은 당사의 베타 버전에서 포트나이트 사용자 92%는 Android 8(Oreo) 이상을 실행하며, 8% 미만은 Android 7(Nougat)을, 0.5% 미만은 2015년 이전에 출시된 Android 버전을 실행 중입니다. 2년 이상 된 디바이스에서는 상당한 성능 저하가 발생합니다. 이러한 디바이스의 경우 제조사는 맞춤형 업데이트를 출시해야 하며, 대부분의 경우 전 세계 수많은 무선 이동통신사와 조율해 이러한 업데이트를 개발하고 출시해야 합니다.

이렇게 복잡한 작업을 관리하고자, 언리얼 엔진의 계층형 장치 프로파일 시스템을 사용합니다. 먼저 낮음(Low), 중간(Mid), 높음(High), 에픽(Epic)이라는 4가지 성능 프로파일을 만듭니다. 이러한 프로파일은 엔진 퀄리티 설정을 조정해 성능 특징이 서로 다른 디바이스에서 게임이 실행되게 합니다. 낮음 프로파일은 가시거리를 최대한 줄이고 선택형 그래픽 기능을 모두 해제합니다. 에픽 프로파일은 그림자와 폴리지를 포함한 모든 요소를 설정하며, 최신 디바이스에서 구현할 수 있는 최장 가시거리를 제공합니다.

무엇보다도, Adreno 54x 및 Mali G72 같은 다양한 GPU 프로파일을 제공합니다. 이러한 GPU 프로파일은 하드웨어 기능에 가장 적합한 성능 프로파일을 선택하며, 특정 하드웨어에 필요한 최적화나 해결책을 적용할 수 있게 합니다. 마지막으로 Samsung Galaxy Note 9 Adreno나 Google Pixel 2 XL 같은 특정 디바이스 전용 프로파일도 보유하고 있습니다. 이 마지막 디바이스 프로파일들은 필요할 때 특정 디바이스의 추가 해결책이나 최적화를 제공하는 데 도움이 됩니다. 처음에 디바이스 모델, OS 버전, 그래픽 드라이버 버전 같은 속성을 확인해 적용할 장치 프로파일을 결정합니다.

렌더링 성능

렌더링 CPU 비용은 안정적인 프레임 속도 유지와 관련한 가장 심각한 성능 문제였습니다. PC, 콘솔과 iOS에 비해 Android의 그래픽 드라이버에 훨씬 더 많은 CPU 시간을 소비했습니다. Galaxy S9 Adreno 버전 같은 대부분의 최신 Android 기기는 프레임당 1500 드로우 콜을 처리하지만, 구형 기기는 처리량이 훨씬 낮습니다. 당사가 지원하는 중급 디바이스는 평균 600 드로우 콜, 하급 디바이스는 평균 400 정도를 처리해야 합니다.

이미 올해 초 iOS 이전 버전을 탑재할 때 프레임 별로 렌더링해야 하는 오브젝트 수를 실현 가능한 범위 내에서 최대한 줄였기 때문에, 다른 선택지를 추구해야 했습니다. 동적 배칭 드로우 콜을 인스턴스화된 드로우 콜로 바꾸는 실험을 했는데, 약간의 수확은 있었지만 더욱 복잡해진 코드를 감당할 정도로 충분하진 못했습니다.

당사의 OpenGL 렌더러에 적용된 수많은 최적화도 약간의 성과가 있었지만, 우리가 거둔 가장 큰 성과는 전혀 뜻밖의 것으로, 메모리 최적화 중의 하나인 에뮬레이트된 유니폼 버퍼였습니다. 이것은 UE4가 수년 동안 지원해 온 코드 경로로 유니폼 버퍼, 즉 상수 버퍼를 기본적으로 지원하지 않는 OpenGL ES2 디바이스에 사용합니다. 작동 방식은 다음과 같습니다. 셰이더 편집 시간에 우리는 셰이더에 필요한 상수를 모두 확인하고, 이를 셰이더가 읽는 어레이로 통합했습니다. 또한 유니폼 버퍼에서 상수를 모아야 하는 지점과 상수를 상수 어레이에 배치해야 하는 지점을 엔진에 알려주는 매핑 테이블도 저장합니다. 실행 시 우리는 유니폼 버퍼를 CPU가 액세스할 수 있는 메모리에 유지하며, 매핑 테이블을 이용해 임시 버퍼에 복사한 다음 모든 상수를 단일 glUniform4fv 함수 호출로 업로드합니다.

정확한 원인은 알 수 없지만, 에뮬레이트된 유니폼 버퍼 코드 경로는 드라이버에 드는 시간을 대폭 절약해 주었습니다. 아마도 드라이버가 내부적으로 비슷한 작업을 하며 이러한 구현이 우리의 작업량에 더 빠르게 적용되기 때문일 것입니다. 또는 우리가 더 적은 리소스를 생성하고 결합하기 때문에, 드라이버가 이러한 버퍼의 평생 관리를 위한 북키핑에 시간을 덜 쓰기 때문일 수도 있습니다. 이유가 어떻든, 이 경로는 경우에 따라 드라이버 비용을 10~15% 줄입니다.

VULKAN

Vulkan은 Android의 최신 그래픽 API로, 성능과 하드웨어에 대한 적은 액세스를 목적으로 제작되었습니다. 2016년 우리는 Samsung과 협력해 Android에서의 고성능 그래픽 API로 할 수 있는 일을 보여준 ProtoStar 데모를 제작했습니다. 포트나이트는 프레임 별로 수많은 오브젝트를 그려야 하며, 따라서 Vulkan이 적절한 선택지처럼 보였습니다. 안타깝게도 현실은 그렇게 명확하게 맞아떨어지지 않았습니다.

Vulkan 지원은 아직 Android의 필수사항이 아니며, 따라서 아직은 전체 에코시스템에 적용할 수 없습니다. 우리는 비교적 최신이지만 최고 수준은 아닌 공구만 대상으로 하지만 초기 Vulkan 드라이버는 버그와 성능 문제가 많이 발생했고, 그 결과 대부분의 디바이스에서 OpenGL이 Vulkan보다 더 빠르고 안정적이었습니다. 이것은 전혀 놀라운 일이 아닙니다. OpenGL 구현은 업계에서 10여 년 동안 최적화와 강화를 거쳤기 때문입니다. Vulkan은 한층 더 복잡한 API라 같은 수준의 성숙도에 도달하려면 시간이 걸릴 것입니다.

우리는 Samsung S9+(Adreno)와 Note 9(Adreno)에 Vulkan을 탑재했습니다. Samsung 기술자와의 긴밀한 작업 덕분에 우리는 UE4의 Vulkan 지원을 최적화해 OpenGL 대비 평균 20%의 속도 상승을 달성했습니다. 나아가 공구 파트너와 계속 협력해 다른 디바이스에도 고성능 Vulkan 지원을 제공함으로써, 포트나이트 Android 플레이어에게 더 나은 경험을 선사하고 모든 개발자가 느끼는 Vulkan 드라이버 성능을 개선하고 있습니다.

메모리

메모리는 현재 진행 중인 문제입니다. 우리는 완전한 콘솔 게임을 모바일 디바이스에 탑재할 뿐만 아니라, 새 콘텐츠를 게임에 지속적으로 추가하고 있습니다. 그리고 이를 위해 메모리 최적화를 계속 추진하고 있죠. Android는 다른 플랫폼에는 존재하지 않는 어려움이 있습니다.

단일 메모리 예산을 노릴 수는 없습니다. 모든 디바이스는 저마다 다른 양의 메모리를 이용하며, 백그라운드에서 실행 중인 어플리케이션 종류가 다르며, 메모리를 너무 많이 사용하는 어플리케이션을 방출하는 정책도 다릅니다. 이러한 메모리 예산을 쿼리하는 API는 존재하지 않습니다. 기준점 확보를 위해 진행한 메모리 테스트에서, 우리는 시합을 시작해 OS가 프로세스를 중단할 때까지 메모리를 할당하기 시작했습니다. 방금 재시작하고 어떤 어플리케이션도 실행하지 않은 Samsung Galaxy S8(Mali) 휴대폰에서, 우리는 종료되기 전까지 총 4GB 메모리 중에서 3GB를 할당할 수 있었습니다. Google Pixel 2에서는 총 3.6GB 메모리 중에서 1.8GB만 할당할 수 있었습니다.

시스템, 특히 그래픽 드라이버는 사용자를 대신해 많은 메모리를 할당합니다. UE4는 GPU 메모리 할당 평가를 포함해 사용자가 OS에 직접 요청하는 모든 메모리를 추적하지만, 우리는 드라이버가 할당하는 요소를 제대로 확인할 수 없습니다. 실험을 통해 드라이버가 포트나이트에 할당하는 메모리 대부분이 셰이더로 간다는 사실을 알아냈습니다.

앞서 언급한 에뮬레이트된 유니폼 버퍼 최적화는 메모리 때문에 추구한 요소였습니다. OpenGL은 어플리케이션이 유니폼 버퍼의 모든 구성원 위치를 쿼리할 수 있어야 합니다. 예를 들어 사용자는 OpenGL에 프리미티브 유니폼 버퍼 내 LocalToWorld 매트릭스의 오프셋을 요청할 수 있습니다. 이를 지원하려면 드라이버는 각 구성원의 이름 문자열을 포함하는 메모리에 오프셋 테이블 같은 일부 메타데이터를 유지해야 하며, 모든 프로그램에 같은 작업을 수행해야 합니다.

포트나이트에는 대단히 다양한 셰이더가 존재합니다. 일반적인 플레이 세션에서 엔진은 약 2,000개의 셰이더 프로그램을 사용합니다. 각 셰이더 프로그램 내부에는 드라이버가 이러한 메타데이터를 보관하기 때문에 많은 메모리가 추가되는 것 같습니다. 우리는 에뮬레이트된 유니폼 버퍼를 이용해 포트나이트에서 400MB 이상의 메모리를 절약했습니다!

포트나이트 Android를 처음 출하할 때, 내부 테스트 결과 대상 디바이스의 메모리 제한을 만족하는 것으로 나타났습니다. 우리는 Google 지도의 길찾기와 음악 스트리밍을 켠 상태로 테스트를 진행했고, 아무 문제 없이 포트나이트를 플레이할 수 있었습니다. 하지만 출시 후에는 많은 플레이어가 메모리가 부족해 프로그램이 충돌하거나 성능이 저하되는 문제를 경험했습니다.

메모리가 부족하면 Android 휴대폰은 사용하지 않는 어플리케이션을 종료해 리소스를 확보합니다. 하지만 제대로 작동하지 않으며 OS가 종료하면 바로 재시작하는 백그라운드 어플리케이션과 서비스가 아주 많다는 사실이 밝혀졌습니다. 그래서 상황이 더 악화되었죠! Android는 어플리케이션을 종료해 메모리를 되찾지만, 어플리케이션을 재시작하면 예전과 같은 양의 메모리를 사용하기 시작합니다. 설상가상으로 어플리케이션을 시작하고 중단하는 작업이 CPU 시간을 소비하기 때문에, 메모리를 확보하지도 못하고 불필요한 CPU 리소스도 많이 이용하게 됩니다.

테스트 프로세스를 업데이트해 대부분의 사용자가 실행하는 더 많은 인기 어플리케이션을 설치하고 실행했으며, 덕분에 이러한 문제를 빨리 발견할 수 있었지만 메모리 사용량을 빠르게 줄여야 했습니다. 4GB 메모리를 사용하는 최신 Qualcomm Snapdragon 디바이스에서는 높음(High)이나 에픽(Epic) 설정을 사용하는 사용자만 이 문제를 겪도록 제한할 수 있었습니다. 여기서도 셰이더 메모리가 주요한 차이점이었습니다. 일종의 미봉책으로 셰이더를 해제한 결과 문제를 완화할 수 있었죠. 이렇게 하면 섀도우맵을 검색하고 필터링하는 데 변수가 필요 없게 되며, 따라서 필요한 셰이더 수가 줄어듭니다. 셰이더용 LRU 캐시도 추가했습니다. 캐시를 이용하면 현재 장면을 렌더링하는 데 필요한 셰이더 프로그램만 메모리에 남게 할 수 있습니다. 다른 셰이더 프로그램은 압축된 상태로 메모리에 저장됩니다. 이 프로그램은 필요시 압축 해제해 드라이버로 다시 보낼 수 있습니다.

미래 - 향후 계획

지금은 현재 지원되는 모든 디바이스에서 게임을 원활하게 실행하고 충분한 메모리를 되찾아 그래픽 품질과 안정성을 모두 개선하는 데 집중하고 있습니다. 그런 다음에는 사운드 등의 호환성 문제를 처리할 계획입니다. 5.40 릴리스에서는 많은 디바이스의 사운드 문제를 해결했고 추가 디바이스 지원 가능성을 열어놓았습니다. 또한 사용자에게 더 상세한 디바이스 튜닝 방법을 제공하고 품질과 성능 간 균형을 유지하게 할 계획입니다.

Vulkan 지원을 지속적으로 개선하고 시간이 지날수록 더 많은 디바이스에 출시할 것입니다. 다시 말해 우리는 UE4와 해당 드라이버의 최적화를 위해 디바이스 제조사와 계속 협력할 계획입니다. Vulkan 지원 및 드라이버 개선을 위한 장기 투자는 플레이어와 Android에 출시된 모든 UE4 게임에 더 나은 성능을 제공하는 데 도움이 될 것입니다.

아직도 속도가 느린 구형 휴대폰을 탐색하고 있지만, 지나치게 멀리까지 가는 것은 실용적이지 않습니다. 매년 최고 수준의 휴대폰은 전년 대비 50% 빨라지고 있습니다. 포트나이트는 2년 전 휴대폰에서도 적당한 수준으로 작동하며, 1년 전 휴대폰에서는 우수한 수준으로, 올해 출시된 휴대폰에서는 탁월하게 실행됩니다. 이 추세라면, 내년에 출시된 휴대폰에서는 포트나이트가 어떤 모습일지 기대되지 않나요!

image2.png


마지막으로, 우리가 엔진에 적용한 수많은 코드 최적화가 UE4 4.20에 이미 탑재되었습니다. 남은 최적화는 향후 출시될 4.21에 탑재될 예정이며, 이후의 최적화는 모든 UE4 개발자분과 지속적으로 공유할 계획입니다.

맬웨어와의 전쟁

포트나이트 Android를 출시하기 전에, 우리는 허가받지 않은 ‘포트나이트 Android' 웹사이트의 존재를 알고 있었습니다. 이러한 사이트에는 대부분 맬웨어나 스캠이 존재합니다. 이러한 사이트를 인식한 후, 우리는 사이트 자체와 관련 호스트 제공업체 및 해당 사이트를 홍보하는 모든 광고와 비디오를 차단하려 했습니다. 웹사이트의 맬웨어 배포 여부에 상관없이, 우리는 포트나이트 Android의 모든 배포 및 배포 의심 행위를 무단 행위로 간주합니다. 포트나이트 Android의 유일한 합법적 출처는 공식 포트나이트 설치 프로그램을 통해 Epic에서 직접 다운로드하는 것입니다.

현재까지 에픽은 무허가 ‘포트나이트 Android’ 웹사이트 47개에 대한 조치에 착수했고, 그중 상당수는 같은 범인이 운영하는 것으로 추정됩니다. 우리는 경찰과 협력해 이러한 사이트를 오프라인으로 전환하거나, 다음과 같은 브라우저 내 경고 기능을 실행하는 사기 방지 파트너(ISP, 브라우저 업체, 안티 바이러스 업체 등)와 에픽 간의 네트워크를 이용해 액세스를 제한하는 노력을 계속하고 있습니다.

Image1.png

우리는 전담 내부 팀을 동원해 새로운 맬웨어 사이트를 사전에 검색합니다. 또한 외부 IP와 사기 방지 집행 기관을 고용해 대응력을 확장하고 있습니다. 이러한 협력 관계 덕분에 우리는 의심스러운 URL로 등록된 새로운 도메인을 감지해 악성 사이트로 발전하지 않는지 감시하고, 에픽은 소송을 포함한 적절한 조치를 취할 수 있습니다.

결론

포트나이트 Android는 다양한 업계 최초, 즉 완전한 크로스 플레이 및 호환성과 함께 Android에 출시되는 최초 콘솔 및 PC 게임을 대표하며, Google Play 스토어 외부로 출시되는 최초의 블록버스터 게임입니다. 방대한 작업이자 학습 과정이었지만, 천5백만 명 이상의 Android 사용자가 빠르게 채택한 결과 이 접근법이 믿을 만하며 대단히 성공적일 수 있다는 것이 증명되었습니다. 그리고 무엇보다도, 우리가 포트나이트 Android에 적용한 모든 기술적 작업은 4.21을 통해 모든 언리얼 엔진 개발자에게 공개될 예정이라 모두가 혜택을 누릴 수 있습니다.
Lv77
Mone
34%
 
경험치
293,535
베니
1,726
이니
200,741
  • 명성치2432
  • 제니703
  • 5
  • 9
  • 5
  • 2
  • 5
  • 2
  • 5
  • 3
  • 1
  • 1







안녕하세요 모네입니다.

기사 제보와 마무리 일격은 
언제나 환영입니다~!!

Mone@inven.co.kr



코멘트

새로고침
새로고침
인증글 3추글 즐겨찾기
최근 방문한 게시판
    초기화
    번호             제목             글쓴이 등록일 조회 추천
    3000      [잡담]  포린이인데 게임까는데 얼마나걸리쥬?      나폴아 00:39  14 0
    2999      [영상]   포트나이트 하이라이트 영상 (6주차)      감자나이트 10:44  21 0
    2998      [잡담]  마격부탁드립니다      이뿌 01:04  19 0
    2997      [잡담]  배고프다배고프다      df0159 09-17  27 0
    2996      [잡담]  마격좀 부탁드립니다~!      철갑꽁치 09-17  25 0
    2994      [영상]   Dark Raven(다크소울3 패러디)      폭터 09-17  22 0
    2993      [잡담]  인벤 아이템, 외형 DB 업데이트       Mone 09-17  85 0
    2992      [영상]   남은 체력은 딱 '1' 포기하지마라 게임 ..      치킨마요맛나 09-16  44 0
    2991      [영상]   곡괭이 마무리 진짜 개웃겨ㅋㅋㅋㅋㅋㅋ      너빼고다소환 09-16  25 0
    2989      [영상]   솔큐에서 적을 만나면      양갱찬양 09-16  32 0
    2983      [영상]   상위 0.01% 고인물들 사이에서 여포를 ..      홍표 09-15  64 0
    2982      [잡담]  포나 같이하실분 들어오세요       티킨 09-15  67 0
    2980      [영상]   그래플링건을 쓰시지 않으면 이 영상을 보세..      오체풀만족 09-13  68 0
    2979      [잡담]   여러분 에어소프트건도 한번 관심가져주세요.      wlstjd12 09-13  93 0
    2978      [패치]  V5.4 콘텐츠 업데이트       Mone 09-12  184 0
    2977      [잡담]  포나 갓겜 형님들 마격점      제독님 09-11  73 0
    2975      [질문]  안녕하세요, 질문 허락 받겠습니다.      루시어드무어 09-11  65 0
    2974      [영상]   TOP 10에서도 여포?!! 포트나이트가 ..      오체풀만족 09-11  76 0
    2973      [영상]   혼자서 외롭게 스쿼드ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ      듀오할사람 09-11  81 0
    2972      [잡담]  어떤 얘가 젤 강해보임?  [3] 옵치마스터 09-11  243 1
    2970      [잡담]  전 프로게이의 위력을 보여줄게이 !      홍표 09-10  103 0
    2969      [영상]   건설뉴메타!! 안보면개손해      오체풀만족 09-10  130 0
    2968      [홍보]  Hellper 클랜에서 클랜원 모집합니다.       Marble188 09-10  104 0
    2967      [영상]   142미터 장거리 스나이핑      양갱찬양 09-10  107 0
    2966      [영상]   신스킨 넘무 예쁘고 !      홍표 09-10  146 0
    2964      [잡담]  포트나이트 월드컵 참가일정 아직안나왔나요?      마오카이사용 09-09  99 0
    2963      [영상]   포나 PS4 패드 플레이 흥 폭발 오늘의 ..      파파잼 09-09  126 0
    2961      [영상]   신규총 사기 그래플링건!뉴메타 푸쉬하기 ㅋ..      듀오할사람 09-09  76 0
    2960      [잡담]  얼리액세스 언제 끝나냐??      Myuyi 09-09  126 1
    2959      [질문]  이번 임무에 트릭점수 얻는건 어떻게 하는건.. [1] 즐겁게살자 09-08  152 0
     1  2  3  4  5  6  7  8  9  10 
    명칭: 주식회사 인벤 | 등록번호: 경기 아51514 | 등록연월일: 2009. 12. 14 | 제호: 인벤(INVEN)
    발행인: 서형준 | 편집인: 이동원 | 발행소: 경기 성남시 분당구 성남대로 331번길 8, 17층
    발행연월일: 2004 11. 11 | 전화번호: 02 - 6393 - 7700 | E-mail: help@inven.co.kr

    인벤의 콘텐츠 및 기사는 저작권법의 보호를 받으므로, 무단 전재, 복사, 배포 등을 금합니다.
    Copyrightⓒ Inven. All rights reserved.