Chain2D 스크립팅

Chain2D 게임은 두 개의 스크립트와 몇 개의 문서입니다.

  • server/main.luau — 서버에서 돕니다. 무엇이 진짜인지 정합니다.
  • client/main.luau, client/boot/main.luau — 플레이어의 기계에서 돕니다. 그리고, 예측하고, 화면을 다룹니다.
  • shared/maps/*.json, shared/tilesets/*.json, client/**/ui/*.json — 맵, 타일, 화면. 스크립트가 짓지 않고 불러옵니다.

서버가 판단합니다

플레이어가 움직이면 그 입력은 서버로 갑니다. 서버가 풀고, 결과를 내려보냅니다. 클라이언트는 같은 솔버를 링크해서 같은 계산을 미리 합니다 — 그래서 화면은 즉시 반응하고, 서버와 어긋난 순간에만 조용히 교정됩니다.

이것이 뜻하는 바는 하나입니다. 클라이언트가 말하는 것은 입력뿐입니다. 위치도, 점수도, 무엇을 집었는지도 클라이언트가 정하지 않습니다. 치트를 막는 장치를 따로 붙이는 것이 아니라, 클라이언트에게 거짓말할 거리를 주지 않습니다.

무엇을 쓰나요

첫 게임 폴더 하나로 시작해서 두 사람이 만나는 데까지
서버 스크립트 Chain2D.onStart, 맵, 몸, 플레이어, 메시지, 데이터
클라이언트 스크립트 로비, 화면, 로그인, 업데이트
문서 형식 맵 · 타일셋 · 화면

언어

Luau 입니다. Roblox 가 만들고 관리하는 Lua 5.1 의 갈래로, 타입 주석과 훨씬 빠른 VM 을 가집니다. 서버와 클라이언트가 같은 커밋의 Luau 를 씁니다 — 같은 코드가 양쪽에서 다르게 도는 일은 이 엔진에서 일어나지 않습니다.