Steam에서 컨트롤러의 사용 비율은 생각보다 낮다

Steam에서 컨트롤러 사용에 대한 통계(링크)를 발표하였는데, 컨트롤러를 사용하는 유저의 비율은 장르에 따라 다양하게 나타났다. 하지만 일일 세션 기준으로 전체 유저의 약 10%정도가 컨트롤러를 사용하는데, 장르별로 RTS가 1%미만, 스포츠/격투류는 70%이상, 레이싱류는 90% 이상, 액션/어드벤쳐는 40-50%, FPS는 7-8%로 측정되었다. 컨트롤러가 반드시 필요한 스포츠/레이싱 장르와 키보드 아니면 진행이 어려운 RTS/FPS로 크게 나뉘고, 그 외에 액션/어드벤쳐는 유저의 기호에 따라 … Read moreSteam에서 컨트롤러의 사용 비율은 생각보다 낮다

[UE4] 추천 언리얼 입문 강의

이득우님이 2017년 발표한 내용입니다. 처음 언리얼을 접할 때 이해하기 어려운 개념과 주요 레퍼런스에 대해 알기 쉽게 설명하고 보여주는 영상입니다. 저는 이득우님의 명확한 설명에 도움이 많이 됐네요. Actor, Pawn, Character의 개념 Camera 콘트롤 Player Controller의 개념 및 레퍼런스 가져오기 SpringArm 기능 Control Rotation 카메라 View Target PlayerCameraManager 애니매이션 시스템 개요 애니매이션 시스템 설계 애니매이션 Notify/Notify State

말 뿐인 열정

신입이나 신입에 가까운 경력을 가진 분들과 면접을 진행해보면, 공통적으로 주장하고 있는 것 중 하나가 게임에 대한 열정인 것 같다. 자신이 얼마나 게임에 대한 열정을 가지고 있는지 설명하기 위해 애를 쓰고, 그것을 말로서 모두 표현하지 못하는 답답함도 느껴진다. 그러한 열정은 거짓이 아닐 것이며, 사실 많은 이들이 자신이 원하는 게임을 만들고 싶어하는 것은 어쩌면 당연할 수도 있다. … Read more말 뿐인 열정

[Unity] Addressable과 메모리 관리

Addressable을 이용하고 있다면 메모리 관리 측면에서 잘 사용하고 있는지 체크해 볼 필요가 있다. LoadAssetAsync를 통해 해당 키를 가진 번들을 메모리에 올리고, Instantiate를 통해 오브젝트를 생성하는 루틴은 아무 문제가 없다. 더불어 OnDestory일 때, LoadAssetAsync에서 저장해둔 핸들을 통해 번들을 릴리즈함으로써 메모리에서 해제할 수 있다. (정확히는 Garbage Collect전까지 메모리에 상주한다.) 하지만, 만약 opHandle을 저장하고 있고, 여러 클래스에서 같은 … Read more[Unity] Addressable과 메모리 관리

인디 게임 제작을 위한 아트 리소스/에셋 정보

인디 게임 만들 때 사용할 수 있는 유/무료 에셋 정보입니다. 이름 URL 특징 유니티 에셋 스토어 https://assetstore.unity.com/ 유/무료 2D/3D 에셋 (Unity) UE 마켓플레이스 https://www.unrealengine.com/marketplace/ 유/무료 2D/3D 에셋 (Unreal) itch.io https://itch.io/game-assets 2D/3D 에셋무료 및 저렴한 유료 CRAFTPIX.NET https://craftpix.net/freebies/ 무료 2D 에셋 UnLucky Studio https://unluckystudio.com/category/freegameart/ 무료 2D 에셋 MIXAMO https://www.mixamo.com/#/ 회원 가입시, 무료 3D 캐릭터 및 애니매이션 … Read more인디 게임 제작을 위한 아트 리소스/에셋 정보

[Unity] ParticleSystem의 성능 최적화 (Prewarm/Culling Mode)

보통 아트 부서에서 ParticleSystem을 이용하여 이펙트를 만들지만, 최적화는 프로그래머가 담당하게 된다. 이때 파티클의 emission 개수나 duration에 대한 조언을 하게 되는데, 이것들 외에 체크해 볼 것이 prewarm과 culling mode이다. Prewarm 기능은 파티클의 emission을 한번 한 상태로 만들어 주어 다음 파티클 플레이시 원하는 모양으로 분사되도록 한다. 하지만, 씬을 로딩할 때 부하를 주기도 하는데, prewarm된 파티클의 개수에 따라 … Read more[Unity] ParticleSystem의 성능 최적화 (Prewarm/Culling Mode)

[DeepMotion] 동영상으로 애니매이션을 만들어 주는 서비스

광고성 글이 아닌, 개인적인 경험을 바탕으로 작성하였습니다. 아트 출신이 아닌 인디 게임 개발자라면 가장 큰 고민 중 하나가 아트 리소스를 어떻게 제작하고 게임에 반영할지 일 것이다. 그래서 원하는 아트 풍으로 작업이 되기 보다는 수급이 가능한 아트로 제작이 되는 경우도 발생한다. 나 같은 경우 애니매이션의 제작이 원할하지 않아 고민이 많았는데, 우연히 구글링하다 DeepMotion이라는 사이트를 방문하게 되었다. … Read more[DeepMotion] 동영상으로 애니매이션을 만들어 주는 서비스

EA에 콘텐츠 사용 허가 요청해 보기

고전 게임을 리메이크 해보고 싶은 생각이 들어 IP가 어디에 있는지 찾아 보았다. 원래는 EA가 아니었지만 EA가 Eat한 게임이어서 해당 IP를 가지고 있는 것 같았다. 그래서 어디에 문의를 해볼까 사이트를 뒤져봤는데 help 센터에서는 현재 서비스하고 있는 게임에 대한 문의 외에는 적당히 물어볼 데가 없었다. 그러나 구글링을 통해 못하는 것은 없다! 콘텐츠 사용 허가에 대한 요청을 받는 … Read moreEA에 콘텐츠 사용 허가 요청해 보기

글로벌한 상태 관리

상태에 대한 저장을 어떻게 하는 게 좋을까. 개발하다가 흔하게 아래와 같은 코드를 볼 수 있다. 이 글로벌한 전역 변수에 상태가 바뀔 때 마다 저장을 하고 그 저장된 상태 정보를 조회하여 많은 로직들이 실행된다. 저 상태를 바꾸는 곳은 처음에는 한 지점이었겠지만 개발이 진행될 수록 여기저기서 상태를 바꾸기 시작한다. 그러다 보면 실제 현재 상태와 CurrentState에 저장된 상태가 … Read more글로벌한 상태 관리

[Unity] Composite Collider 2D의 성능 이슈

Composite Collider 2D는 Box Collider 2D 또는 Polygon Collider 2D를 사용할 때 하나의 콜라이더로 머지하여 사용할 수 있는 컴포넌트이다. 그러나 머지하는 단계가 런타임에서 이루어 지기 때문에 Scene 로딩시에 로딩 시간을 길어지게 하는 요인이 될 수 있다. Composite Collider 2D를 가지는 게임 오브젝트에 자식으로 많은 수의 Box 또는 Polygon Collider 2D를 배치할 경우 그 수 만큼의 … Read more[Unity] Composite Collider 2D의 성능 이슈