Top

손쉬운 로블록스 게임 코딩 [Roblox Studio와 루아 프로그래밍으로 게임을 만드는 최고의 가이드]

  • 원서명Coding Roblox Games Made Easy: The ultimate guide to creating games with Roblox Studio and Lua programming (ISBN 9781800561991)
  • 지은이잰더 브룸보(Zander Brumbaugh)
  • 옮긴이조경빈
  • ISBN : 9791161755601
  • 25,000원
  • 2021년 08월 31일 펴냄
  • 페이퍼백 | 276쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/roblox-easy

요약

로블록스(Roblox)는 다른 일반적인 게임과 달리 개발자와 플레이어 모두를 위한 글로벌 가상 플랫폼이다. 매일 1억 5천만 명 이상의 활성 사용자를 보유하고 있는 로블록스는 루아(Lua) 프로그래밍 언어를 사용해 개발한다. 이 책을 통해 로블록스 플랫폼의 처음부터 끝까지 차근차근 배울 수 있으며, 게임의 메커니즘과 더불어 수익화, 마케팅까지 전반적인 게임 서비스의 흐름을 이해할 수 있다.

이 책에서 다루는 내용

◆ 로블록스 개발을 자세히 살펴보고 개발 유형을 선택하는 등 다양한 측면 검토
◆ Roblox Studio의 사용 방법과 기타 무료 리소스의 활용 방법
◆ 로블록스 루아 프로그래밍 언어를 사용한 첫 번째 게임 제작
◆ 3가지 M인 메카닉(Mechanics), 수익화(Monetization), 마케팅(Marketing)
◆ 배틀 로얄이나 오비(Obby)와 같은 인기 장르의 게임 개발
◆ 효과적인 공동 작업 및 프로젝트 부하 관리를 위한 전문가 팁

이 책의 대상 독자

로블록스 플랫폼에서 게임을 개발하는 방법을 배우고 싶거나 이미 로블록스에 익숙한 상태에서 효율적인 로블록스 개발을 위한 최고의 팁, 트릭, 사례를 살펴보려는 사람을 대상으로 한다.

이 책의 구성

1장. ‘로블록스 개발 소개’에서는 현재 존재하는 개발 기회의 종류, 게임으로 돈을 버는 방법, 이전 프로젝트를 기반으로 기대할 수 있는 사항을 포함해서 로블록스 개발의 기본 개념을 소개하는 데 중점을 둔다.
2장. ‘개발 환경 이해’에서는 Roblox Studio 사용 방법을 설명한다. 이동, 카메라 조작, 워크스페이스(Workspace)의 인스턴스와 상호 작용, 무료 에셋 사용, 게임 정보 변경과 같은 기본적인 사용 방법을 다룬다.
3장. ‘로블록스 루아 소개’에서는 이전에 프로그래밍 경험이 있다고 가정하지 않는다. print("Hello world")부터 다양한 범용 프로그래밍 구조에 이르기까지 로블록스 루아에서 프로그래밍하는 방법을 배운다.
4장. ‘로블록스 프로그래밍 시나리오’에서는 일반적인 프로그래밍 지식이 있는 개발자에게 아직 익숙하지 않은 로블록스만의 프로그래밍 시나리오를 중심으로 설명한다.
5장. ‘오비 생성’에서는 배운 내용을 적용해 간단하지만 깔끔하고 플레이 가능한 게임을 만드는 방법을 배운다. 게임 유형은 오비(Obby)며, 이를 개발하려면 변수, 이벤트, 함수, 속성을 활용해야 한다.
6장. ‘배틀 로얄 게임 제작’에서는 배틀 로얄 스타일의 게임을 만들기 위해 배운 모든 내용을 활용한다. 보안 및 조직에 대한 새로운 기술을 배우면서 책에서 배운 모든 내용을 활용해야 한다. 6장이 끝나면 처음부터 직접 자신만의 게임을 개발할 수 있다는 자신감을 갖게 될 것이다.
7장. ‘3가지 M’에서는 이 책에서 가장 포괄적인 내용을 다룬 장으로 프로그래밍 외의 내용을 알려준다. 메카닉(Mechanics), 수익화(Monetization), 마케팅(Marketing)의 3가지 M을 통해 게임의 성능을 최적화하는 것 외에도 프로그래머 이상의 능력을 발휘해서 직접 마케팅까지 할 수 있도록 기술을 확장하는 데 중점을 둔다.

상세 이미지

저자/역자 소개

지은이의 말

로블록스 플랫폼에서의 작업을 경험해볼 수 있는 실용서다. 먼저 로블록스 개발 개요와 Roblox Studio의 사용 방법을 살펴본다. 그리고 로블록스 루아로 프로그래밍하는 오비(Obby), 배틀 로얄 게임과 같은 게임을 만드는 데 필요한 모든 방법을 살펴본다. 게임 제작 과정을 살펴보고 멋진 메카닉과 수익화, 마케팅 관련 사항을 알아보고 성공적인 게임으로 이끄는 방법도 중점적으로 다룬다. 이 책과 함께 로블록스 여행을 마치면 게임 세계에 생명을 불어넣고 팀과 협력해 그 경험을 전 세계 플레이어로 확장하는 데 필요한 기술을 갖출 수 있을 것이다.

지은이 소개

잰더 브룸보(Zander Brumbaugh)

독립 프로그래머, 프로젝트 매니저, 게임 기획자다. 개발했거나 기여한 게임들은 누적 플레이가 2억회가 넘는다. 로블록스 플랫폼의 홍보와 지원을 위해 로블록스 커뮤니티 및 관련 개발자들과 함께 일한다. Power Simulator, Munching Masters, Magician Simulator와 같은 유명한 게임을 만들었으며, 이 게임의 도움으로 대학에 진학할 수 있었다. 현재 워싱턴 대학 (University of Washington)에 다니고 있으며, 폴 앨런 컴퓨터 과학 및 공학 학교의 일원이다. 이 글을 쓰는 현재 18세다.

옮긴이의 말

세컨드라이프 등 기존에도 인터넷 기반의 가상월드에 대한 다양한 시도가 있어 왔으나, 세상이 기대했던 것에 비해서는 그리 큰 성공을 거두지 못한 게 사실이다. 기대만큼의 성공을 거두지 못한 이유는 여러 가지 있겠으나 아마도 인류의 라이프 스타일 변화 속도의 한계, 하드웨어 성능과 네트워크 속도의 한계 등이 복합적으로 작용했다고 생각한다. 본래 변화와 혁신은 한 번에 되는 일이 잘 없고 두세 번에 걸쳐서 일어난다. IT 혁명도 처음에는 IT 버블이었던 것처럼, 메타버스 역시 세컨드라이프 시절이 메타버스 버블이었다면 이제야 비로소 진정한 메타버스 혁명이 시작되는 출발선에 있다고 볼 수 있다.
누구나 가상월드에 대한 환상을 가지고 산다. '누구나'라는 워딩이 다소 성급한 일반화의 오류를 범하는 듯 들리겠지만, 꿈을 꾸는 존재인 인류의 잠재의식 속에는 늘 여러 개의 다른 세계관이 공존한다고 생각하는 게 그리 급진적인 발상은 아닐 수도 있다. 나 또한 어린 시절부터 내가 사는 현실 공간이 아닌 또 하나의 다른 세상에 대한 동경이 있어 왔고, 구체적인 예로는 초등학생이던 시절, ‘온 세상이 다 놀이공원이라면 우리 인류가 평생 얼마나 행복하게 살 수 있을까?’, ‘왜 학교나 회사 같은 걸 만들어서 이렇게 힘들게 살아가는 것일까?’하는 철없는 상상을 하기도 했었다. 하지만 이런 철없는 상상이 적어도 메타버스 월드에서는 어쩌면 철없는 상상이 아닐 수도 있겠다고 생각하게 된다. 오히려 이런 철없는 상상이 극대화되는 그런 공간이 우리가 바라는 미래의 메타버스 공간일지도 모른다.
최근 상장한 로블록스의 1분기 매출이 공개됐다. 연간 조 단위의 매출을 바라보고 있을 정도로 이미 메타버스 월드는 가능성을 넘어 대세가 되고 있으며, 이는 곧 게임 개발자들에게는 큰 기회 중 하나로 다가오고 있다. 로블록스가 확보하고 있는 충성 고객의 수는 단일 게임 플랫폼으로는 상당한 규모로 이 시장에 관심을 가진 개발자들에게 좋은 기회를 제공한다. 잘 짜여진 로블록스 경제 생태계에 들어가서 자신만의 경쟁력을 갖춘 콘텐츠를 제공한다면 기존의 모바일 게임 생태계보다 더 매력적일 수 있는 단일 공간이 로블록스 생태계다.
이 책은 로블록스 개발 환경에 대한 설명, Roblox Studio와 루아 프로그래밍 언어에 대한 설명을 기반으로 자신만의 게임을 만드는 데 필요한 모든 내용을 체계적으로 설명하고 있다. 게임 메카닉, 수익화 기법, 마케팅 기법 등 실제 게임의 개발뿐만 아니라 수익성 있는 사업으로 발전시키는 데 필요한 내용도 비중 있게 다루고 있다. 또한 프로젝트 관리 및 다른 작업자와의 협업에 대한 조언도 빼놓지 않는다. 이 책의 내용을 충실히 따른다면 원하는 게임의 개발뿐만 아니라 사업적인 성과를 내는 데 필요한 지식도 함께 얻을 수 있다.
지금 이 글을 읽고 계신 독자 여러분께 감사드린다. 부디 이 책이 로블록스 게임 개발자로 성장해나가는 데 큰 도움이 되길 기대한다.

옮긴이 소개

조경빈

중학교 때 처음으로 8비트 컴퓨터를 만지기 시작하면서부터 게임 개발에 흥미를 느끼기 시작했다. 인프라웨어에서 온라인게임과 인터넷 브라우저 엔진 개발에 참여했고 현재 아이엔브이게임즈에서 게임 PD로 모바일 게임을 만들고 있다. SKT T스토어 공모전 게임 부문에 입상했으며, 개인 자격으로 개발한 앱이 미국 내 애플 앱스토어 카테고리 1위에 오르는 등 다양한 실험을 즐기며 살고 있다.

목차

목차
  • 첫 번째 섹션 ― 로블록스 개발 소개
  • 1장. 로블록스 개발 소개
    • 기술적 요구사항
    • 로블록스 개발의 이점
      • 로블록스를 통한 수익 창출
      • 전문가 스킬 개발
      • 네트워킹의 이점
    • 개발자 유형 발견
      • 프로그래머
      • 모델러
      • 빌더
      • UI/UX 디자이너
    • 초기 프로젝트에 대한 통찰 확보
    • 정리

  • 2장. 작업 환경 이해
    • 기술적 요구사항
    • 생성 페이지 탐색
      • 게임 설정 및 장소 세팅
      • Configure Game 메뉴
      • Configuring Start Place 메뉴
      • 기타 장소 옵션
      • 라이브러리와 아바타 상점
    • 로블록스 스튜디오 시작하기
      • 파일 메뉴와 설정
      • 이동과 카메라 조작
      • Explorer 활용
      • 스튜디오 도구 사용
      • 게임 설정 메뉴 관리
      • View 탭
      • 테스트 탭
      • 원활한 작업을 위한 스튜디오 커스터마이즈
    • Roblox 리소스 활용
      • 튜토리얼과 리소스
      • 개발자 포럼
    • 정리

  • 두 번째 섹션 ― 로블록스 프로그래밍
  • 3장. 로블록스 루아 소개
    • 기술적 요구사항
    • 변수와 조건문 생성
      • 데이터 타입
      • 변수 설정 및 변경
      • Numbers
      • Booleans
      • Strings
      • Tables
      • Dictionaries
      • Vectors
      • CFrames
      • Instances
      • 조건문
    • 반복문 선언 및 사용
      • For 반복문
      • While 반복문
      • Repeat 반복문
    • 함수와 이벤트
      • 함수 프로그래밍
      • 재귀호출
      • 인스턴스의 이벤트와 메서드
    • 프로그래밍 스타일 및 효율성 입증
      • 일반적인 스타일 규칙
      • 로블록스 특화 규칙
    • 정리

  • 4장. 로블록스 프로그래밍 시나리오
    • 기술적 요구사항
    • 클라이언트 서버 모델 이해
      • 다양한 스크립트 유형
      • 스크립트 메뉴 탭
      • 필터링 활성화
      • RemoteEvents
      • RemoteFunction
      • BindableEvent와 BindableFunction
    • 로블록스 서비스 활용
      • 플레이어 서비스
      • ReplicatedStorage와 ServerStorage
      • StarterGui
      • StarterPack과 StarterPlayer
      • PhysicsService
      • UserInputService
    • 물리 작업
      • 제약
      • 바디 무버
    • 게임 요소 추가
      • 사운드
      • 광원
      • 기타 효과
    • 정리

  • 5장. 오비 생성
    • 기술적 요구사항
    • 백엔드 설정
      • 플레이어 데이터 관리
      • 충돌과 플레이어 캐릭터 관리
    • 오비 스테이지 생성
      • 파트 행동 생성
      • 보상 생성
      • 상점과 구입
      • 로벅스 프리미엄 구입
      • 인 게임 재화 상점 제작
      • 악용 방지
    • 프론트엔드 설정
      • 이펙트 생성
    • 테스팅과 배포
    • 정리

  • 6장. 배틀 로얄 게임 제작
    • 기술적 요구사항
    • 백엔드 설정
    • 플레이어 데이터 관리
    • 라운드 시스템 설정
    • 무기 생성
    • 로컬 복제
    • 전리품 소환
    • 프론트엔드 설정
      • UI 작업
    • 정리

  • 세 번째 섹션 ― 게임 제작 물류
  • 7장. 3가지 M
    • 기술적 요구사항
    • 메카닉
      • 시물레이터
      • 롤플레이 게임
      • 타이쿤
      • 미니게임
    • 수익화
    • 마케팅
      • Roblox 프로모션 시스템
      • 유튜버
    • 배운 내용 복습
    • 정리

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p. 113: 아래에서 3행]
여기에서 터치된 부분은 이벤트에 의해 전달된 인자다. 여기에서 터치된 부분은 이벤트에 의해 전달된 인자다.
->
여기에서 터치된 부분은 이벤트에 의해 전달된 인자다.

[p. 172: 아래에서 3행]
PartFunctions 모둘에서 소개할 첫 번째 함수인 KillParts()는 파트를 파괴할 때 사용한다.
->
PartFunctions 모듈에서 소개할 첫 번째 함수인 KillParts()는 파트를 파괴할 때 사용한다.

[p. 194: 아래에서 2행]
다음 예제의 코드는 제공된 파타 내의
->
다음 예제의 코드는 제공된 파트 내의

[p. 220: 위에서 10행]
인스턴스나 지형과 충돌하지 않으면 이 값은 교차점을 제외하고는 단순히 nil이 된다.
->
인스턴스가 지형과 충돌하지 않으면 이 값은 교차점을 제외하고는 단순히 nil이 된다.

[p. 245: 아래에서 2행]
GetCompeters라고 이름을 정하자.
->
GetCompetitors라고 이름을 정하자.