Windows에서 전체화면(Fullscreen) 최적화의 이해 on Microsoft Blog

원본

DirectX Dev Blog: Demystifying Fullscreen Optimizations

요약: 전체화면 모드(FullScreen Mode) vs 창 모드(Windowed Mode)

  • Windows 10 출시와 함께 전체화면 전용 게임을 전체 화면을 차지하는 고도로 최적화된 전체 창 모드(Borderless) 형식으로 실행하는 전체화면 최적화가 추가되었음
  • 이 최적화로 전체 창 모드로 프로그램(게임)을 실행해도 시각 경험과 성능이 전체화면 모드와 거의 동일하게 개선되었음
  • 다만 전체화면 모드와 창 모드의 이점을 갖는 대신 진짜 전체화면 모드와 비교했을 때 성능 부하가 있기에 완전히 성능이 동일하다고 볼 수는 없음
    • (참고) 전체화면 모드 + 다른 프로그램의 오버레이 케이스에서는 전체화면 모드에서도 성능 저하가 있을 수 있음
  • 전체화면 최적화 기능을 끄고 싶다면 (전체화면, Fullscreen Exclusive) 아래처럼 설정
    • 프로그램 파일(.exe 파일) 오른쪽 클릭 > 속성(Properties) 선택
    • 호환성(Compatibility) 탭 선택
    • 전체 화면 최적화 사용 중지 선택 > 적용

마무리

원본 글을 보시면 알 수 있지만 저희가 게임에서 전체화면 모드라고 생각했지만 실제로 OS단에서 전체 창 모드로 보여주고 있을 가능성이 있네요.
실제 게임에서 전체화면 모드를 지원하더라도 OS에서 최적화를 통해 창모드로 실행되고 있을 수 있겠습니다. 😂
최근 게임 성능 테스트하면서 전체화면 모드 vs 전체 창 모드를 테스트해보았었는데 FPS가 비슷했어서 의아했는데 이제 알게되었습니다.
이 최적화는 Windows 10 특정 업데이트부터 적용된 것 같긴하네요. (2019년 글이니 그 전에 반영되었다고 볼 수 있겠습니다.)

NDC 발표 리뷰: NDC2019 5년차 모바일 게임 생존기

NDC 영상

NDC: 〈크루세이더 퀘스트〉 5년차 모바일 게임 생존기
Video: https://www.youtube.com/watch?v=Pi3LBWu-4Es

세션 설명:
게임이 생존하려면 무엇이 필요할까요? 게임의 생존에 도움이 되는 방법은 없을까요?
본 세션에선 이 질문에 대해 답을 시도합니다. 그리고, 이러한 답이 모바일게임 〈크루세이더 퀘스트〉의 개발 및 서비스 과정에 적용된 사례를 공유합니다.
오래된 개발 환경의 개선, 유저분들의 실망을 만회해야하는 상황, 개발 프로세스의 문제 등 다양한 이슈와 마주한 분들께 조금이라도 도움이 되는 내용이길 희망합니다.

리뷰

23년에 19년 발표 자료를 보고 리뷰하는게 뭔가 싶을 수 있지만.. 😁
라이브 서비스하는 조직의 이야기는 굉장히 귀하기에 지난번에 보고 리뷰를 남겨보고 싶었습니다

강연에서 이야기한 내용의 요약

무려 40분짜리 발표여서 요약을 한번 쓱 해보겠습니다.
아래 참고기사에서 잘 요약해준 내용도 있으니 참고해보면 좋을 것 같네요.

강연 노트

강연 목표: “더 다양한 게임이 오래도록 생존하여 서로 의사결정의 길잡이가 되어주면 좋겠다!”

  • 게임의 생존 조건, 생존 사례, 생존 전략을 다뤄봅니다
  • 넓은 범위의 생존 = 유저가 게임을 플레이할 수 있음
  • 좁은 범위의 생존 = 지속 가능성을 기준으로 손익분기점(break-even point, BEP)을 넘겨야 생존한 게임

생존 조건 = 이용자, 개발팀, 수익

  • 이용자: 유입은 어렵고, 이탈은 쉽게 이뤄짐 / 개발팀: 프로젝트 매력도 등등.. / 수익: BM 설계 등등..
  • 게임 특징: 2019년 당시 5년차 모바일 게임. 글로벌 서비스 (23년 기준 9년차..)
  • 이용자 이탈 🔥
    • 1개월 없데이트, 업데이트한 내용 불만족, 부족한 이벤트, 반복되는 연장점검과 긴급점검, 앱 용량, 게임 정보 취득 어려움, 버그
      • Action: 장기 서비스 유지를 위해 이용자 이탈 개선을 우선순위로 개발 목표 설정
      • Result: 이탈 위험이 높은 유저 지표가 개선되었음
    • 대규모 업데이트 후 이용자 수 지속적으로 하락
      • 게임 피로도 상승, 콘텐츠에 대한 피로도가 높은 상태였음
      • Action: 이용자 수 하락 원인 개선 - 편의성 업데이트, 보상 개선
      • Result: DAU 하락세 방어
  • 개발팀 HP 경고(피로도 누적) 🔥
    • 개발팀 추가 근무량이 많아 피로 스트레스가 많았음. 실제 업무 시간 파악도 어려웠음
    • 개발 계획 변동, 일정 부족, 계약으로 인해 고정된 출시 목표, 밤샘 테스트, 서버 불안정
    • Action: 개발환경 개선 → Unity 4 → 5 업그레이드
      • 서버 최적화를 최우선 순위로 개발 일정 조정
      • 근본적인 버그 대응을 위해 엔진 버전 업데이트
    • Action: 추가근무 시간 기록, 개발 프로세스 개선 - 병목 지점 파악 후 우선순위로 개선
      • 개발 진행상황을 누구나 쉽게 알 수 있도록 시각화
      • Result: 추가 근무 시간 62% 감소. 콘텐츠 업데이트도 안정적으로 진행
  • 수익화 - 구매자 수(PU, Pay User) 감소세 🔥
    • 게임에 대한 애정 감소, 구매 동기 저하, 상품 매력 감소 등
    • Action: 좋은 보상(애정을 회복할 수 있도록 이벤트), 콜라보, 상점 UX 개선 등

생존 전략 = 포지셔닝, 병목 현상 제거, 끝맺기

  • 포지셔닝 - 어떤 게임으로 인식되고 싶은지 명확하게 정의. 우선순위를 설정하기 위해서
  • 병목 제거 - 리소스를 효과적으로 사용하기 위해서. 포스트잇 활용해서 시각화하고 개선해봄
  • 끝맺기 - 체크리스트를 정리하고 마지막까지 확인해야함. 회의 마지막에 리캡하고 공유함
  • 실무에 도입할때는 팀이 받아들일 준비가 되었을 때 실무에 적용하자
  • 모바일 게임의 생존률(좁은 범위 생존)은 40% 정도
  • 의사결정이 큰 영향을 주고 있으니 생존 조건의 적신호에서 잘 대응해나가야 한다

리뷰 소감

현재 라이브 중인 게임의 프로덕션 과정, 이슈 관리 등을 이야기하는 것이 쉽지 않았을텐데 이런 이야기를 들을 수 있게되어서 좋았던 것 같습니다.
생각해보면 다른 소프트웨어 개발도 다 마찬가지이지만 게임 개발에 있어서 많은 난관이 있는데 어떤 기준으로 해결해나갔는지 알 수 있어서 좋았습니다.

역시 서비스에서는 이탈 개선이 반드시 이뤄져야하고 개발팀의 리텐션도 중요하고 돈도 잘 벌어야하고 쉽지 않네요 😇

Unreal Lighting 공부 - Coloso '언리얼로 구현하는 게임 라이팅 입문'

Coloso “언리얼로 구현하는 게임 라이팅 입문” 공부

21년 마지막날에 갑자기 22년에는 뭔가 공부해야겠다 싶어서 이것저것 보다가
그동안 관심이 있던 아트 쪽을 공부해볼까 싶어 Coloso 강의를 질러보았습니다
사실 환급 과정이라고 해서 더 강의를 도전해봐야겠다 싶기도했네요

Coloso: 언리얼로 구현하는 게임 라이팅 입문

Coloso와 Class101의 차이는 보니까 강의를 구매하고나면 평생 시청할 수 있다는 점이었는데
지금은 다 수강하고 보니 다시 볼 일이 있을까 싶기도합니다

강의 내용이 부족해서라기보다 입문 강의다보니 숙련되면 따로 더 챙겨볼 일이 없겠다는 생각이 들었어요

Coloso 환급 과정 진행

환급 과정은 블로그 포스트를 1달동안 매일 작성하는 방식으로 진행했습니다
(지금 글쓰고 있는 시점에도 21일차를 완료했네요.)

현재 쓰고 있는 블로그 포스트들: https://blog.naver.com/pineoc
이번에 이 글을 쓰면서 알게된 것은 네이버 블로그는 태그 내용으로 정리된 리스트 링크를 볼 수 없네요

재미로 저랑 같이 공부하는 사람들은 얼마나 있는지 한번 알아보았습니다
블로그 검색: 언리얼로 구현하는 게임 라이팅 입문
이렇게 검색하면 저랑 같이 하시는 분은 한 4분 정도 있네요. 😁

강의 수가 얼마되지 않아서 다들 강의 듣고 원하는 씬을 작업하면서 인증하고 계신 것 같았어요
저는 개인 프로젝트를 진행하면서 인증하고 있습니다 💪💪💪

강의 내용

강의 내용은 처음 언리얼 엔진을 처음 다뤄보는 사람들, 라이팅 입문하는 사람들을 위한 내용입니다
내용 자체는 기본적인 내용으로 강의가 진행되었고 게임 개발과 관련한 내용을 아트 관점에서 정리할 수 있어서 좋았습니다

다만 라이팅과 관련한 내용에 대해 입문으로 시작해볼 수 있지만
숙련 과정까지 끌어올려주는 강의로는 부족하다는 생각이 들었습니다

강의 내용 퀄리티가 부족하기보다 강의 횟수, 강의 내용의 절대적인 양이 부족하다고 느꼈고
입문 후에 라이팅에 더 관심을 가지고 달려갈 사람들에게는 적당한 수준의 내용이지 않을까 싶었습니다

개인 프로젝트 진행

우리집-밤 풍경

환급 과정 인증을 위한 개인 프로젝트는 “우리집 꾸미기”해보고 있습니다
다이나믹 라이팅, 스태틱 라이팅 등을 공부하면서 느낀 것은
아트 작업에 대한 공부는 역시 모델링이나 실제 어떤 것을 만들고 싶은지 고민이 있어야한다는 것이었네요
사실 엔지니어링 관점에서도 뭘 개발하고 싶은지 고민하긴해야하니까요 😊

첫 프로젝트는 집 모델링 프로젝트이고 다음 프로젝트는 회사 사무실 모델링이 목표입니다
집보다 회사 평수가 20배 이상 크니까… 더 오래걸리겠죠
일단 집 프로젝트를 마무리하고 올해 상반기에 회사 사무실 프로젝트를 진행해보려합니다

이러면 사실 라이팅 프로젝트가 아니라 모델링 프로젝트가 아닐까 싶은…

마무리

환급 과정을 하게되어서 환급 과정에 더 많이 집중된 것 같지만 😅
강의 + 환급 과정은 마무리 단계(데일리미션 마지막주 + 최종미션)라서 프로젝트 마무리에 집중하고 있습니다.
강의를 보고 배운 것들을 정리해보면..

  • 게임 개발, 영상 작업의 아트 영역에서 라이팅은 무엇을 고민하는지
  • 아트 영역에서는 라이팅 효과로 어떤 것들을 주로 작업하는지
  • 라이팅 작업에서 필요한 기본 개념들

개인 프로젝트 결과는 완성되면 여기에도 올려보겠습니다. 😁