diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..2f6be5c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,261 @@ +# ๐ŸŽ๏ธ ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ + +๋กœ๋ธ”๋ก์Šค ์ŠคํŠœ๋””์˜ค๋กœ ์ œ์ž‘ํ•œ ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ์Šคํƒ€์ผ ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ + +--- + +# ๋กœ๋ธ”๋ก์Šค ํ”„๋กœ์ ํŠธ ์ „์šฉ ์ง€์นจ + +## MCP ์„œ๋ฒ„ ์‚ฌ์šฉ ๊ทœ์น™ + +**๐Ÿ”ด ํ•„์ˆ˜**: ์ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” **Roblox Studio MCP ์„œ๋ฒ„**๋ฅผ ํ•ญ์ƒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +### Roblox Studio MCP ์‚ฌ์šฉ +- **๋ชจ๋“  ๋กœ๋ธ”๋ก์Šค ์ž‘์—…**์— `mcp__Roblox_Studio__run_code` ๋˜๋Š” `mcp__Roblox_Studio__insert_model` ์‚ฌ์šฉ +- **์ ˆ๋Œ€ ๊ธˆ์ง€**: ์ผ๋ฐ˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ ‘๊ทผ์œผ๋กœ `.rbxl` ํŒŒ์ผ ์ฝ๊ธฐ/์“ฐ๊ธฐ +- **Lua ์Šคํฌ๋ฆฝํŠธ ํ™•์ธ/์ˆ˜์ •**: MCP๋ฅผ ํ†ตํ•œ `run_code` ์‚ฌ์šฉ + +### ์ฃผ์š” ์ž‘์—… ํŒจํ„ด + +#### ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ํ™•์ธ +```lua +mcp__Roblox_Studio__run_code: +-- Workspace, StarterPlayer, ReplicatedStorage ๋“ฑ ํ™•์ธ +for _, obj in pairs(game.Workspace:GetChildren()) do + print(obj.Name) +end +``` + +#### ์Šคํฌ๋ฆฝํŠธ ๋ถ„์„ +```lua +mcp__Roblox_Studio__run_code: +-- ์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค ํ™•์ธ +local script = game.StarterPlayer.StarterCharacterScripts.VehicleControl +print(script.Source) +``` + +#### ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑ/์ˆ˜์ • +```lua +mcp__Roblox_Studio__run_code: +-- ์ƒˆ ํŒŒํŠธ, ์Šคํฌ๋ฆฝํŠธ, UI ๋“ฑ ์ƒ์„ฑ +local part = Instance.new("Part") +part.Parent = game.Workspace +``` + +### ์™œ MCP๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€? +- โœ… **์‹ค์‹œ๊ฐ„ ๊ฒŒ์ž„ ์ƒํƒœ ์ ‘๊ทผ**: ๋กœ๋ธ”๋ก์Šค ์ŠคํŠœ๋””์˜ค์™€ ์ง์ ‘ ํ†ต์‹  +- โœ… **Lua ์‹คํ–‰**: ๊ฒŒ์ž„ ์—”์ง„์—์„œ ์ง์ ‘ ์ฝ”๋“œ ์‹คํ–‰ ๋ฐ ํ…Œ์ŠคํŠธ +- โœ… **์•ˆ์ „ํ•œ ์ˆ˜์ •**: ํŒŒ์ผ ์†์ƒ ์—†์ด ์˜ค๋ธŒ์ ํŠธ ์กฐ์ž‘ +- โŒ **ํŒŒ์ผ ์ ‘๊ทผ ๋ถˆ๊ฐ€**: `.rbxl`์€ ๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๋งท์œผ๋กœ ์ง์ ‘ ์ฝ๊ธฐ ๋ถˆ๊ฐ€๋Šฅ + +### ๊ธˆ์ง€ ์‚ฌํ•ญ +- โŒ `Read` ํˆด๋กœ `.rbxl` ํŒŒ์ผ ์ฝ๊ธฐ +- โŒ `Edit` ํˆด๋กœ `.rbxl` ํŒŒ์ผ ์ˆ˜์ • +- โŒ `Write` ํˆด๋กœ Lua ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ƒ์„ฑ +- โŒ `Glob` ํˆด๋กœ `.lua` ํŒŒ์ผ ๊ฒ€์ƒ‰ (ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€์—๋Š” ์—†์Œ) + +### ์˜ฌ๋ฐ”๋ฅธ ์›Œํฌํ”Œ๋กœ์šฐ +1. **์ƒํƒœ ํ™•์ธ**: `mcp__Roblox_Studio__run_code`๋กœ ํ˜„์žฌ ๊ตฌ์กฐ ํŒŒ์•… +2. **๋กœ์ง ๊ตฌํ˜„**: `mcp__Roblox_Studio__run_code`๋กœ ์ฝ”๋“œ ์ž‘์„ฑ/์ˆ˜์ • +3. **ํ…Œ์ŠคํŠธ**: MCP๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์‹คํ–‰ ๋ฐ ๊ฒ€์ฆ +4. **๋ฌธ์„œํ™”**: `CLAUDE.md` ์—…๋ฐ์ดํŠธ (์œ ์ผํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ž‘์—…) + +--- + +# ๐Ÿ“‹ ํ”„๋กœ์ ํŠธ ๊ฐœ์š” + +- **ํ”Œ๋žซํผ**: Roblox Studio +- **์–ธ์–ด**: Lua +- **์Šคํƒ€์ผ**: ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ (Future GPX Cyber Formula) +- **์žฅ๋ฅด**: ๋ ˆ์ด์‹ฑ, ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด + +## โœจ ์ฃผ์š” ๊ธฐ๋Šฅ + +### 1. ํŠธ๋ž™ ์‹œ์Šคํ…œ +- ํ”„๋กœํŽ˜์…”๋„ ์„œํ‚ท ๋””์ž์ธ +- ์•„์ŠคํŒ”ํŠธ ํŠธ๋ž™ + ์ฐจ์„  ๋งˆํ‚น +- ๋นจ๊ฐ•-ํฐ ์—ฐ์„ (Kerbs) +- ๊ธˆ์† ๊ฐ€๋“œ๋ ˆ์ผ +- ์Šคํƒ€ํŠธ/ํ”ผ๋‹ˆ์‹œ ๋ผ์ธ + +### 2. ์ฐจ๋Ÿ‰ ์‹œ์Šคํ…œ +- ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ์Šคํƒ€์ผ (๋„ค์˜จ ํšจ๊ณผ) +- ์ปค์Šคํ…€ ์šด์ „ ์‹œ์Šคํ…œ (WASD) +- ์•ˆ์ •์„ฑ ์‹œ์Šคํ…œ (์ „๋ณต ๋ฐฉ์ง€) +- ํ—ค๋“œ๋ผ์ดํŠธ/ํ…Œ์ผ๋ผ์ดํŠธ +- ์‚ฌ์šด๋“œ ์‹œ์Šคํ…œ (์—”์ง„, ๋ถ€์ŠคํŠธ, ์•„์ดํ…œ) + +### 3. ๋ถ€์ŠคํŠธ ์‹œ์Šคํ…œ +- **F ํ‚ค** ๋ฐœ๋™ +- ์˜ค์ผ ๊ฒŒ์ด์ง€ ๊ด€๋ฆฌ (100%) +- ๋ถ€์ŠคํŠธ ์†Œ๋ชจ: 30% / ํšŒ๋ณต: ์ดˆ๋‹น 5% +- ์—”์ง„ ๋ธ”๋กœ์šฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (10% ์ดํ•˜ ๊ฐ•์ œ ๋ถ€์ŠคํŠธ) + +### 4. ์•„์ดํ…œ ์‹œ์Šคํ…œ +- โ›ฝ **์˜ค์ผ ์บ”** (x4): ์˜ค์ผ +50% ํšŒ๋ณต +- ๐Ÿš€ **๋ถ€์ŠคํŠธ ํŒจ๋“œ** (x4): ๊ฐ•๋ ฅ ๊ฐ€์† +- ๐Ÿ”ง **๋ฆฌํŽ˜์–ด ํ‚ท** (x2): ์—”์ง„ ์ฆ‰์‹œ ์ˆ˜๋ฆฌ + ์˜ค์ผ 100% + +### 5. UI ์‹œ์Šคํ…œ +- ์˜ค์ผ ๊ฒŒ์ด์ง€ (์ƒ‰์ƒ ๋ณ€ํ™”) +- ์†๋„๊ณ„ (์‹ค์‹œ๊ฐ„ ์†๋„ ํ‘œ์‹œ) +- ๋ถ€์ŠคํŠธ ์ƒํƒœ ํ‘œ์‹œ +- ์•Œ๋ฆผ ์‹œ์Šคํ…œ +- ๋žฉํƒ€์ž„ ๋””์Šคํ”Œ๋ ˆ์ด + +### 6. ๋žฉํƒ€์ž„ ์‹œ์Šคํ…œ +- ์Šคํƒ€ํŠธ๋ผ์ธ ๊ฐ์ง€ +- ๋žฉํƒ€์ž„ ๊ธฐ๋ก +- ์ตœ๊ณ  ๊ธฐ๋ก ์ถ”์  +- ์‹ค์‹œ๊ฐ„ UI ์—…๋ฐ์ดํŠธ +- ์ตœ์†Œ ๋žฉํƒ€์ž„ ๊ฒ€์ฆ (10์ดˆ ์ด์ƒ) + +### 7. ๋ฆฌ๋”๋ณด๋“œ ์‹œ์Šคํ…œ +- ์‹ค์‹œ๊ฐ„ ์ˆœ์œ„ํ‘œ ํ‘œ์‹œ +- ์ตœ๊ณ  ๋žฉํƒ€์ž„ ๊ธฐ๋ฐ˜ ์ •๋ ฌ +- ํ”Œ๋ ˆ์ด์–ด๋ณ„ ํ†ต๊ณ„ (Best Lap, Total Laps) +- 1-3์œ„ ํŠน๋ณ„ ํ‘œ์‹œ (๊ธˆ, ์€, ๋™๋ฉ”๋‹ฌ) +- ์ž์‹ ์˜ ์ˆœ์œ„ ํ•˜์ด๋ผ์ดํŠธ +- ์ตœ๋Œ€ 8๋ช… ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ์ง€์› + +## ๐ŸŽฎ ์กฐ์ž‘๋ฒ• + +- **W**: ์ „์ง„ +- **S**: ํ›„์ง„ +- **A**: ์™ผ์ชฝ ํšŒ์ „ +- **D**: ์˜ค๋ฅธ์ชฝ ํšŒ์ „ +- **F**: ๋ถ€์ŠคํŠธ ๋ฐœ๋™ +- **Space**: ์ฐจ๋Ÿ‰ ํ•˜์ฐจ + +## ๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ + +``` +Workspace/ +โ”œโ”€โ”€ RacingCircuit/ # ์„œํ‚ท ํŠธ๋ž™ +โ”‚ โ”œโ”€โ”€ HomeStretch # ํ™ˆ ์ŠคํŠธ๋ ˆ์ดํŠธ +โ”‚ โ”œโ”€โ”€ BackStretch # ๋ฐฑ ์ŠคํŠธ๋ ˆ์ดํŠธ +โ”‚ โ”œโ”€โ”€ Turn1_2, Turn3_4 # ์ฝ”๋„ˆ +โ”‚ โ”œโ”€โ”€ LaneLines/ # ์ฐจ์„  +โ”‚ โ”œโ”€โ”€ Kerbs # ์—ฐ์„ +โ”‚ โ”œโ”€โ”€ Guardrails # ๊ฐ€๋“œ๋ ˆ์ผ +โ”‚ โ”œโ”€โ”€ LightTowers # ์กฐ๋ช… +โ”‚ โ””โ”€โ”€ StartLine # ์Šคํƒ€ํŠธ/ํ”ผ๋‹ˆ์‹œ ๋ผ์ธ +โ”œโ”€โ”€ SimpleCyberCar/ # ์ฐจ๋Ÿ‰ ๋ชจ๋ธ +โ”‚ โ”œโ”€โ”€ Chassis # ์ฐจ์ฒด +โ”‚ โ”œโ”€โ”€ DriveSeat # ์šด์ „์„ +โ”‚ โ”œโ”€โ”€ Wheels (x4) # ๋ฐ”ํ€ด +โ”‚ โ”œโ”€โ”€ NeonLines # ๋„ค์˜จ ์žฅ์‹ +โ”‚ โ””โ”€โ”€ Sounds/ # ์‚ฌ์šด๋“œ ์‹œ์Šคํ…œ +โ”‚ โ”œโ”€โ”€ EngineSound # ์—”์ง„ ์†Œ๋ฆฌ +โ”‚ โ”œโ”€โ”€ BoostSound # ๋ถ€์ŠคํŠธ ํšจ๊ณผ์Œ +โ”‚ โ”œโ”€โ”€ PickupSound # ์•„์ดํ…œ ํš๋“ +โ”‚ โ””โ”€โ”€ BlowSound # ์—”์ง„ ๋ธ”๋กœ์šฐ +โ””โ”€โ”€ Items/ # ์•„์ดํ…œ + โ”œโ”€โ”€ OilCan (x4) + โ”œโ”€โ”€ BoostPad (x4) + โ””โ”€โ”€ RepairKit (x2) + +StarterPlayer/ +โ””โ”€โ”€ StarterCharacterScripts/ + โ””โ”€โ”€ VehicleControl # ๋ฉ”์ธ ์šด์ „ ์Šคํฌ๋ฆฝํŠธ (์‚ฌ์šด๋“œ ํ†ตํ•ฉ) + +StarterGui/ +โ””โ”€โ”€ RacingUI/ # UI ์‹œ์Šคํ…œ + โ”œโ”€โ”€ OilGauge # ์˜ค์ผ ๊ฒŒ์ด์ง€ + โ”œโ”€โ”€ Speedometer # ์†๋„๊ณ„ + โ”œโ”€โ”€ BoostStatus # ๋ถ€์ŠคํŠธ ์ƒํƒœ + โ”œโ”€โ”€ Notification # ์•Œ๋ฆผ + โ”œโ”€โ”€ LapTime # ๋žฉํƒ€์ž„ ํ‘œ์‹œ + โ””โ”€โ”€ LeaderboardUI # ์‹ค์‹œ๊ฐ„ ์ˆœ์œ„ํ‘œ + +ReplicatedStorage/ +โ”œโ”€โ”€ OilPickup # ์˜ค์ผ ์•„์ดํ…œ ์ด๋ฒคํŠธ +โ”œโ”€โ”€ RepairPickup # ๋ฆฌํŽ˜์–ด ์•„์ดํ…œ ์ด๋ฒคํŠธ +โ””โ”€โ”€ LapEvent # ๋žฉํƒ€์ž„ ์ด๋ฒคํŠธ + +ServerScriptService/ +โ”œโ”€โ”€ LapTimer # ๋žฉํƒ€์ž„ ์„œ๋ฒ„ ๋กœ์ง +โ””โ”€โ”€ Leaderboard # ๋ฆฌ๋”๋ณด๋“œ ๊ด€๋ฆฌ +``` + +## ๐ŸŽฏ ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด + +1. **์ฐจ๋Ÿ‰ ํƒ‘์Šน**: ๋„ค์˜จ ์ฐจ๋Ÿ‰์— ์ ‘๊ทผํ•ด์„œ ํด๋ฆญ +2. **๋ ˆ์ด์‹ฑ**: WASD๋กœ ์„œํ‚ท์„ ์ฃผํ–‰ +3. **๋ถ€์ŠคํŠธ ๊ด€๋ฆฌ**: F ํ‚ค๋กœ ๋ถ€์ŠคํŠธ, ์˜ค์ผ ๊ฒŒ์ด์ง€ ์ฃผ์˜ +4. **์•„์ดํ…œ ์ˆ˜์ง‘**: ํŠธ๋ž™์˜ ์•„์ดํ…œ์œผ๋กœ ์˜ค์ผ ํšŒ๋ณต +5. **๋žฉํƒ€์ž„ ๋„์ „**: ์Šคํƒ€ํŠธ๋ผ์ธ์„ ํ†ต๊ณผํ•˜๋ฉฐ ๊ธฐ๋ก ์ธก์ • +6. **์ฃผ์˜**: ์˜ค์ผ 10% ์ดํ•˜์—์„œ ๋ถ€์ŠคํŠธ โ†’ ์—”์ง„ ๋ธ”๋กœ์šฐ! + +## ๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ + +- **Lua**: ๊ฒŒ์ž„ ๋กœ์ง +- **Roblox Studio**: ๊ฒŒ์ž„ ์—”์ง„ +- **BodyVelocity/BodyGyro**: ์ฐจ๋Ÿ‰ ๋ฌผ๋ฆฌ +- **HingeConstraint**: ๋ฐ”ํ€ด ํšŒ์ „ +- **RemoteEvent**: ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ํ†ต์‹  +- **ParticleEmitter**: ๋ถ€์ŠคํŠธ ํšจ๊ณผ +- **Sound**: ์˜ค๋””์˜ค ์‹œ์Šคํ…œ + +## ๐Ÿ“Š ๊ฒŒ์ž„ ๋ฐธ๋Ÿฐ์Šค + +| ํ•ญ๋ชฉ | ๊ฐ’ | +|------|-----| +| ๊ธฐ๋ณธ ์†๋„ | 80 | +| ๋ถ€์ŠคํŠธ ์†๋„ | 160 (2๋ฐฐ) | +| ํ›„์ง„ ์†๋„ | 40 | +| ์กฐํ–ฅ ๊ฐ๋„ | 5ยฐ | +| ๋ถ€์ŠคํŠธ ์ง€์† | 3์ดˆ | +| ๋ถ€์ŠคํŠธ ์†Œ๋ชจ | 30% | +| ์˜ค์ผ ํšŒ๋ณต | ์ดˆ๋‹น 5% | +| ์—”์ง„ ๋ธ”๋กœ์šฐ | 10์ดˆ ์ •์ง€ | + +## ๐Ÿš€ TODO + +- [x] UI ์‹œ์Šคํ…œ (์˜ค์ผ ๊ฒŒ์ด์ง€, ์†๋„๊ณ„) +- [x] ์‚ฌ์šด๋“œ ์ดํŽ™ํŠธ +- [x] ๋žฉํƒ€์ž„ ์‹œ์Šคํ…œ +- [x] ๋ฆฌ๋”๋ณด๋“œ ์‹œ์Šคํ…œ +- [ ] UI ์ •๋ฆฌ ๋ฐ ๋ ˆ์ด์•„์›ƒ ์ตœ์ ํ™” +- [ ] ์ถ”๊ฐ€ ์„œํ‚ท ๋งต +- [ ] ํƒ€์ž„ ์–ดํƒ ๋ชจ๋“œ + +## ๐Ÿ“ ๋ฒ„์ „ ํžˆ์Šคํ† ๋ฆฌ + +### v0.3.0 (2025-10-07) +- โœ… ๋ฆฌ๋”๋ณด๋“œ ์‹œ์Šคํ…œ (์‹ค์‹œ๊ฐ„ ์ˆœ์œ„ํ‘œ) +- โœ… ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ์ง€์› (์ตœ๋Œ€ 8๋ช…) +- โœ… ํ”Œ๋ ˆ์ด์–ด ํ†ต๊ณ„ ์‹œ์Šคํ…œ (Best Lap, Total Laps) +- โœ… ์ˆœ์œ„๋ณ„ ์ƒ‰์ƒ ์ฐจ๋ณ„ํ™” (1-3์œ„ ๋ฉ”๋‹ฌ) + +### v0.2.0 (2025-10-07) +- โœ… ์‚ฌ์šด๋“œ ์‹œ์Šคํ…œ (์—”์ง„, ๋ถ€์ŠคํŠธ, ์•„์ดํ…œ, ์—”์ง„ ๋ธ”๋กœ์šฐ) +- โœ… ๋žฉํƒ€์ž„ ์‹œ์Šคํ…œ (๊ธฐ๋ก ์ธก์ • ๋ฐ UI ํ‘œ์‹œ) +- โœ… ์ตœ๊ณ  ๊ธฐ๋ก ์ถ”์  ์‹œ์Šคํ…œ + +### v0.1.0 (2025-01-XX) +- โœ… ์ผ๋ฐ˜ ์„œํ‚ท ํŠธ๋ž™ ๊ตฌํ˜„ +- โœ… ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ์Šคํƒ€์ผ ์ฐจ๋Ÿ‰ +- โœ… ์˜ค์ผ ๊ฒŒ์ด์ง€ ๋ถ€์ŠคํŠธ ์‹œ์Šคํ…œ +- โœ… ์—”์ง„ ๋ธ”๋กœ์šฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜ +- โœ… ์•„์ดํ…œ ์‹œ์Šคํ…œ (3์ข…) +- โœ… ์ฐจ๋Ÿ‰ ์•ˆ์ •์„ฑ ์‹œ์Šคํ…œ +- โœ… UI ์‹œ์Šคํ…œ ์™„์„ฑ + +## ๐ŸŽจ ๋””์ž์ธ ์ปจ์…‰ + +**์ปจ์…‰**: "์ผ๋ฐ˜ ์„œํ‚ท ์œ„๋ฅผ ๋‹ฌ๋ฆฌ๋Š” ๋ฏธ๋ž˜ํ˜• ๋„ค์˜จ ์ฐจ๋Ÿ‰" + +- ํŠธ๋ž™: ๋ฆฌ์–ผ๋ฆฌ์Šคํ‹ฑํ•œ F1 ์Šคํƒ€์ผ ์„œํ‚ท +- ์ฐจ๋Ÿ‰: ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์Šคํƒ€์ผ (๋„ค์˜จ ํšจ๊ณผ) +- ๋Œ€๋น„: ํ˜„์‹ค์  ๋ฐฐ๊ฒฝ + ๋ฏธ๋ž˜์  ์ฐจ๋Ÿ‰ = ์‹œ๊ฐ์  ์ž„ํŒฉํŠธ + +## ๐Ÿ“„ ๋ผ์ด์„ ์Šค + +MIT License + +## ๐Ÿ‘จโ€๐Ÿ’ป ๊ฐœ๋ฐœ์ž + +- ๊ฐœ๋ฐœ: Claude + tindevil82 +- ํ”Œ๋žซํผ: Roblox Studio +- ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„: 2025 diff --git a/README.md b/README.md deleted file mode 100644 index b012d46..0000000 --- a/README.md +++ /dev/null @@ -1,138 +0,0 @@ -# ๐ŸŽ๏ธ ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - -๋กœ๋ธ”๋ก์Šค ์ŠคํŠœ๋””์˜ค๋กœ ์ œ์ž‘ํ•œ ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ์Šคํƒ€์ผ ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - -## ๐Ÿ“‹ ํ”„๋กœ์ ํŠธ ๊ฐœ์š” - -- **ํ”Œ๋žซํผ**: Roblox Studio -- **์–ธ์–ด**: Lua -- **์Šคํƒ€์ผ**: ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ (Future GPX Cyber Formula) -- **์žฅ๋ฅด**: ๋ ˆ์ด์‹ฑ, ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด - -## โœจ ์ฃผ์š” ๊ธฐ๋Šฅ - -### 1. ํŠธ๋ž™ ์‹œ์Šคํ…œ -- ํ”„๋กœํŽ˜์…”๋„ ์„œํ‚ท ๋””์ž์ธ -- ์•„์ŠคํŒ”ํŠธ ํŠธ๋ž™ + ์ฐจ์„  ๋งˆํ‚น -- ๋นจ๊ฐ•-ํฐ ์—ฐ์„ (Kerbs) -- ๊ธˆ์† ๊ฐ€๋“œ๋ ˆ์ผ -- ์Šคํƒ€ํŠธ/ํ”ผ๋‹ˆ์‹œ ๋ผ์ธ - -### 2. ์ฐจ๋Ÿ‰ ์‹œ์Šคํ…œ -- ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ์Šคํƒ€์ผ (๋„ค์˜จ ํšจ๊ณผ) -- ์ปค์Šคํ…€ ์šด์ „ ์‹œ์Šคํ…œ (WASD) -- ์•ˆ์ •์„ฑ ์‹œ์Šคํ…œ (์ „๋ณต ๋ฐฉ์ง€) -- ํ—ค๋“œ๋ผ์ดํŠธ/ํ…Œ์ผ๋ผ์ดํŠธ - -### 3. ๋ถ€์ŠคํŠธ ์‹œ์Šคํ…œ -- **F ํ‚ค** ๋ฐœ๋™ -- ์˜ค์ผ ๊ฒŒ์ด์ง€ ๊ด€๋ฆฌ (100%) -- ๋ถ€์ŠคํŠธ ์†Œ๋ชจ: 30% / ํšŒ๋ณต: ์ดˆ๋‹น 5% -- ์—”์ง„ ๋ธ”๋กœ์šฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (10% ์ดํ•˜ ๊ฐ•์ œ ๋ถ€์ŠคํŠธ) - -### 4. ์•„์ดํ…œ ์‹œ์Šคํ…œ -- โ›ฝ **์˜ค์ผ ์บ”** (x4): ์˜ค์ผ +50% ํšŒ๋ณต -- ๐Ÿš€ **๋ถ€์ŠคํŠธ ํŒจ๋“œ** (x4): ๊ฐ•๋ ฅ ๊ฐ€์† -- ๐Ÿ”ง **๋ฆฌํŽ˜์–ด ํ‚ท** (x2): ์—”์ง„ ์ฆ‰์‹œ ์ˆ˜๋ฆฌ + ์˜ค์ผ 100% - -## ๐ŸŽฎ ์กฐ์ž‘๋ฒ• - -- **W**: ์ „์ง„ -- **S**: ํ›„์ง„ -- **A**: ์™ผ์ชฝ ํšŒ์ „ -- **D**: ์˜ค๋ฅธ์ชฝ ํšŒ์ „ -- **F**: ๋ถ€์ŠคํŠธ ๋ฐœ๋™ -- **Space**: ์ฐจ๋Ÿ‰ ํ•˜์ฐจ - -## ๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ -Workspace/ -โ”œโ”€โ”€ RacingCircuit/ # ์„œํ‚ท ํŠธ๋ž™ -โ”‚ โ”œโ”€โ”€ HomeStretch # ํ™ˆ ์ŠคํŠธ๋ ˆ์ดํŠธ -โ”‚ โ”œโ”€โ”€ BackStretch # ๋ฐฑ ์ŠคํŠธ๋ ˆ์ดํŠธ -โ”‚ โ”œโ”€โ”€ Turn1_2, Turn3_4 # ์ฝ”๋„ˆ -โ”‚ โ”œโ”€โ”€ LaneLines/ # ์ฐจ์„  -โ”‚ โ”œโ”€โ”€ Kerbs # ์—ฐ์„ -โ”‚ โ”œโ”€โ”€ Guardrails # ๊ฐ€๋“œ๋ ˆ์ผ -โ”‚ โ””โ”€โ”€ LightTowers # ์กฐ๋ช… -โ”œโ”€โ”€ SimpleCyberCar/ # ์ฐจ๋Ÿ‰ ๋ชจ๋ธ -โ”‚ โ”œโ”€โ”€ Chassis # ์ฐจ์ฒด -โ”‚ โ”œโ”€โ”€ DriveSeat # ์šด์ „์„ -โ”‚ โ”œโ”€โ”€ Wheels (x4) # ๋ฐ”ํ€ด -โ”‚ โ””โ”€โ”€ NeonLines # ๋„ค์˜จ ์žฅ์‹ -โ””โ”€โ”€ Items/ # ์•„์ดํ…œ -โ”œโ”€โ”€ OilCan (x4) -โ”œโ”€โ”€ BoostPad (x4) -โ””โ”€โ”€ RepairKit (x2) -StarterPlayer/ -โ””โ”€โ”€ StarterCharacterScripts/ -โ””โ”€โ”€ VehicleControl # ๋ฉ”์ธ ์šด์ „ ์Šคํฌ๋ฆฝํŠธ -ReplicatedStorage/ -โ”œโ”€โ”€ OilPickup # ์˜ค์ผ ์•„์ดํ…œ ์ด๋ฒคํŠธ -โ””โ”€โ”€ RepairPickup # ๋ฆฌํŽ˜์–ด ์•„์ดํ…œ ์ด๋ฒคํŠธ - -## ๐ŸŽฏ ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด - -1. **์ฐจ๋Ÿ‰ ํƒ‘์Šน**: ๋„ค์˜จ ์ฐจ๋Ÿ‰์— ์ ‘๊ทผํ•ด์„œ ํด๋ฆญ -2. **๋ ˆ์ด์‹ฑ**: WASD๋กœ ์„œํ‚ท์„ ์ฃผํ–‰ -3. **๋ถ€์ŠคํŠธ ๊ด€๋ฆฌ**: F ํ‚ค๋กœ ๋ถ€์ŠคํŠธ, ์˜ค์ผ ๊ฒŒ์ด์ง€ ์ฃผ์˜ -4. **์•„์ดํ…œ ์ˆ˜์ง‘**: ํŠธ๋ž™์˜ ์•„์ดํ…œ์œผ๋กœ ์˜ค์ผ ํšŒ๋ณต -5. **์ฃผ์˜**: ์˜ค์ผ 10% ์ดํ•˜์—์„œ ๋ถ€์ŠคํŠธ โ†’ ์—”์ง„ ๋ธ”๋กœ์šฐ! - -## ๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ - -- **Lua**: ๊ฒŒ์ž„ ๋กœ์ง -- **Roblox Studio**: ๊ฒŒ์ž„ ์—”์ง„ -- **BodyVelocity/BodyGyro**: ์ฐจ๋Ÿ‰ ๋ฌผ๋ฆฌ -- **HingeConstraint**: ๋ฐ”ํ€ด ํšŒ์ „ -- **RemoteEvent**: ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ํ†ต์‹  -- **ParticleEmitter**: ๋ถ€์ŠคํŠธ ํšจ๊ณผ - -## ๐Ÿ“Š ๊ฒŒ์ž„ ๋ฐธ๋Ÿฐ์Šค - -| ํ•ญ๋ชฉ | ๊ฐ’ | -|------|-----| -| ๊ธฐ๋ณธ ์†๋„ | 80 | -| ๋ถ€์ŠคํŠธ ์†๋„ | 160 (2๋ฐฐ) | -| ํ›„์ง„ ์†๋„ | 40 | -| ์กฐํ–ฅ ๊ฐ๋„ | 5ยฐ | -| ๋ถ€์ŠคํŠธ ์ง€์† | 3์ดˆ | -| ๋ถ€์ŠคํŠธ ์†Œ๋ชจ | 30% | -| ์˜ค์ผ ํšŒ๋ณต | ์ดˆ๋‹น 5% | -| ์—”์ง„ ๋ธ”๋กœ์šฐ | 10์ดˆ ์ •์ง€ | - -## ๐Ÿš€ TODO - -- [ ] UI ์‹œ์Šคํ…œ (์˜ค์ผ ๊ฒŒ์ด์ง€, ์†๋„๊ณ„) -- [ ] ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ์ตœ์ ํ™” -- [ ] ์‚ฌ์šด๋“œ ์ดํŽ™ํŠธ -- [ ] ์ถ”๊ฐ€ ์„œํ‚ท ๋งต -- [ ] ๋ฆฌ๋”๋ณด๋“œ ์‹œ์Šคํ…œ -- [ ] ํƒ€์ž„ ์–ดํƒ ๋ชจ๋“œ - -## ๐Ÿ“ ๋ฒ„์ „ ํžˆ์Šคํ† ๋ฆฌ - -### v0.1.0 (2025-01-XX) -- โœ… ์ผ๋ฐ˜ ์„œํ‚ท ํŠธ๋ž™ ๊ตฌํ˜„ -- โœ… ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ์Šคํƒ€์ผ ์ฐจ๋Ÿ‰ -- โœ… ์˜ค์ผ ๊ฒŒ์ด์ง€ ๋ถ€์ŠคํŠธ ์‹œ์Šคํ…œ -- โœ… ์—”์ง„ ๋ธ”๋กœ์šฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜ -- โœ… ์•„์ดํ…œ ์‹œ์Šคํ…œ (3์ข…) -- โœ… ์ฐจ๋Ÿ‰ ์•ˆ์ •์„ฑ ์‹œ์Šคํ…œ - -## ๐ŸŽจ ๋””์ž์ธ ์ปจ์…‰ - -**์ปจ์…‰**: "์ผ๋ฐ˜ ์„œํ‚ท ์œ„๋ฅผ ๋‹ฌ๋ฆฌ๋Š” ๋ฏธ๋ž˜ํ˜• ๋„ค์˜จ ์ฐจ๋Ÿ‰" - -- ํŠธ๋ž™: ๋ฆฌ์–ผ๋ฆฌ์Šคํ‹ฑํ•œ F1 ์Šคํƒ€์ผ ์„œํ‚ท -- ์ฐจ๋Ÿ‰: ์‚ฌ์ด๋ฒ„ํฌ๋ฎฌ๋Ÿฌ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์Šคํƒ€์ผ (๋„ค์˜จ ํšจ๊ณผ) -- ๋Œ€๋น„: ํ˜„์‹ค์  ๋ฐฐ๊ฒฝ + ๋ฏธ๋ž˜์  ์ฐจ๋Ÿ‰ = ์‹œ๊ฐ์  ์ž„ํŒฉํŠธ - -## ๐Ÿ“„ ๋ผ์ด์„ ์Šค - -MIT License - -## ๐Ÿ‘จโ€๐Ÿ’ป ๊ฐœ๋ฐœ์ž - -- ๊ฐœ๋ฐœ: Claude + tindevil82 -- ํ”Œ๋žซํผ: Roblox Studio -- ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„: 2025 \ No newline at end of file