책 소개
요약
로블록스의 기본이 되는 프로그래밍 언어인 루아와 게임 제작 툴인 로블록스 스튜디오를 활용하는 법을 다룬 책이다. 루아의 기본적인 문법과 이를 활용해 로블록스 게임을 만드는 과정을 체계적이고 효과적으로 설명하고 있다. 기본적인 애셋의 제작과 배치, 카메라, 클라이언트와 서버 구조, 데이터와 게임 내 아이템 구매에 이르기까지 게임 제작에 필요한 모든 것을 쉽고 자세하게 설명한다. 로블록스 게임을 만들어 보려는 초보 개발자들에게 정확하고 효과적인 경로를 제공해 주는 가이드가 될 것이다.
이 책에서 다루는 내용
◆ 속성과 변수, 함수, if/then 구문, 루프 이해하기
◆ 배열과 딕셔너리를 사용해 정보 구조화하기
◆ 게임 내 사물을 움직이고, 폭발시키고, 카운트 다운을 수행하는 등 상상할 수 있는 모든 일을 현실화하기
◆ 추상화와 객체 지향 프로그래밍을 통해 관리 가능한 수준으로 코드 유지하기
◆ 데이터를 영구적으로 저장해 리더보드와 인벤토리, 게임 내 통화 만들기
◆ 레이캐스팅을 활용해 가구나 간단한 소품들처럼 사용자가 원하는 대로 오브젝트를 배치하기
상세 이미지
목차
목차
- 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 로블록스 기본
- 키워드
- 데이터 유형
- 연산자
- 명명 규칙
- 애니메이션 이징
- 연습문제 해답