Top

로블록스 루아 프로그래밍 첫 발자국 떼기 [로블록스 공식 가이드]

  • 원서명Coding with Roblox Lua in 24 Hours: The Official Roblox Guide (ISBN 9780136829423)
  • 지은이ROBLOX
  • 옮긴이진석준
  • ISBN : 9791161757025
  • 35,000원
  • 2022년 11월 30일 펴냄
  • 페이퍼백 | 428쪽 | 188*235mm
  • 시리즈 : 게임 개발 프로그래밍

책 소개

요약

로블록스의 기본이 되는 프로그래밍 언어인 루아와 게임 제작 툴인 로블록스 스튜디오를 활용하는 법을 다룬 책이다. 루아의 기본적인 문법과 이를 활용해 로블록스 게임을 만드는 과정을 체계적이고 효과적으로 설명하고 있다. 기본적인 애셋의 제작과 배치, 카메라, 클라이언트와 서버 구조, 데이터와 게임 내 아이템 구매에 이르기까지 게임 제작에 필요한 모든 것을 쉽고 자세하게 설명한다. 로블록스 게임을 만들어 보려는 초보 개발자들에게 정확하고 효과적인 경로를 제공해 주는 가이드가 될 것이다.

이 책에서 다루는 내용

◆ 속성과 변수, 함수, if/then 구문, 루프 이해하기
◆ 배열과 딕셔너리를 사용해 정보 구조화하기
◆ 게임 내 사물을 움직이고, 폭발시키고, 카운트 다운을 수행하는 등 상상할 수 있는 모든 일을 현실화하기
◆ 추상화와 객체 지향 프로그래밍을 통해 관리 가능한 수준으로 코드 유지하기
◆ 데이터를 영구적으로 저장해 리더보드와 인벤토리, 게임 내 통화 만들기
◆ 레이캐스팅을 활용해 가구나 간단한 소품들처럼 사용자가 원하는 대로 오브젝트를 배치하기

상세 이미지

저자/역자 소개

지은이 소개

Roblox

제네비에브 존슨(Genevieve Johnson)

세계에서 제일 큰 사용자 생성 소셜 플랫폼인 로블록스의 선임 교육 디자이너다. 교육적 콘텐츠의 생성을 관리하고, 전세계의 교육자들에게 STEAM 기반 교육 프로그램에 어떻게 로블록스를 사용할 수 있는지 조언한다. 학생들이 창업자, 엔지니어, 디자이너 등의 꿈을 가지도록 격려한다. 로블록스에서 일하기 전 iD Tech에서 교육 콘텐츠 매니저로 일했으며, 5만명이 넘는 6세에서 18세 사이의 학생들을 대상으로 하는 전국적 기술 교육 프로그램을 담당했다. 또한 iD Tech에서 소녀들로만 이뤄진 STEAM 프로그램을 성공적으로 런칭했고, 코딩, 로봇 기술은 물론 게임 디자인까지 60개가 넘는 기술 관련 교육 콘텐츠를 개발했다.

옮긴이의 말

이제 게임은 우리의 일상에서 떼려야 뗄 수 없는 생활의 일부가 됐습니다. 특정한 공간과 시간에만 누릴 수 있었던 게임이 이제는 누구나 쉽게 언제 어디서나 즐길 수 있습니다. 또한 이전에는 소수의 사람이 전문적인 기술을 동원해 오랜 시간 공을 들여 게임을 만들었다면, 최근에는 전문적인 지식이 없더라도 다양하고 효과적인 툴의 도움을 받아 손쉽게 자기만의 게임을 만들 수 있게 됐습니다.

로블록스는 누구나 쉽게 게임을 만들 수 있는 시대의 선봉에 서 있습니다. 게임 엔진을 통해 게임을 만드는 것이 상식으로 자리잡은 게임 시장에서, 후발 주자인 로블록스가 눈에 띄는 성장을 할 수 있었던 것은 다른 게임 엔진들에 비해 더욱 쉽고 직관적으로 게임을 만들 수 있는 환경을 제공했기 때문입니다. 게임을 즐기는 사용자들로부터 오랫동안 사랑받았던 프로그래밍 언어인 루아를 사용하는 로블록스 스튜디오는 그 어떤 게임 엔진보다 쉽고 풍부한 게임 제작 경험을 제공할 것입니다.

이 책은 프로그래밍 언어로써의 루아가 가지고 있는 문법적 특징뿐만 아니라, 루아를 사용해 로블록스 게임을 만드는 법에 대해서도 자세하게 설명하고 있습니다. 또한 각 장마다 제공되는 연습문제로 게임에서 바로 활용할 수 있는 수준의 코드를 만들어 볼 수도 있습니다. 책의 내용을 충실히 따라간다면 조금씩 쌓이는 게임 제작 역량과 루아 프로그래밍에 대한 자신감을 체감하실 수 있을 겁니다.

옮긴이 소개

진석준

게임 QA로 데브시스터즈 진저랩에 재직 중이다. 게임과 소프트웨어 테스팅에 관련된 다양한 서적을 번역하면서 끊임없이 변하는 IT 트렌드에 발맞추어 진화하는 법을 늘 고민하고 있다. 번역서로 『게임 테스팅 3/e』(에이콘, 2019), 『봇을 이용한 게임 해킹』(에이콘, 2018), 『언리얼 엔진 4로 나만의 게임 만들기』(에이콘, 2016), 『게임 물리 엔진 개발』(지앤선, 2016), 『시스템으로 풀어보는 게임 디자인』(에이콘, 2022) 등이 있다.

목차

목차
  • HOUR 1. 첫 프로젝트 코딩하기
  • 로블록스 스튜디오 설치하기
  • 간단하게 살펴보기
  • 출력 창 열기
  • 첫 번째 스크립트 작성하기
  • 에러 메시지
  • 주석 남기기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 2. 속성과 변수
  • 오브젝트 계층
  • 키워드
  • 속성
  • 속성과 데이터 유형 찾기
  • 변수 만들기
  • 컬러 속성 바꾸기
  • 인스턴스
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 3. 만들고 활용하기
  • 함수 만들고 호출하기
  • 스코프 이해하기
  • 함수 호출을 위해 이벤트 사용하기
  • 순서와 배치 이해하기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 4. 매개변수와 인수 활용하기
  • 함수가 활용할 정보 전달하기
  • 여러 개의 매개변수와 인수 사용하기
  • 함수에서 값 반환 받기
  • 다양한 값을 반환하기
  • Nil 반환하기
  • 일치하지 않는 인수와 매개변수 다루기
  • 익명 함수 사용하기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 5. 조건 구조
  • if/then 구문
  • elseif
  • 논리 연산자
  • else
  • 요약
  • 워크샵
  • 연습

  • HOUR 6. 디바운싱과 디버깅
  • 파괴하지 말고 디바운스 하자
  • 잘못된 것을 고쳐 나가기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 7. while 루프
  • 영원히 반복하는 while true do
  • 기억해야 할 것들
  • while 루프와 스코프
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 8. for 루프
  • for 루프가 동작하는 법
  • 중첩 루프
  • 루프에서 빠져나오기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 9. 배열로 작업하기
  • 배열이란 무엇인가?
  • 이후에 아이템 추가하기
  • 인덱스에서 정보 가져오기
  • ipairs()를 사용해 전체 리스트 출력하기
  • 폴더와 ipairs()
  • 리스트에서 값을 찾고 인덱스 출력하기
  • 배열에서 값 제거하기
  • 배열과 Numeric for 루프
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 10. 딕셔너리로 작업하기
  • 딕셔너리란?
  • 딕셔너리에 키-값 페어 추가하기
  • 딕셔너리에 키-값 페어 제거하기
  • 딕셔너리와 페어로 작업하기
  • 테이블에서 값 반환받기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 11. 클라이언트와 서버
  • 클라이언트와 서버 이해하기
  • GUI로 작업하기
  • RemoteFunction 이해하기
  • RemoteFunction 활용하기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 12. RemoteEvent: 단방향 커뮤니케이션
  • RemoteEvent: 일방 통행 도로
  • 서버에서 모든 클라이언트와 통신하기
  • 클라이언트에서 서버로 통신하기
  • 서버에서 하나의 클라이언트와 통신하기
  • 클라이언트에서 클라이언트로 통신하기
  • 요약
  • 워크샵
  • 연습

  • HOUR 13. 모듈스크립트 사용하기
  • 한 번만 코딩하자
  • ModuleScript 배치하기
  • ModuleScript의 동작 방식 이해하기
  • ModuleScript 이름 짓기
  • 함수와 변수 추가하기
  • ModuleScript의 스콥 이해하기
  • 다른 스크립트에서 모듈 활용하기
  • 같은 것은 반복하지 말자
  • 추상화 적용하기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 14. 3D 월드 코딩하기
  • X, Y 그리고 Z 좌표 이해하기
  • CFrame 좌표를 사용해 정밀하게 배치하기
  • CFrame을 활용해 오프셋에 위치시키기
  • CFrame으로 회전하기
  • 모델에 적용하기
  • 월드 좌표와 로컬 오브젝트 좌표 이해하기
  • 요약
  • 워크샵
  • 연습

  • HOUR 15. 오브젝트 부드럽게 움직이기
  • 트윈이란?
  • TweenInfo 매개변수 설정
  • 트윈 연결하기
  • 요약
  • 워크샵
  • 연습

  • HOUR 16. 알고리듬으로 문제 해결하기
  • 알고리듬 정의하기
  • 배열의 정렬
  • 내림차순으로 정렬하기
  • 딕셔너리 정렬하기
  • 다양하게 구성된 정보 정렬하기
  • 요약
  • 워크샵
  • 연습

  • HOUR 17. 데이터 저장하기
  • 데이터 스토어 활성화하기
  • 데이터 스토어 만들기
  • 스토어에서 데이터 사용하기
  • 콜 횟수 제한하기
  • 데이터 보호하기
  • 플레이어 데이터 저장하기
  • UpdateAsync를 사용해 데이터 스토어 업데이트 하기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 18. 게임 루프 만들기
  • 게임 루프 설정하기
  • BindableEvents 사용하기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 19. 수익 창출: 일회성 구매
  • 패스 추가하기
  • 패스 설정하기
  • 인게임 구매 장려하기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 20. 객체 지향 프로그래밍
  • OOP란 무엇인가?
  • 코드와 프로젝트 구조화하기
  • 새로운 클래스 만들기
  • 클래스 속성 추가하기
  • 클래스 함수 사용하기
  • 요약
  • 워크샵
  • 연습

  • HOUR 21 상속
  • 상속 설정하기
  • 속성 상속하기
  • 다양한 자식 클래스 만들어 보기
  • 함수 상속하기
  • 다형성 이해하기
  • 부모의 함수 호출하기
  • 요약
  • 워크샵
  • 연습

  • HOUR 22. 레이캐스팅
  • 레이캐스팅을 위한 함수 설정하기
  • 3D 수학의 속임수: 방향 구하기
  • 레이캐스트 매개변수 설정하기
  • 3D 수학의 속임수: 방향의 제약
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 23. 게임 안에 오브젝트 떨어트리기: 파트 1
  • 오브젝트 설정하기
  • 떨어뜨리기 버튼 만들기
  • 마우스 움직임 추적하기
  • 오브젝트 미리보기
  • 요약
  • Q&A
  • 워크샵
  • 연습

  • HOUR 24. 게임 안에 오브젝트 떨어뜨리기: 파트 2
  • 마우스 입력 감지하기
  • 서버로 메시지 보내기
  • 메시지 수신하기
  • 요약
  • Q&A
  • 워크샵
  • 연습
  • 부록 A 로블록스 기본
  • 키워드
  • 데이터 유형
  • 연산자
  • 명명 규칙
  • 애니메이션 이징
  • 연습문제 해답

도서 오류 신고

도서 오류 신고

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

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

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