로블록스 게임제작

로블록스 게임 제작 관련 특징들(스크립트 종류 등)

Dean83 2024. 2. 13. 10:36

로블록스 게임 제작에 대한 전반적인 내용을 기록할 예정이며, 상세하기 다루기 보다는 기본적으로 개발을 할 수 있다는 전제하에 다룰예정. 

로블록스 스튜디오 설치 등은 모두 건너뜀.

 

1. 스크립트 종류

  • 스크립트는 Lua Script를 이용한다. 
  • 비동기 작업이 가능하다
  • 로컬 스크립트 (Local Script)
    • 각 클라이언트 (접속 유저별) 에서 동작하는 스크립트 (유저별 개별 동작)
    • 로컬 스크립트는 자동으로 실행되지 않는다. 
    • 워크스페이스 내부에 생성 -> 각 유저 객체 내부로 복사하는 코딩 작성 or StarterPlayerScripts 폴더 내부에 생성
      • 각 유저 객체 내부로 복사하는 코딩 예 (해당 스크립트는  : 전역 스크립트에 작성 해야 한다)
function onPlayerEntered(player)
	repeat wait () until player.Character ~= nil
	local scr = script.스크립트명:clone()
	
	scr.Parent = player.Character
	scr.Disabled = false
	
	
end

game.Players.PlayerAdded:connect(onPlayerEntered)

 

  • 전역 스크립트 (명칭 : Script)
    • 로블록스 게임 서버에서 동작하는 스크립트 (모든 유저, 워크스페이스를 대상으로 하는 글로벌 스크립트)
    • 보통은 서버 스크립트로 많이 사용한다
      • ServerScriptService 폴더 내부에 생성하면 서버 스크립트가 된다
    • 자동으로 실행 된다. 
    • 서버 스크립트간 통신방법이 없는듯 하다 (못찾는걸수도) 서버 스크립트는 1개만 두고, 기능별로 모듈 스크립트들을
      두어 활용해야 할듯 하다

  • 모듈 스크립트
    • DI패턴 혹은 싱글톤 패턴처럼 동작하는 스크립트로, 타 스크립트들 에서 공통적으로 사용하고 싶을때 유용하다. (예 : enum)
    • 모듈 스크립트 예)
    • 로컬 스크립트에서 사용하기 위해서는 ReplicatedStorage 에 위치해야 한다. 
--모듈 스크립트 작성

local Enums = {}

local ServerCallTypeEnum = { SignCheck = 1, Login = 2 }

function Enums.ServerCallType()
	return ServerCallTypeEnum
end

return Enums

 

  • 모듈 스크립트 호출
local enums = require(game.ServerScriptService.Enums)
enums.ServerCallType().SignCheck



2. 워크스페이스

  • 기본적으로 WorkSpace 자식으로 들어가 있는 항목들이 인게임 요소들의 모음이다. 실제 유저들에게 보여지거나 영향을 미친다.

3. Assistance

  • GPT 같은것이라 보면 되며, 로블록스 전용으로 커스터마이즈 된 AI 이다. 
  • 각종 질문뿐 아니라 코드 작성 까지도 해준다. 매우 편리하고 좋다
  • https://create.roblox.com/docs/assistant
 

Roblox Assistant for Documentation

Use our AI assistant to help you build, grow, and monetize your Roblox creations.

create.roblox.com

 

4. 음성 채팅

  • 음성채팅 기능도 제공이 되나, 만 13세 이상만 가능하다

 

5. 외부 서버 통신

  • RESTAPI를 이용한 외부서버 통신이 가능하다