d라이브러리









[게임 디자인 씽킹] 게임 몰입도를 높이는 절차적 콘텐츠 생성법

게임에서 플레이어가 몰입도를 유지하기 위해서는 새로운 게임 콘텐츠를 계속 제공하는 것이 중요합니다. 이번 호에서는 컴퓨터가 정해진 규칙을 기반으로 게임 콘텐츠를 자동으로 생성하는 기법인 ‘절차적 콘텐츠 생성법’에 대해 알아보겠습니다.

 

게임 콘텐츠가 성공하려면 많은 플레이어가 게임을 오랫동안 즐길 수 있어야 합니다. 이를 위해선 플레이어의 몰입도를 유지하는 것이 중요합니다. 하지만 일반적으로 게임 콘텐츠를 제작하는데 걸리는 시간보다 플레이어가 게임에 몰입하는 시간이 더 짧습니다.

 

이 때문에 게임 개발 회사는 더 많은 플레이어가 오랫동안 몰입도를 유지할 수 있는 게임 콘텐츠를 기획하기 위해 노력하고 있습니다. 일례로 게임 콘텐츠의 난이도가 플레이어가 원하는 수준보다 너무 쉽거나 어려우면 몰입도는 금세 떨어질 것입니다. 따라서 게임 개발 회사는 알맞은 난이도를 설정하고 그에 따라 적절한 게임 지형을 생성한 다음, 플레이어가 게임 콘텐츠 속 미션을 완료하는데 필요한 노력을 시뮬레이션하고 있습니다.

 

이런 작업을 자동으로 진행하고 그 결과를 예측해 게임 콘텐츠 개발에 반영할 수 있다면 어떨까요? 그 방법을 바로 ‘절차적 콘텐츠 생성법’이라 부릅니다. 이는 사람이 개입하지 않고 컴퓨터가 미리 정해진 규칙을 기반으로 게임 콘텐츠를 자동 생성하는 기법입니다.

 

절차적 콘텐츠 생성법을 이용하면 사람이 손으로 일일이 하기 어려운 복잡한 지형의 게임 단계를 매우 빨리 만들 수 있습니다. 그럼 스크래치 코드로 절차적 콘텐츠 생성 방식을 적용한 2차원 게임 지형을 함께 만들어 볼까요?

 

 

 

먼저 게임이 실행되면 지형의 조건(변수)을 정하고, 지형을 그리기 위한 펜 툴을 초기화한 뒤 지형을 생성하는 함수를 호출합니다. 위 박스의 스크래치 코드 ①처럼 화면의 왼쪽부터 오른쪽으로 타일의 폭(20)만큼씩 이동하면서 세로 지형을 한 줄씩 그리도록 설정합니다. 세로 지형은 화면 아래부터 위쪽으로 타일의 높이 간격으로 정해진 개수만큼 이동하면서 타일을 그립니다. 화면에 타일을 그리는 방식은 펜 툴의 스탬프 기능을 이용합니다. 또 스크래치 코드 ②, ③에서는 스탬프 명령어를 사용해 지형 타일을 생성했습니다. 또 다른 방법으로는 펜 굵기를 타일 폭과 같게 해 세로 방향으로 선을 그려서 세로 지형을 만들고 오른쪽으로 타일 폭만큼 계속 이동하면서 전체 지형을 만들 수도 있습니다.

 

위 박스 속 QR 코드를 스캔하면 스크래치 코드를 확인할 수 있습니다. 이 스크래치 코드에는 펜 굵기를 변경해 지형을 생성하는 부분도 있으니, 스탬프 명령어를 사용한 결과(아래 그림)와 생성 속도를 비교해 보기 바랍니다. 생성한 지형에 캐릭터를 배치하고 이동하는 기능도 추가할 수 있습니다. 여러 기능을 추가해 직접 코드를 수정해 보세요. 폴리매스 사이트에 우수한 결과물을 올린 참가자에게는 선물을 드릴 예정입니다. 지금 바로 참여하세요!

 

2021년 10월 수학동아 정보

  • 오규환(아주대학교 과학영재교육원 지도교수)
  • 진행

    김진호 기자 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 게임공학
  • 소프트웨어공학
이 기사를 읽은 분이 본
다른 인기기사는?