이미지 확대/축소가 가능합니다.

닫기


로블록스 스튜디오와 루아 언어로 만나는 메타버스 세상!
로블록스에서 놀면서 코딩을 배워보자!


로블록스(ROBLOX)는 시뮬레이션이나 PVP, RPG 등 다양한 종류의 게임을 플레이하고, 직접 게임을 제작할 수 있는 세계 최대 규모의 메타버스 플랫폼이다. 로블록스 안에서는 놀이 공원, 화산 섬, 도시 등 내가 상상한 모든 것을 쉽고 빠르게 구현할 수 있을 뿐만 아니라 내가 만든 공간에 다른 친구들을 초대해 함께 즐길 수도 있다.

이 도서는 로블록스 스튜디오에서 다양한 파트를 직접 조작해 보며 '루아’의 기초 코딩을 재미있게 배울 수 있도록 구성했다. 색상이 계속해서 변하는 파트, 빛이 나는 파트, 특정 파트에 닿으면 색깔이 변하는 파트 등을 만들어 보면서 변수, 반복문, 조건문 등 루아의 기초 스크립팅을 배운 다음, 간단한 실습을 진행하여 이를 시각적인 결과물로 확인해 본다. 단계별로 이미지와 함께 차근차근 안내하고 있어 로블록스와 코딩을 처음 접하는 분들도 쉽게 따라 할 수 있으며, 각 챕터 마지막의 ‘혼자서도 잘해요’에서는 앞서 배운 내용을 응용하여 보다 더 확장된 프로그램을 만들 수 있다. 또한, 소스 코드와 완성 파일도 제공하고 있어 이를 참고하여 나만의 특별한 게임을 완성할 수 있다. 『로블록스로 만드는 나만의 상상 놀이터』와 함께 로블록스 월드를 만들어 보자!



CHAPTER 1 변수! 넌 누구니?

루아(Lua) 코딩 알아보기

CHAPTER 2 While! 댄스 파티 기획하기

코딩 익히기
혼자서도 잘해요

CHAPTER 3 if문 보였다! 안 보였다!

코딩 익히기
혼자서도 잘해요

CHAPTER 4 for문 빛나는 조명

코딩 익히기
혼자서도 잘해요

CHAPTER 5 함수 불을 꺼 주세요!

코딩 익히기
혼자서도 잘해요

CHAPTER 6 이벤트 함수 파괴의 신

코딩 익히기
혼자서도 잘해요

CHAPTER 7 원하는 곳으로 텔레포트 고고!

코딩 익히기
혼자서도 잘해요

CHAPTER 8 테이블 순서대로 차례차례

코딩 익히기
혼자서도 잘해요

CHAPTER 9 스피드업! 점프업!

코딩 익히기
혼자서도 잘해요

CHAPTER 10 포인트 획득하기

코딩 익히기
혼자서도 잘해요

CHAPTER 11 제한된 시간 안에 건너라!

코딩 익히기
혼자서도 잘해요

CHAPTER 12 다시 처음으로 돌아갈 순 없어!

코딩 익히기
혼자서도 잘해요



상세 이미지 1



CHAPTER 1 변수! 넌 누구니?

'코딩편'에서는 ‘루아(Lua)’ 언어를 사용하여 파트가 나타났다 사라지거나, 자연스럽게 움직이도록 만들어 봅니다. 로블록스에서 ‘루아’ 코드로 작성한 내용들은 ‘스크립트(scripts)’에 담기고, ‘루아 스크립트’를 사용하면 게임에서 발생하는 이벤트에 응답하는 대화형 모드를 만들 수 있습니다.

CHAPTER 2 While! 댄스 파티 기획하기

게임에서 상황을 계속해서 유지하고 싶을 때, 반복문을 사용하여 코드를 여러 번 반복할 수 있습니다. 반복문은 지정한 횟수만큼의 반복, 무한히 반복 등 다양하게 설정할 수 있습니다. 이번 시간에는 ‘while문’을 사용하여 무한히 반복하는 코드를 작성해 보려고 합니다. 반복문은 ‘참(true)’과 ‘거짓(false)’을 끊임없이 평가합니다. 참이라면 코드가 실행되고, 거짓이라면 반복문이 종료되며 그 다음 코드가 실행됩니다.

CHAPTER 3 if문 보였다! 안 보였다!

우리는 늘 어떤 조건에 따라 결정을 내립니다. 로블록스에서도 마찬가지입니다. ‘지금 밤인가?’ ‘obby가 보이는가?’ 등 조건에 따라 달리 동작하는 프로그램을 만들 수 있습니다. 대표적인 예로 조건에 따라 특정 코드를 실행할지 결정하는 ‘if문’이 있습니다. 프로그램의 실행 흐름을 통제할 수 있는 강력한 힘을 발휘하는 ‘if문’에 대해 알아봅니다.

CHAPTER 4 for문 빛나는 조명

코드를 계속해서 실행시키는 데에는 다양한 방법이 있습니다. 코드가 특정 횟수만큼만 실행되도록 하려면 ‘for문’을 사용합니다. ‘for문’은 시계가 1초 간격으로 똑딱거리는 카운트다운 타이머를 만들 때 사용할 수 있습니다. 무한 반복하게 하려면 앞에서 배운 ‘while문’을 사용하면 됩니다. 이번 시간에는 ‘for문’을 사용하여 ‘빛이 나는 조명’을 만들어 봅니다.

CHAPTER 5 함수 불을 꺼 주세요!

‘함수(Function)’는 스크립트에서 여러 번 사용할 수 있는 명령 집합입니다. 대부분의 프로그래밍 언어에 내장되어 있으며, 루아에도 ‘print( )’, ‘wait( )’ 등 미리 만들어진 기능이 있습니다. 자주 사용하는 코드에 대해서는 고유한 사용자 ‘지정 함수’를 만들 수 있으며, 레시피의 단계처럼 나열하는 기능을 만들 수도 있습니다.

CHAPTER 6 이벤트 함수 파괴의 신

모든 개체에는 인과관계 시스템을 설정하는 데 사용할 수 있는 이벤트가 있습니다. 이벤트는 플레이어가 물체를 만지거나 게임에 연결하는 것과 같이 게임에서 특정 일이 발생할 때 신호를 보냅니다. 대표적으로 ‘Wait’, ‘Connect’, ‘Disconnect’ 함수가 있습니다. 다른 파트와 충돌하게 할 수도 있고, 플레이어에게 피해를 입힐 수도 있습니다. 이러한 이벤트로 게임에 생동감을 넣어 봅니다.

CHAPTER 7 원하는 곳으로 텔레포트 고고!

로블록스 세계는 매우 크기 때문에 순간 이동이 구현되어야 게임을 잘 수행할 수 있습니다. 여러 개의 마을, 성, 숲이 있는 경우라면 각각을 별도의 장소로 만들고 특정 지점에서 플레이어를 텔레포트시킬 수 있습니다. 그리고 게임에서 레벨이 올라갈 때 텔레포트를 사용하기도 합니다. 이번 시간에는 두 가지 방법을 이용하여 텔레포트 하는 방법을 알아봅니다.

CHAPTER 8 테이블 순서대로 차례차례

로블록스에서 테이블은 루아의 유일한 합성 자료 구조로, 여러 값을 함께 그룹화하는 방법입니다. 단일 값만 저장하는 변수와 달리 테이블은 고정된 크기가 없으며, 다양한 유형의 값을 혼합하여 저장할 수 있습니다. 테이블을 사용하여 게임 내 항목에 대한 통계를 그룹화 하거나 수천명의 플레이어 이름 목록을 만들 수 있습니다.

CHAPTER 9 스피드업! 점프업!

스피드업은 플레이어에게 빠르게 움직일 수 있는 특별한 능력을 제공합니다. 일시적으로 플레이어가 더 빨리 걷도록 하는 속도 향상 파워 업을 생성하기 위해, if/then문은 속도 향상을 해야 하는 개체가 플레이어인지, 플레이어가 활동을 하고 있는지를 확인합니다. 점프업은 동일한 코드로 높이 올라가기 위한 작업을 합니다. 이번 시간에는 파트의 속도를 빠르게, 그리고 높이 올라갈 수 있는 코드를 학습합니다.

CHAPTER 10 포인트 획득하기

로블록스에는 스코어, 레이스의 순위, 도착 시간 등 플레이어의 다양한 정보를 표시할 수 있는 리더보드 시스템이 내장되어 있습니다. 리더보드는 조건문을 사용하여, 터치했을 때 부품이 어떤 색상인지에 따라 점수를 부여하거나 차감할 수 있습니다.

CHAPTER 11 제한된 시간 안에 건너라!

지금까지 배운 내용을 토대로 간단한 미니 게임을 만들어 봅니다. 목적지에 도달하기 위해 제한된 시간 안에 다리를 건너거나 블록을 밟으면 속도가 향상되어 목적지에 빠르게 도달하게 하는 등 다양한 예제로 연습해 봅니다.

CHAPTER 12 다시 처음으로 돌아갈 순 없어!

게임 중간에 탈락했을 때 다시 처음으로 돌아가서 게임을 시작해야 한다면? 다시 점프 미션을 해결해야 하고, 아이템도 다시 획득해야 하는 등 번거로운 일이 아주 많이 발생합니다. 이번 시간에는 별도의 코딩 없이 ‘체크 포인트’ 기능을 사용하여 중간에 다시 시작할 수 있도록 만들어 봅니다.