Blog

아발론 클래식 – 더 재미있게 즐겨보기

지난 5월, 코리아보드게임즈에서 보드게임 동아리 체험단을 모집하였다. 동아리원들의 보드게임에 대한 관심이 매우 크기 때문에 신청했다. 보드게임이 도착했을 때가 시험 기간이라 한동안은 찬밥 신세이기는 했지만, 시험이 끝나고 동아리방에 사람들이 모여들기 시작하면서 자연스럽게 동아리 사람들의 관심을 받게 되었다. 대구경북과학기술원의 <보드카 게임즈>는 게임 개발 동아리로, 비디오 게임과 보드 게임을 제작하는 활동을 주로 진행한다. 동아리원들이 이 게임을 플레이한 뒤, 게임 제작에 도움이 될 수 있는 기믹들을 연구하던 도중, 재미있는 변형 게임 아이디어들을 찾았다. 여기서는 그 중 일부를 소개해볼까 한다. 아래의 변형 게임들은 모두 <아발론 클래식>의 구슬을 미는 것, 흑백 구슬로 되어 있는 것, 육각형 형태의 플레이 공간으로 되어 있는 것 총 세 가지의 기믹을 나름대로 활용한 변형 게임들이다.


첫 번째 변형 게임은 <아틀란티스> 이다.
<아발론 클래식>의 구슬을 미는 기믹을 어떻게 활용할 수 있을지에 대해서 고민을 해 보던 중, 구슬을 전부 놓는 것에서 시작하는 것이 아니라 구슬을 하나씩 놓아가면서 게임을 플레이한다면 어떨까 생각해 보았다.

더 보기 “아발론 클래식 – 더 재미있게 즐겨보기”

[언리얼 엔진] 블루프린트 입문하기

지난 두 글에서는 뷰포트 조절과 액터 배치 및 수정에 대해 알아보았다. 이번 시간부터는 본격적으로 ‘블루프린트(Blueprint)’라는 것에 대해 알아볼 예정이다. 블루프린트는 보통 건설하는 곳이나 기계를 만드는 분야에서는 청사진이라는 말로 쓰이고 있다. 청사진은 설계도의 일부라고 할 수 있는데, 설계도를 보면 자신이 무엇을 만들려고 하는지 자신 이외의 사람도 보면 이해할 수 있도록 해준다. 언리얼 엔진에서의 블루프린트도 이와 비슷하다고 할 수 있다. 블루프린트는 ‘비주얼 스크립트’의 일종으로, 조금 풀어쓰자면 자신이 짜놓은 스크립트를 비주얼하게 보여주는 것이다. 시각적으로 보여주는 만큼, 코딩보다는 다른 사람들이 이해하기 쉽다. 아래는 코딩과 블루프린트를 비교한 것이다.

더 보기 “[언리얼 엔진] 블루프린트 입문하기”

[게임메이커] 오브젝트

오브젝트는 객체지향 프로그래밍에서 등장하는 개념으로 게임메이커에서 핵심이라고 부를 만한 존재다. 오브젝트를 직역하면 물체, 목적 등이 되는데 여기서는 앞서 말한 객체지향의 객체라는 의미가 가장 적합할 것으로 생각된다.

오브젝트 폴더에 우클릭을 한 후 오브젝트 생성 버튼을 누르면 빈 오브젝트가 생성되며 다음과 같은 창이 뜬다.

  1. 이름 설정: 오브젝트의 이름은 다른 오브젝트나 스크립트에서 해당 오브젝트를 지칭할 때 사용된다.
  2. 스프라이트 설정: 오브젝트가 게임 상에서 표시될 때 어떤 스프라이트를 사용할 것인지 설정합니다. 코드 상으로 여러 가지 변형을 가할 수도 있으나 기본적으로는 해당 스프라이트가 표시된다.
  3. 보임 여부: 체크 해제 시 게임 상에서 보이지 않는다. 실제로는 존재하고 충돌이나 마우스 체크 등도 가능하지만 스프라이트는 표시되지 않는다.
  4. 고체화 여부: 고체화 여부. 추후에 좀 더 알아볼 예정이다.
  5. 현재 오브젝트의 이벤트
  6. 현재 오브젝트에서 선택한 이벤트의 액션

오브젝트의 핵심의 위의 5번과 6번인 ‘이벤트(event)’와 ‘액션(action)’이다. 간단히 말하면 이벤트=조건, 액션=행동으로 표현할 수 있다. 이벤트 추가 버튼을 누르면 다음과 같은 창이 나타난다.

이 중 임의로 마우스 클릭 – 왼쪽 버튼으로 이벤트를 설정하고 이에 따른 액션을 선택하기로 하였다. 이벤트에 액션을 지정하기 위해서는 이벤트를 선택한 뒤 오른쪽 액션 탭의 아이콘을 블럭으로 끌어오면 된다.

원하는 속성과 이벤트, 액션을 모두 설정하고 OK 버튼을 누르면 오브젝트를 저장할 수 있다.

[언리얼 엔진 사용기] 블루프린트는 무엇인가

필자는 코딩을 잘 못하는 지라 블루프린트를 중심으로 진행하기로 하였다. 이전 글에서 설명했듯, 언리얼엔진은 블루프린트라는 것을 지원한다. 해당 기능을 사용하면 코딩을 하지 않고도 게임을 만들 수 있다. 얼마나 편리한가!

더 보기 “[언리얼 엔진 사용기] 블루프린트는 무엇인가”

[언리얼 엔진] 액터 생성 및 배치하기

이번에는 액터를 생성하고 배치하는 방법에 대해 알아보도록 하자. 액터를 만들기 위해서는 우선 액터가 무엇인지부터 알아야 한다. 액터(Actor)는 배우라는 뜻으로, 언리얼 엔진에서는 간단하게 말해 레벨에 배치할 수 있는 오브젝트를 의미한다. 쉽게 생각하면 게임에 등장하는 배우정도로 생각하면 될 것 같다. 물론 액터는 움직일 수 있는 캐릭터 뿐만 아니라, 건물, 돌, 배경 등 무생물까지 아우르는 개념이다. 언리얼 엔진에서는 이 액터를 사용하기 위해 여러 작업을 수행할 수 있는데, 액터 생성, 배치, 회전, 조정, 편집 등이 바로 그것이다. 이를 적절히 활용하여 사용자들이 생각한 구상 그대로 게임을 만들 수 있는데, 이것이 바로 게임 엔진의 역할 중 하나가 아닐까.

그럼 본격적으로 언리얼 엔진에서 액터를 생성하는 방법에 대해 알아보자. 액터를 생성하는 방법을 간단하다. 먼저 언리얼 엔진을 켜고 새 프로젝트를 생성하면 다음과 같은 화면을 볼 수 있다.

더 보기 “[언리얼 엔진] 액터 생성 및 배치하기”

[게임메이커] 스프라이트에 대해

스프라이트란 게임 오브젝트의 동작을 표현하기 위해 사용하는 그래픽스 리소스를 의미한다. 이러한 개념은 게임메이커에서도 사용되며, 이 글에서는 그러한 스프라이트를 다루는 기본적인 방법에 대해 배우고자 한다.

위와 같이 sprite 폴더에 우클릭 후 ‘Create Sprite’를 통해 스프라이트를 생성한다.

왼쪽에는 스프라이트 이름 설정, 이미지 불러오기 버튼, 스프라이트 편집 버튼, 스프라이트 중심 설정이 있고, 그 옆에는 정밀 충돌 여부, 마스크로 충돌 판정 여부 설정, 충돌 범위 설정이 있다. 오른쪽에는 스프라이트가 어떻게 생겼는지 보여주는 칸이 있다. ‘Edit Sprite’ 버튼을 눌러 스프라이트를 편집하자.

더 보기 “[게임메이커] 스프라이트에 대해”

언리얼 엔진의 Paper2D

Paper2D란?

게임 개발에 사용되는 유명 엔진 중 하나인 언리얼 엔진은 기본적으로 3D 엔진이다. 그러나 언리얼 엔진도 2D 게임을 개발하기 위한 기능을 제공하고 있는데 바로 Paper2D라는 기능이다.

이 문서의 아래에 있는 참조 링크는 에픽게임즈 사에서 제공하는 Paper2D 튜토리얼 강의이다. 강의를 통해 자습을 했기 때문에 이 문서에서 대략적인 내용을 알 수 있겠지만, 링크의 강의를 통해 간단한 플래포머 예제를 만들 수 있으니 관심이 있다면 읽어보는 것을 추천한다.

2D 게임의 구성요소

이번 글에서는 2D 게임에서 주로 사용하는 용어 몇 가지를 살펴보려 한다. Paper2D를 사용하여 게임을 만드는 경우 확실하게 알아두어야 하는 용어는 “스프라이트(Sprite)”, “텍스처(Texture)”, “머티리얼(Material)“이다. 이 3가지는 언리얼 엔진을 사용하여 3D 게임을 만드는 경우에도 사용하게 되니 알아두는 것이 좋다.

더 보기 “언리얼 엔진의 Paper2D”

[언리얼 엔진 사용기] 블루프린트와 C++

액터와 캐릭터

게임에는 유저의 판단이 개입한다. 반면 드라마나 영화는 작가가 정한대로 진행된다. 이러한 차이점이 있음에도 불구하고 그들 사이에는 공통점이 존재한다. 바로 주인공과 같은 등장인물이 존재한다는 점이다.

언리얼에서는 크게 3가지 클래스가 존재한다. 바로 Pawn, Actor, Component다. 영화에서의 주인공은 여기서는 Pawn 또는 Character로, Character는 Pawn의 종류 중 하나이다. 이들은 AI 혹은 플레이어에 의해 조작이 가능하다는 특징을 가지고 있다. 이제 각각의 클래스가 어떤 일을 하는지 알아보자.

더 보기 “[언리얼 엔진 사용기] 블루프린트와 C++”

[언리얼 엔진] 뷰포트 사용하기

언리얼 엔진은 여러 유명 게임 엔진들 중 하나로, 3D를 주력으로 삼고 있는 엔진이다. 최근 들어 크게 유행하게 되었으며, 한국에서도 ‘리니지 2’, ‘히트’, ‘테라’ 같은 유명 게임들이 언리얼 엔진을 사용하고 있다. 원래 이 엔진의 제작사인 에픽 게임즈는 라이선스 비를 받음으로써 수익을 많이 내고자 했었는데, 계속해서 엔진을 업데이트 하면서 개발자들의 부담을 줄여주기 시작했다. 최근에는 언리얼 엔진의 소스 코드를 공개하기도 했다.

또한 무료로 사용할 수 있기 때문에 일반 사용자들도 부담없이 사용할 수 있다. 튜토리얼도 상당히 구체적으로 이루어져 있어서 초심자들이 입문하기에도 괜찮은 것 같다. 물론 처음 배우는 사람에게 코딩은 장애물이 아닐 수 없다. 하지만 코딩을 잘하지 못하더라도 프로그래밍을 할 수 있는 ‘블루프린트’ 기능이 존재한다. 우선 이러한 언리얼 엔진을 사용하기 위해서 필수적으로 알아야 할 뷰포트 사용을 연습해보았다.

더 보기 “[언리얼 엔진] 뷰포트 사용하기”

[게임메이커] 시작하기에 앞서

게임메이커 스튜디오는 요요 게임즈에서 제작한 2D 게임 제작에 특화된 통합 개발 도구로, 그래픽 에디터, 맵 에디터, 자체 스크립트 언어 등이 내장되어 이 프로그램 단독으로도 게임을 만드는 데 큰 무리가 없다. 어도비 애니메이트와 추구하는 바는 비슷하지만 게임메이커 스튜디오라는 이름 그대로 게임 제작에 특화되어 있는 것이 차이점이다.

통상적으로 게임메이커 8.0, 게임메이커 스튜디오 1.4, 게임메이커 스튜디오 2를 사용한다. 게임메이커가 게임메이커 스튜디오로 업그레이드 되었고, 최근에는 게임메이커 스튜디로 2가 출시되었다.

쉬운 사용법과 높은 자유도를 바탕으로 인디 게임계에서는 상당히 중요한 위치를 차지하고 있다. 하지만 쉽게 만들 수 있는 단순한 게임에서 조금만 벗어나도 체계적인 라이브러리가 없기 때문에 개발 난이도가 급격히 상승한다는 단점이 있다. 또한 2D에 특화된 툴이었다가 최근들어 3D 관련 함수들이 추가되었는데, 그렇다 하더라도 3D 작업에는 매우 약하다는 단점이 존재한다.

게임메이커로 만들어진 대표적인 게임으로는 I Wanna 시리즈, Undertale, Hotline Miami 등이 있다. 앞으로 게임메이커 스튜디오 1.4를 이용해 사용법을 알아보고 간단한 게임을 만들어보고자 한다.