Skip to content

Commit 2f70bcb

Browse files
committed
feat: add readme
1 parent 5eff177 commit 2f70bcb

1 file changed

Lines changed: 132 additions & 0 deletions

File tree

โ€ŽREADME.mdโ€Ž

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# ๊ฑด๊ตญ๋Œ€ํ•™๊ต ๋ฉ”ํƒ€๋ฒ„์Šค ์›น ๊ฒŒ์ž„ ๐ŸŽฎ
2+
3+
> **Phaser.js ๊ธฐ๋ฐ˜์˜ ์‹ค์‹œ๊ฐ„ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๋ฉ”ํƒ€๋ฒ„์Šค + ๋ฆฌ๋“ฌ๊ฒŒ์ž„**
4+
5+
๊ฑด๊ตญ๋Œ€ํ•™๊ต ์บ ํผ์Šค๋ฅผ ๋ฐฐ๊ฒฝ์œผ๋กœ ํ•œ 2D ๋ฉ”ํƒ€๋ฒ„์Šค ๊ฒŒ์ž„์œผ๋กœ, ์‹ค์‹œ๊ฐ„ ์†Œ์…œ ๊ธฐ๋Šฅ๊ณผ K-POP ๋ฆฌ๋“ฌ๊ฒŒ์ž„์„ ๊ฒฐํ•ฉํ•œ ์›น ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค.
6+
7+
## ๐Ÿš€ ์ฃผ์š” ํŠน์ง•
8+
9+
### ๐ŸŒ ๋ฉ”ํƒ€๋ฒ„์Šค ์›”๋“œ
10+
- **๊ฑด๊ตญ๋Œ€ํ•™๊ต ์บ ํผ์Šค ๋งต**: ์‹ค์ œ ์บ ํผ์Šค๋ฅผ ๋ชจํ‹ฐ๋ธŒ๋กœ ํ•œ 2D ํƒ‘๋‹ค์šด ์›”๋“œ
11+
- **์‹ค์‹œ๊ฐ„ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด**: ์ตœ๋Œ€ ๋‹ค์ˆ˜ ํ”Œ๋ ˆ์ด์–ด ๋™์‹œ ์ ‘์†
12+
- **์†Œ์…œ ์ƒํ˜ธ์ž‘์šฉ**: ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…, ์ด๋ชจํ‹ฐ์ฝ˜, ๋งํ’์„  ์‹œ์Šคํ…œ
13+
14+
### ๐ŸŽต ๋ฆฌ๋“ฌ๊ฒŒ์ž„ ๋ชจ๋“œ
15+
- **3๊ฐ€์ง€ K-POP ํŠธ๋ž™**: ์—์ŠคํŒŒ - Supernova, ๋ผ์ด์ฆˆ - Get A Guitar ๋“ฑ
16+
- **ํƒ€์ด๋ฐ ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด**: ์ •ํ™•ํ•œ ํƒ€์ด๋ฐ์œผ๋กœ ๋…ธํŠธ ํžˆํŠธ
17+
- **AI ๋Œ€์ „ ์‹œ์Šคํ…œ**: ๊ฐ€์ƒ ์ƒ๋Œ€์™€์˜ ์‹ค์‹œ๊ฐ„ ์ ์ˆ˜ ๊ฒฝ์Ÿ
18+
19+
### ๐Ÿ“ฑ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ง€์›
20+
- **๋ฐ์Šคํฌํƒ‘**: ํ‚ค๋ณด๋“œ ๋ฐฉํ–ฅํ‚ค + ๊ธฐ๋Šฅํ‚ค ์กฐ์ž‘
21+
- **๋ชจ๋ฐ”์ผ**: ๊ฐ€์ƒ ์กฐ์ด์Šคํ‹ฑ + ํ„ฐ์น˜ ์ธํ„ฐํŽ˜์ด์Šค
22+
23+
## ๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ
24+
25+
### Frontend
26+
- **๊ฒŒ์ž„ ์—”์ง„**: [Phaser.js 3.80.1](https://phaser.io/) - ์™„์ „ํ•œ 2D ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„์›Œํฌ
27+
- **์–ธ์–ด**: TypeScript 5.2.2 - ํƒ€์ž… ์•ˆ์ •์„ฑ ๋ณด์žฅ
28+
- **๋นŒ๋“œ ๋„๊ตฌ**: Vite 5.2.0 - ๊ณ ์† ๊ฐœ๋ฐœ ์„œ๋ฒ„ ๋ฐ ๋ฒˆ๋“ค๋ง
29+
- **UI ํ”Œ๋Ÿฌ๊ทธ์ธ**: Phaser3-rex-plugins - ๊ฐ€์ƒ ์กฐ์ด์Šคํ‹ฑ ์ง€์›
30+
31+
### Backend & Communication
32+
- **์‹ค์‹œ๊ฐ„ ํ†ต์‹ **: STOMP over WebSocket
33+
- **์„œ๋ฒ„**: `wss://api.getaguitar.site/ws`
34+
- **CDN**: AWS CloudFront - ๊ฒŒ์ž„ ์—์…‹ ์ „์—ญ ๋ฐฐํฌ
35+
36+
### Game Engine Features
37+
- **๋ฌผ๋ฆฌ ์—”์ง„**: Phaser Arcade Physics - 2D ์ถฉ๋Œ ๊ฐ์ง€ ๋ฐ ์ด๋™
38+
- **ํƒ€์ผ๋งต**: Tiled JSON ํฌ๋งท - ๋ ˆ๋ฒจ ๋””์ž์ธ ๋„๊ตฌ ์—ฐ๋™
39+
- **์• ๋‹ˆ๋ฉ”์ด์…˜**: ์Šคํ”„๋ผ์ดํŠธ์‹œํŠธ ๊ธฐ๋ฐ˜ ์บ๋ฆญํ„ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜
40+
- **์˜ค๋””์˜ค**: Web Audio API - ๊ณ ํ’ˆ์งˆ ์‚ฌ์šด๋“œ ์žฌ์ƒ
41+
42+
## ๐ŸŽฏ ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด
43+
44+
### ๋ฉ”ํƒ€๋ฒ„์Šค ๋ชจ๋“œ
45+
1. **์บ๋ฆญํ„ฐ ์ƒ์„ฑ**: ๋‹‰๋„ค์ž„ ์ž…๋ ฅ ํ›„ ๊ฒŒ์ž„ ์ฐธ์—ฌ
46+
2. **์ž์œ  ํƒํ—˜**: ๊ฑด๊ตญ๋Œ€ ์บ ํผ์Šค ๋งต ๋‚ด์—์„œ ์ž์œ ๋กญ๊ฒŒ ์ด๋™
47+
3. **์†Œ์…œ ํ™œ๋™**: ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด์™€ ์ฑ„ํŒ… ๋ฐ ์ด๋ชจํ‹ฐ์ฝ˜ ๊ต๋ฅ˜
48+
4. **๋ฏธ๋‹ˆ๊ฒŒ์ž„**: ๋งต ๋‚ด ํŠน์ • ์˜ค๋ธŒ์ ํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉ
49+
50+
### ๋ฆฌ๋“ฌ๊ฒŒ์ž„ ๋ชจ๋“œ
51+
1. **๊ณก ์„ ํƒ**: 3๊ฐ€์ง€ K-POP ํŠธ๋ž™ ์ค‘ ์„ ํƒ
52+
2. **๋…ธํŠธ ํ”Œ๋ ˆ์ด**: ํ™”๋ฉด ์ƒ๋‹จ์—์„œ ๋–จ์–ด์ง€๋Š” ๋…ธํŠธ๋ฅผ ์ •ํ™•ํ•œ ํƒ€์ด๋ฐ์— ํžˆํŠธ
53+
3. **์ ์ˆ˜ ๊ฒฝ์Ÿ**: AI ์ƒ๋Œ€์™€ ์‹ค์‹œ๊ฐ„ ์ ์ˆ˜ ๋น„๊ต
54+
4. **๊ฒฐ๊ณผ ํ™•์ธ**: ๊ฒŒ์ž„ ์ข…๋ฃŒ ํ›„ ์ตœ์ข… ์ ์ˆ˜ ํ‘œ์‹œ
55+
56+
## ๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜
57+
58+
### ์”ฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
59+
```
60+
๋กœ๋”ฉ ํ™”๋ฉด โ†’ ๋‹‰๋„ค์ž„ ์ž…๋ ฅ โ†’ ๋ฉ”์ธ ์›”๋“œ โ†’ ๋ฆฌ๋“ฌ๊ฒŒ์ž„
61+
```
62+
63+
### ์‹ค์‹œ๊ฐ„ ํ†ต์‹  ๊ตฌ์กฐ
64+
- **WebSocket STOMP**: ๋ธŒ๋ผ์šฐ์ € โ†” ์„œ๋ฒ„ ์‹ค์‹œ๊ฐ„ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ 
65+
- **์ƒํƒœ ๋™๊ธฐํ™”**: ํ”Œ๋ ˆ์ด์–ด ์œ„์น˜, ์• ๋‹ˆ๋ฉ”์ด์…˜, ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€
66+
- **์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜**: Pub/Sub ํŒจํ„ด์œผ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ
67+
68+
### ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ
69+
- **๋ฉ€ํ‹ฐ ๋ ˆ์ด์–ด**: ๋ฐฐ๊ฒฝ, ์˜ค๋ธŒ์ ํŠธ, ์บ๋ฆญํ„ฐ, UI ๋ถ„๋ฆฌ ๋ Œ๋”๋ง
70+
- **์นด๋ฉ”๋ผ ์ถ”์ **: ํ”Œ๋ ˆ์ด์–ด ์ค‘์‹ฌ ์Šค๋ฌด์Šค ์นด๋ฉ”๋ผ ์ด๋™
71+
- **์ตœ์ ํ™”**: ๋ทฐํฌํŠธ ์ปฌ๋ง ๋ฐ ์˜ค๋ธŒ์ ํŠธ ํ’€๋ง
72+
73+
## ๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ
74+
75+
### ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •
76+
```bash
77+
# ์˜์กด์„ฑ ์„ค์น˜
78+
npm install
79+
80+
# ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰
81+
npm run dev
82+
83+
# ๋นŒ๋“œ
84+
npm run build
85+
```
86+
87+
### ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ
88+
```
89+
src/
90+
โ”œโ”€โ”€ scenes/ # ๊ฒŒ์ž„ ์”ฌ๋“ค
91+
โ”œโ”€โ”€ assets/objects/ # ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ
92+
โ”œโ”€โ”€ constants/ # ์ƒ์ˆ˜ ๋ฐ ์„ค์ •
93+
โ”œโ”€โ”€ utilities/ # ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜
94+
โ””โ”€โ”€ main.ts # ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ
95+
```
96+
97+
## ๐ŸŽจ ์—์…‹ ๋ฐ ๋ฆฌ์†Œ์Šค
98+
99+
### ๊ทธ๋ž˜ํ”ฝ ์—์…‹
100+
- **์บ๋ฆญํ„ฐ ์Šคํ”„๋ผ์ดํŠธ**: 32x32 ํ”ฝ์…€ 4๋ฐฉํ–ฅ ์• ๋‹ˆ๋ฉ”์ด์…˜
101+
- **ํƒ€์ผ์…‹**: 16x16 ํ”ฝ์…€ ๋ชจ๋“ˆ๋Ÿฌ ํƒ€์ผ
102+
- **UI ์š”์†Œ**: ํŒ์—…, ๋ฒ„ํŠผ, ๋งํ’์„  ๋“ฑ
103+
104+
### ์˜ค๋””์˜ค ์—์…‹
105+
- **BGM**: K-POP ํŠธ๋ž™ 3๊ณก (MP3/OGG)
106+
- **ํšจ๊ณผ์Œ**: ๊ฒŒ์ž„ ๋‚ด ์ƒํ˜ธ์ž‘์šฉ ์‚ฌ์šด๋“œ
107+
108+
## ๐Ÿ”ง ์ฃผ์š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
109+
110+
### Phaser.js ํ™œ์šฉ
111+
- **๊ฒŒ์ž„ ๋ฃจํ”„**: 60fps ๋ Œ๋”๋ง ๋ฐ ์—…๋ฐ์ดํŠธ
112+
- **๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜**: ์บ๋ฆญํ„ฐ ์ด๋™ ๋ฐ ์ถฉ๋Œ ์ฒ˜๋ฆฌ
113+
- **์ด๋ฒคํŠธ ์‹œ์Šคํ…œ**: ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ ๊ฒŒ์ž„ ์ด๋ฒคํŠธ ๊ด€๋ฆฌ
114+
115+
### ์‹ค์‹œ๊ฐ„ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด
116+
- **์ƒํƒœ ๋™๊ธฐํ™”**: ํ”Œ๋ ˆ์ด์–ด ์œ„์น˜ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ
117+
- **์ฑ„ํŒ… ์‹œ์Šคํ…œ**: ์ฆ‰์„ ๋ฉ”์‹œ์ง€ ์ „์†ก ๋ฐ ๋งํ’์„  ํ‘œ์‹œ
118+
- **์ด๋ชจํ‹ฐ์ฝ˜**: F1-F4 ํ‚ค๋กœ ๊ฐ์ • ํ‘œํ˜„
119+
120+
### ๋ฆฌ๋“ฌ๊ฒŒ์ž„ ์—”์ง„
121+
- **ํƒ€์ด๋ฐ ์‹œ์Šคํ…œ**: ๋ฐ€๋ฆฌ์„ธ์ปจ๋“œ ๋‹จ์œ„ ์ •ํ™•๋„
122+
- **์ ์ˆ˜ ๊ณ„์‚ฐ**: ํžˆํŠธ/๋ฏธ์Šค ๊ธฐ๋ฐ˜ ์ ์ˆ˜ ์‹œ์Šคํ…œ
123+
- **AI ๋Œ€์ „**: ๋žœ๋ค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฐ˜ ๊ฐ€์ƒ ์ƒ๋Œ€
124+
125+
## ๐ŸŒŸ ๊ธฐ์ˆ ์  ํ˜์‹ 
126+
127+
- **ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์žฅ๋ฅด**: ๋ฉ”ํƒ€๋ฒ„์Šค์™€ ๋ฆฌ๋“ฌ๊ฒŒ์ž„์˜ ์„ฑ๊ณต์  ๊ฒฐํ•ฉ
128+
- **์›น ๊ธฐ๋ฐ˜**: ๋ณ„๋„ ์„ค์น˜ ์—†์ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ฆ‰์‹œ ํ”Œ๋ ˆ์ด
129+
- **๊ต์œก ์ฝ˜ํ…์ธ **: ์‹ค์ œ ๋Œ€ํ•™ ์บ ํผ์Šค๋ฅผ ๊ฒŒ์ž„ ์›”๋“œ๋กœ ๊ตฌํ˜„
130+
- **K-POP ์—ฐ๋™**: ํ•œ๊ตญ ๋Œ€์ค‘๋ฌธํ™”์™€ ๊ฒŒ์ž„์˜ ์œตํ•ฉ
131+
132+
---

0 commit comments

Comments
ย (0)