Top

[한 번도 게임을 만들어보지 않은 초보를 위한]
컨스트럭트 게임 툴로 따라하는 게임 개발 입문

  • 원서명Construct Game Development Beginner's Guide (ISBN 9781849516600)
  • 지은이데이븐 비글로우
  • 옮긴이금기진
  • ISBN : 9788960774247
  • 28,000원
  • 2013년 04월 30일 펴냄
  • 페이퍼백 | 284쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

컨스트럭트 클래식(Construct Classic)은 DirectX를 기반으로 한 프로그래밍 코드를 대신 작성해주는 윈도우용 무료 2D게임 개발 도구다. 컨스트럭트는 코딩의 기본 요소인 변수, 함수, 포인터 등을 몰라도 게임을 구성하는 규칙만 정해주면 알아서 게임을 만들어준다. 이 책은 컨스트럭트 툴을 이용해서 슈퍼 마리오 같은 유명한 고전 게임을 만드는 방법을 가르쳐 준다. 한 번도 게임을 만들어보지 않은 초보자라도 책에서 설명하는 예제를 따라하다 보면 원하는 게임을 만드는 데 꼭 필요한 기술을 저절로 알 수 있다. 스스로 게임을 만들어보고 싶었지만 게임 프로그래밍 스킬은 없었던 초보라면, 이 책이 완벽한 가이드가 될 것이다.


[ 이 책에서 다루는 내용 ]

■ 유명 고전 게임과 유사한 2D 게임 제작
■ 컨스트럭트 클래식에 내장된 물리 엔진 사용
■ 자신만의 게임을 위한 레벨 에디터
■ 플랫폼 게임과 슈팅 게임의 적군 인공지능 구현
■ 컨스트럭트 클래식에 내장된 빛과 그림자 효과를 사용한 현실적인 환경 구성
■ 컨스트럭트 클래식의 화려한 픽셀 셰이더 특수 효과


[ 이 책의 대상 독자 ]

스스로 게임을 만들어보고자 한 번이라도 고민해 본 적이 있다면 그것으로 충분하다.


[ 이 책의 구성 ]

1장, ‘컨스트럭트 둘러보기’에서는 컨스트럭트 클래식 에디터의 기본 구성을 훑어본다.
2장, ‘컨스트럭트 스타일의 헬로 월드’에서는 간단한 첫 게임을 만들어본다.
3장, ‘난이도 추가하기’에서는 적을 만들고 게임에 목표를 설정하는 과정을 둘러본다.
4장, ‘사운드 만들기’에서는 배경음악과 효과음을 만드는 방법을 설명한다.
5장, ‘물리 효과’에서는 컨스트럭트 클래식 에디터가 제공하는 물리 엔진을 사용해서 두 번째 게임을 만들어본다.
6장, ‘커스텀 레벨’에서는 외부 레벨 파일을 불러보고, 또 레벨 에디터를 만들어서 저장하는 방법도 배운다.
7장, ‘2D 슈팅게임 만들기’에서는 기본적인 슈팅 게임을 만들어본다.
8장, ‘수류탄을 던져보자’에서는 픽셀 셰이더 효과 사용법을 배운다.
9장, ‘마지막으로’에서는 지금까지 배운 내용을 종합하고, 유용한 팁을 알아본다.

저자/역자 소개

[ 저자 서문 ]

『컨스트럭트 게임 툴로 따라하는 게임 개발 입문』에 온 여러분을 환영한다. 이 책을 통해 무료 오픈소스 소프트웨어인 컨스트럭트 클래식을 이용해서 원하는 게임을 손쉽게 만드는 방법을 차근차근 배워보자.

컨스트럭트 클래식은 다이렉트X9을 기반으로 하는 윈도우용 2D 게임 개발 도구로서, 게임이 작동하는 방법을 쉽게 눈으로 볼 수 있는 이벤트를 기반으로 하기 때문에, 직접 프로그램을 짜거나 스크립트를 쓸 필요가 없다. 초보자가 사용할 수 있을 정도로 쉽지만, 동시에 고급 개발자도 문제없이 활용할 수 있을 정도로 기능이 막강하다.

따라서 이 책은 한 번도 게임을 만들어 본 경험은 없지만, 게임을 꼭 만들어 보고 싶은 사람들에게 완벽한 게임 개발 입문서다.


[ 저자 소개 ]

데이븐 비글로우(Daven Bigelow)
취미로 게임을 개발하는 소프트웨어 프로그래머다. 8년이 넘는 기간 동안 여러 가지 개발 툴과 프로그래밍 언어를 사용해서 2D 게임을 만들어 왔다. 그래도 대부분의 경험은 지난 3년간 사용했던 도구인 컨스트럭트 클래식에 집중되어 있다.
스키라(Scirra) 홈페이지 게시판에서 Jayjay라는 이름으로 활동하는데, 신규 사용자가 어려움에 봉착했을 때 적절한 조언과 예제로 도움을 준다.


[ 옮긴이의 말 ]

컨스트럭트 클래식(Construct Classic)은 다이렉트X를 기반으로 한 프로그래밍 코드를 대신 써 주는 툴이다. 한국에는 비교적 덜 알려져 있지만, 유튜브나 개발사 게시판에 가보면 전 세계의 수많은 프로/아마추어 개발자들이 컨스트럭트 클래식 제작 도구를 활용해 직접 만든 게임을 올려놓고 토론도 벌이는 이미 검증된 툴이다. 게임처럼 언어의 장벽이 없는 문화에 입문하려고 한다면, 더 큰 시장에서 많은 사람들이 다루는 툴을 사용해서 배우는 것이 더 좋은 방법이라고 생각한다.

이 툴은 코딩의 기본 제재인 변수, 함수, 포인터 등은 알 필요 없이 게임을 구성하는 규칙만 정해주면 알아서 게임을 만들어준다. 컨스트럭트 툴은 잘 모르더라도 책에서 자세하게 나열한 예제들만 따라하다 보면 자연스럽게 게임의 핵심 주제인 ‘이벤트’와 그에 따른 ‘동작’에 익숙해진 여러분을 발견하게 될 것이다. 특히 첫 예제는 슈퍼 마리오와 99% 흡사한 게임으로 전 세계 수억 명의 게이머를 열광시켰던 고전 게임이 어떻게 만들어졌는지에 대해 설명하고 스스로 응용해서 더 나은 게임을 만드는 방법을 알려준다. 책에 소개된 이러한 유명한 예제들을 따라하면서 게임 프로그래밍 논리의 기초만 잘 다져놓고 나면, 그 다음에는 직접 코딩을 하든, 안드로이드나 아이폰 툴을 이용하든 핸드폰 게임을 만들더라도 그 기본 골격은 다 같다는 점을 알고 놀라게 될 것이다.

새로운 외국어, 전공, 프로그램 기술 등을 배우려고 마음 먹었을 때에는 항상 시작이 제일 어려운 법이다. 특히 컴퓨터 게임처럼 특별한 기술(?)을 요구하는 분야는 비 전공자에겐 마치 마술처럼 보인다는 이야기를 주위에서 많이 들었다. 요즘처럼 스마트폰 모바일 게임이 우리 삶 한가운데 깊숙이 파고든 적이 있었던가. 우리보고 게임 그만하고 공부하라고 잔소리하시던 어머니도 지하철에서 게임을 하시며 자식들에게 하트 보내달라고 문자를 보내시는 시대가 와 버렸다. 만약 여러분이 게임을 하면서 '이런 건 이랬으면 좋을 텐데', '내게 떠오른 좋은 아이디어로 게임을 만들 수만 있다면, 애니팡보다 돈을 더 많이 벌 수 있을 텐데…' 하는 생각을 한 적이 있다면 이 책은 여러분을 위한 책이다.

이 책은 영어 공부에 비유하자면 암기해야 할 문법을 지루하게 나열하지 않고, ‘묻지 말고 일단 따라와 봐’ 하는 식의 가벼운 회화 책이다. 물론 가벼운 회화 책도 알파벳도 모르는 초보자에게는 어렵겠지만, 문법책보다는 쉽다는 점을 강조하고 싶다. 특정 기술에 국한되지 않고, 따라하다 보면 자연스럽게 게임 개발에 대한 기본 골격과 균형적인 지식을 갖게 해준다. 만약 여러분이 컴퓨터를 전공하지 않은 일반 직장인이거나, 컴퓨터학과가 어떤 공부를 하는지 궁금한 고등학생이라면, 그 멋진 세계를 엿볼 수 있는 좋은 입문서라고 자신 있게 추천할 수 있다.


[ 옮긴이 소개 ]

금기진
군 전역 후 뉴욕 주립대학교 스토니브룩에서 컴퓨터공학을 전공하고 캘리포니아의 2k sports에서 약 5년간 콘솔용 스포츠 게임인 NBA, MLB, NHL 2K 시리즈 개발에 참여하였다. 현재는 한국 온라인 프로야구 2K의 개발에 참여하고 있다. 컴퓨터 프로그래머처럼 특수 기술을 다루는 사람일수록 컴퓨터와 관련 없는 다양한 경험이 삶에 꼭 필요하다고 믿고 있으며, 합창, 요가, 여행 등으로 그러한 경험을 채워나가기 위해 노력하고 있다.

목차

목차
  • 1장 컨스트럭트 둘러보기
    • 1단계: 컨스트럭트 클래식 다운로드와 설치
    • 실습 예제–컨스트럭트 클래식 실행하기
    • 2단계: 게임 프로젝트 만들기
    • 실습 예제–게임 프로젝트 시작하기
      • 프로젝트 만들기
      • 프로젝트 세부사항 바꾸기
      • 프로젝트 실행하기
    • 3단계: 컨스트럭트 클래식 인터페이스 둘러보기
    • 실습 예제–컨스트럭트 클래식 둘러보기
      • 레이아웃 에디터
      • 속성 박스
      • 이벤트 에디터
      • 애니메이션 박스
      • 레이어 박스
    • 마지막 단계: 오브젝트의 소개
    • 실습 예제–오브젝트 만들기
      • 오브젝트 만들기
      • 스프라이트 그리기
      • 스프라이트의 그림 바꾸기
    • 요약
  • 2장 컨스트럭트 스타일의 헬로우 월드!
    • 스프라이트 다시보기
    • 실습 예제–주인공 스프라이트 만들기
      • 새로운 애니메이션 만들기
      • 애니메이션 태그
      • 충돌 모드 선택
    • 타일 배경: 배경 만들기
    • 실습 예제–타일 배경 만들기
    • 속성: 더 자세한 오브젝트의 설정
    • 실습 예제–오브젝트에 속성 추가하기
    • 동작: 오브젝트가 움직이는 방법 설정하기
    • 실습 예제–캐릭터 움직이기
      • 그밖의 동작들
      • 컨트롤 설정하기
    • 변수: 개인변수와 전역변수
    • 실습 예제–주인공에게 생명 주기
    • 텍스트 박스: 게이머에게 정보 전달하기
    • 실습 예제–게이머에게 체력과 점수 보여주기
    • 이벤트: 게임의 규칙과 최종 목표 설정하기
    • 실습 예제–게임에 이벤트 추가하기
      • 스프라이트
      • 이벤트
      • 조건
      • 액션
    • 요약
  • 3장 난이도 추가하기
    • 시작하기 전에
    • 목적지에 다다르기
    • 실습 예제–게임을 이기는 조건 만들기
      • 오버랩과 충돌 사이에서 선택하기
      • 활성화
      • 애니메이션 설정
    • 장애물 피하기
    • 실습 예제–난이도 넣기
      • 주인공의 죽음
      • 주인공의 부활
      • 게임 종료
    • 적 만들기
    • 실습 예제–적 만들고 움직이기
      • 움직이는 방향 설정
      • 떨어지는 동작
      • 방향 바꾸기
      • 주인공과 상호작용
    • 인터페이스 향상시키기
    • 실습 예제–GUI의 배경 만들기
    • 요약
  • 4장 사운드 만들기
    • 게임과 음악
    • 실습 예제–게임에 음악 추가하기
      • Start of layout 조건
      • 음악 파일 실행하기
      • 음악 파일 반복하기
    • 음악 모듈
    • 실습 예제–모드 음악 실행하기
      • Is playing 조건
      • 파일 불러와서 실행하기
    • 효과음: 주인공 행동 표현하기
    • 실습 예제–효과음 넣기
    • 게임 내보내기
    • 실습 예제–게임 변환하기
    • 게임을 공유할 때 주의할 점
    • 요약
  • 5장 물리 효과
    • 물리적으로 움직이는 오브젝트 만들기
    • 실습 예제–오브젝트 만들기
      • 글로벌 속성
      • 그리드 정렬하기
      • 물리 동작의 속성 설정
      • 타이머 동작
      • 사용자 정의 충돌 마스크 만들기
    • 이벤트 시트와 그룹
    • 실습 예제–이벤트 시트와 그룹 생성하고 사용해보기
    • 물리적인 힘 추가하기
    • 실습 예제–힘 추가하기
    • 스페셜 핀 추가하기
    • 실습 예제–스페셜 핀 만들기
      • For 루프
      • Set timescale
    • 포털: A에서 B로 이동시키기
    • 실습 예제–공 순간이동시키기
    • 파티클 오브젝트: 불꽃놀이 효과로 마무리하기
    • 실습 예제–불꽃효과 만들기
    • 배경음악과 효과음 재생하기
    • 실습 예제–배경음악과 효과음 넣기
    • 다음 레벨 만들기
    • 실습 예제–다른 레벨 만들기
    • 디버거
    • 실습 예제–디버거 사용하기
    • 요약
  • 6장 커스텀 레벨
    • 사용자 친화적인 INI 파일
    • 실습 예제–INI 파일 만들기
      • INI 그룹
      • INI 아이템
    • 레벨 불러오기
    • 실습 예제–커스텀 레벨 불러오기
      • INI 파일 설정하기
      • 레벨 불러오기
      • 게임 이벤트 시트 추가
      • NextINI 레이아웃
    • 게임 오버 스크린
    • 실습 예제–게임 오버 레이아웃 만들기
    • 레벨 에디터 만들기
    • 실습 예제–오브젝트의 생성
    • 실습 예제–이벤트를 이용해서 레벨 저장/불러오기
    • 실습 예제–인터페이스 이벤트 만들기
      • 편집 영역
      • Function 오브젝트
      • 그룹 활성화 비활성화시키기
      • INI 파일에 저장하기
      • Cursor 오브젝트를 그리드 위에 위치하기
      • 포털 위치시키기
    • 요약
  • 7장 2D 슈팅 게임 만들기
    • 시작하기 전에
    • 멀티플레이: 친구와 함께 게임하기
    • 실습 예제–게임에 필요한 자료와 시작 화면 만들기
    • 실습 예제–레벨 디자인
    • 실습 예제–주인공과 컨베이어 벨트 오브젝트 만들기
    • 실습 예제–HUD 오브젝트 만들기
    • 실습 예제–메인 게임 이벤트 만들기
    • 실습 예제–게임 오버 레이아웃 만들기
      • 패밀리
      • 컨테이너
      • 멀티플레이
      • 고정 스크롤
    • 총알 발사하기
    • 실습 예제–총 추가하기
    • 시차: 깊이감 표현하기
    • 실습 예제–착시 스크롤링 만들기
    • 빛과 그림자: 광원 효과
    • 실습 예제–빛과 그림자 캐스터 사용하기
    • 총을 가진 적군: 약간 더 어려운 테크닉
    • 실습 예제–적군 만들기
      • 직접 충돌 확인하기
      • 기본적인 인공지능
      • 총의 생성
    • 요약
  • 8장 수류탄을 던져보자!
    • 수류탄 - 튕겨다니는 시한폭탄
    • 실습 예제–수류탄 던지기
      • 수류탄 던지기
      • 수류탄 튕기기
    • 수류탄 터뜨리기 - 밝은 섬광 표현하기
    • 실습 예제–폭발 섬광
    • 특수 효과 - 화면 비틀기와 그밖의 멋진 효과들
    • 실습 예제–왜곡 효과
      • 픽셀 셰이더
      • 사용된 특수 효과
    • 오브젝트 - 완전히 파괴하기
    • 실습 예제–로봇 날려버리기
    • 요약
  • 9장 마지막으로
    • 지금까지 배운 내용
      • 1장: 컨스트럭트 클래식 에디터의 기본 구성
      • 2장: 우리의 첫 게임, 플랫폼 게임
      • 3장: 적을 추가하고, 생명 시스템 구현하기
      • 4장: 효과음과 배경음악
      • 5장: 물리적인 게임
      • 6장: 커스텀 레벨과 레벨 에디터
      • 7장: 횡 스크롤 슈팅 게임
      • 8장: 특수 효과와 물리적인 상호작용
    • 게임 확장하기
      • MyPlatformer
      • BounceBall
      • SideShooter
    • 유용한 팁과 기술
      • 사용자 정의 충돌 경계선
      • 커스텀 플러그인 추가하기
      • 커스텀 효과 추가하기
      • 캔버스 오브젝트 사용하기
      • 미니맵 오브젝트 사용하기
      • 플라즈마 오브젝트 사용하기
    • 백업과 저장을 자주 하자
      • 도움을 받으려면
    • 컨스트럭트2에 대해

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[ p40 2행 ]
참부하는 방법 -> 첨부하는 방법

[ p85 마지막 행 ]
Value('Direction') 180 → Value('Direction') * 180

[p.86 : 11번 ]
Comapre
->
Compare

[ p87 15번 항목 1행 ]
하위조건 → 하위이벤트

[ p91 실습예제 2행 ]
적합하한 -> 적합한

[ p95 요약 3행 ]
생명을 알아가도록 -> 생명을 앗아가도록

[ p131 14번 항목 2행 ]
Peg.AnimName& :“Hit” → Peg.AnimName&“Hit”