๐ ่ดชๅ่ๅคงไฝๆ - ๆธธๆ้ๆฑไธๆถๆๆๆกฃ#
็ๆฌ๏ผ v1.0
ๅๅปบๆถ้ด๏ผ 2026-03-09
ไผ่ฏ๏ผ main-session
ไธใๆธธๆๆ ธๅฟ็ฉๆณๅๆ#
1.1 ๆ ธๅฟๆบๅถ#
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ่ดชๅ่ๅคงไฝๆๆ ธๅฟ็ฉๆณ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1. ๆงๅถ่็งปๅจ๏ผ้ผ ๆ /่งฆๆธ/้ฎ็๏ผ โ
โ 2. ๅ้ฃ็ฉๅ้ฟ๏ผๅๆฐๅขๅ ๏ผ โ
โ 3. ๅ
ๅดๅ
ถไป็ฉๅฎถ๏ผๅปๆ่ทๅพๅฅๅฑ๏ผ โ
โ 4. ้ฟๅ
ๆๅข/ๆ่๏ผๆญปไบก้ๆฅ๏ผ โ
โ 5. ไฝฟ็จๅ ้/้ๅ
ท๏ผ็ญ็ฅๆง๏ผ โ
โ 6. ๅฎๆถๅคไบบๅฏนๆ๏ผๆ่กๆฆ๏ผ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1.2 ไธไผ ็ป่ดชๅ่็ๅบๅซ#
| ็นๆง | ไผ ็ป่ดชๅ่ | ่ดชๅ่ๅคงไฝๆ |
|---|
| ็ฉๅฎถๆฐ้ | ๅไบบ | ๅคไบบๅจ็บฟ๏ผ10-100+๏ผ |
| ๅฐๅพ | ๅบๅฎ่พน็ | ๅคงๅฐๅพ่ช็ฑ็งปๅจ |
| ็ฎๆ | ๅ้ฃ็ฉๅ้ฟ | ๅปๆ + ็ๅญ + ๆๅ |
| ็คพไบค | ๆ | ๆ่กๆฆใ็ฎ่คใๆ้ |
| ๅไธๅ | ๆ | ็ฎ่คใ้ๅ
ทใไผๅ |
ไบใๅฎๆด้ๆฑๆๆกฃ#
2.1 ๅ่ฝ้ๆฑ#
ๆจกๅไธ๏ผๆ ธๅฟๆธธๆ#
1.1 ่็ๆงๅถ
โโโ ้ผ ๆ ๆงๅถ๏ผ่ท้้ผ ๆ ๆนๅ๏ผ
โโโ ่งฆๆธๆงๅถ๏ผๆปๅจๆนๅ๏ผ
โโโ ้ฎ็ๆงๅถ๏ผWASD/ๆนๅ้ฎ๏ผ
โโโ ๅ ้ๆงๅถ๏ผ็ฉบๆ ผ/็นๅป๏ผ
1.2 ่็่กไธบ
โโโ ็งปๅจ๏ผๅนณๆป่ฝฌๅ๏ผ
โโโ ๅ ้๏ผๆถ่้ฟๅบฆ/่ฝ้๏ผ
โโโ ๆญปไบก๏ผๆๅข/ๆ่๏ผ
โโโ ้็๏ผๅฎๅ
จๅบๅ๏ผ
1.3 ้ฃ็ฉ็ณป็ป
โโโ ๆฎ้้ฃ็ฉ๏ผๅบๅฎๅๆฐ๏ผ
โโโ ็นๆฎ้ฃ็ฉ๏ผ้ๆบๆๆ๏ผ
โโโ ๅฐธไฝ้ฃ็ฉ๏ผๆญปไบก่ๅ้ฃ็ฉ๏ผ
โโโ ๅทๆฐๆบๅถ๏ผๅฎๆถ/ๅฎ้๏ผ
1.4 ็ขฐๆๆฃๆต
โโโ ่ๅคดๆๅข
โโโ ่ๅคดๆๅ
ถไป่่บซไฝ
โโโ ่ๅคดๅ้ฃ็ฉ
โโโ ๅ
ๅดๆฃๆต๏ผๅฏ้๏ผ
1.5 ๅฐๅพ็ณป็ป
โโโ ๅคงๅฐๅพ๏ผๅฏๆปๅจ๏ผ
โโโ ่พน็ๅข
โโโ ้็ข็ฉ๏ผๅฏ้๏ผ
โโโ ๅฐๅฐๅพๆพ็คบ
ๆจกๅไบ๏ผๅคไบบๅจ็บฟ#
2.1 ๆฟ้ด็ณป็ป
โโโ ๅฟซ้ๅน้
โโโ ๅๅปบๆฟ้ด
โโโ ๅ ๅ
ฅๆฟ้ด๏ผๆฟ้ดๅท๏ผ
โโโ ๅฅฝๅ้่ฏท
2.2 ๅฎๆถๅๆญฅ
โโโ ไฝ็ฝฎๅๆญฅ๏ผ10-20 ๆฌก/็ง๏ผ
โโโ ็ถๆๅๆญฅ๏ผๅ ้/ๆญปไบก๏ผ
โโโ ๅปถ่ฟ่กฅๅฟ
โโโ ๆญ็บฟ้่ฟ
2.3 ๆ่กๆฆ
โโโ ๅฎๆถๆๅ๏ผๆฌๅฑ๏ผ
โโโ ๅๅฒๆ้ซๅ
โโโ ๅฅฝๅๆ่ก
โโโ ๅ
จๆๆ่ก
2.4 ่ๅคฉ็ณป็ป
โโโ ๅฟซๆทๆถๆฏ
โโโ ่กจๆ
โโโ ๆๅญ่ๅคฉ๏ผๅฏ้๏ผ
ๆจกๅไธ๏ผ็จๆท็ณป็ป#
3.1 ่ดฆๅท็ณป็ป
โโโ ๆธธๅฎข็ปๅฝ
โโโ ๆๆบๅท็ปๅฝ
โโโ ็ฌฌไธๆน็ปๅฝ๏ผๅพฎไฟก/QQ๏ผ
โโโ ่ดฆๅท็ปๅฎ
3.2 ไธชไบบไฟกๆฏ
โโโ ๆต็งฐ/ๅคดๅ
โโโ ็ญ็บง/็ป้ช
โโโ ็ป่ฎกๆฐๆฎ๏ผๅบๆฌก/่็/ๅปๆ๏ผ
โโโ ๆๅฐฑ็ณป็ป
3.3 ็คพไบค็ณป็ป
โโโ ๅฅฝๅๅ่กจ
โโโ ๆ้/ๅ
ฌไผ
โโโ ๅ
ณๆณจ/็ฒไธ
ๆจกๅๅ๏ผๅไธๅ#
4.1 ็ฎ่ค็ณป็ป
โโโ ่็ฎ่ค๏ผ้ข่ฒ/ๅพๆก/็นๆ๏ผ
โโโ ้ฃ็ฉ็ฎ่ค
โโโ ๅปๆ็นๆ
โโโ ่ทๅพๆนๅผ๏ผ้ๅธ/้ป็ณ/ๆดปๅจ๏ผ
4.2 ้ๅ
ท็ณป็ป
โโโ ๅ ้้ๅ
ท
โโโ ๆค็พ้ๅ
ท
โโโ ็ฃ้้ๅ
ท
โโโ ไฝฟ็จๆถ้ด้ๅถ
4.3 ไผๅ็ณป็ป
โโโ ๆๅก/ๅญฃๅก
โโโ ไธๅฑ็ฎ่ค
โโโ ็ป้ชๅ ๆ
โโโ ๆฏๆฅๅฅๅฑ
4.4 ๅนฟๅ็ณป็ป๏ผๅฏ้๏ผ
โโโ ๆฟๅฑ่ง้ข๏ผๅคๆดป/ๅๅๅฅๅฑ๏ผ
โโโ ๆๅฑๅนฟๅ
ๆจกๅไบ๏ผ่ฟ่ฅ็ณป็ป#
5.1 ไปปๅก็ณป็ป
โโโ ๆฏๆฅไปปๅก
โโโ ๆๅฐฑไปปๅก
โโโ ๆดปๅจไปปๅก
5.2 ๆดปๅจ็ณป็ป
โโโ ้ๆถๆดปๅจ
โโโ ่ๆฅๆดปๅจ
โโโ ๆ่กๆฆๆดปๅจ
5.3 ้ฎไปถ็ณป็ป
โโโ ็ณป็ป้ฎไปถ
โโโ ๅฅๅฑ้ฎไปถ
โโโ ๅ
ฌๅ้ฎไปถ
5.4 ๆฐๆฎๅๆ
โโโ ็จๆท่กไธบ
โโโ ็ๅญๅๆ
โโโ ไป่ดนๅๆ
2.2 ้ๅ่ฝ้ๆฑ#
| ๆๆ | ่ฆๆฑ | ่ฏดๆ |
|---|
| ๅนถๅๅจ็บฟ | 1000-10000+ | ๅๆ/ๅคๆ |
| ๅธง็ | 60 FPS | ๅฎขๆท็ซฏๆธฒๆ |
| ๅปถ่ฟ | <100ms | ๆไฝๅๅบ |
| ๅๆญฅ้ข็ | 10-20 ๆฌก/็ง | ไฝ็ฝฎๅๆญฅ |
| ๆฏๆๅนณๅฐ | Web/H5/App | ่ทจๅนณๅฐ |
| ๅ
ไฝๅคงๅฐ | <50MB | ้ฆๅ
|
ไธใๆๆฏๆถๆ่ฎพ่ฎก#
3.1 ๆดไฝๆถๆๅพ#
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅฎขๆท็ซฏๅฑ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Web/H5 โ โ iOS App โ โ Android App โ โ ๅฐ็จๅบ โ โ
โ โ (Canvas) โ โ (Unity) โ โ (Unity) โ โ (Canvas) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ WebSocket/HTTP
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ็ฝๅ
ณๅฑ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ API Gateway / LB โโ
โ โ (Nginx / Kong / ่ช็ ็ฝๅ
ณ) โโ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆธธๆๆๅกๅจ โ โ ไธๅกๆๅกๅจ โ โ ๆฏๆๆๅก โ
โ โโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโ โ
โ โ ๆฟ้ดๆๅก โ โ โ โ ็จๆทๆๅก โ โ โ โ ๅน้
ๆๅก โ โ
โ โ (WebSocket) โ โ โ โ (HTTP) โ โ โ โ (Redis) โ โ
โ โโโโโโโโโโโโโโโโโโค โ โ โโโโโโโโโโโโโโโโโโค โ โ โโโโโโโโโโโโโโโโโโค โ
โ โ ๆๆๆๅก โ โ โ โ ็ฎ่คๆๅก โ โ โ โ ๆ่กๆฆๆๅก โ โ
โ โ (ๅธงๅๆญฅ) โ โ โ โ (HTTP) โ โ โ โ (Redis) โ โ
โ โโโโโโโโโโโโโโโโโโค โ โ โโโโโโโโโโโโโโโโโโค โ โ โโโโโโโโโโโโโโโโโโค โ
โ โ ๅฐๅพๆๅก โ โ โ โ ๅๅๆๅก โ โ โ โ ๆถๆฏๆจ้ โ โ
โ โ (AOI) โ โ โ โ (HTTP) โ โ โ โ (WebSocket) โ โ
โ โโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆฐๆฎๅฑ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ MySQL โ โ Redis โ โ MongoDB โ โ OSS โ โ
โ โ (็จๆทๆฐๆฎ) โ โ (็ผๅญ/็ถๆ) โ โ (ๆฅๅฟ) โ โ (่ตๆบ) โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3.2 ๆ ธๅฟๆจกๅ่ฏฆ็ป่ฎพ่ฎก#
3.2.1 ๆธธๆๆๅกๅจๆถๆ#
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆธธๆๆๅกๅจ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Connection Manager โ โ
โ โ (WebSocket ่ฟๆฅ็ฎก็ใๅฟ่ทณใๆญ็บฟๆฃๆต) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Room Manager โ โ
โ โ (ๆฟ้ดๅๅปบ/้ๆฏใ็ฉๅฎถๅ ๅ
ฅ/็ฆปๅผใๆฟ้ด็ถๆ) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Game Loop โ โ
โ โ (16ms/ๅธง | ๆดๆฐ่ไฝ็ฝฎ | ็ขฐๆๆฃๆต | ้ฃ็ฉ็ๆ) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ State Manager โ โ
โ โ (ๆธธๆ็ถๆๅฟซ็
งใๅธงๅๆญฅใ็ถๆๅ็ผฉ) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ AOI Manager โ โ
โ โ (Area of Interest | ๅชๅๆญฅ้่ฟ็ฉๅฎถ | ๆง่ฝไผๅ) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3.2.2 ๅธงๅๆญฅ่ฎพ่ฎก#
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅธงๅๆญฅๆต็จ โ
โ โ
โ ๅฎขๆท็ซฏ ๆๅกๅจ โ
โ โ โ โ
โ โโโโ ่พๅ
ฅๆไฝ (ๆนๅ/ๅ ้) โโโโโถโ โ
โ โ โ ๆถ้ๆๆ็ฉๅฎถ่พๅ
ฅ โ
โ โ โ ่ฎก็ฎไธไธๅธง็ถๆ โ
โ โโโโโ ๅธงๆฐๆฎ (็ถๆๅฟซ็
ง) โโโโโโโ โ
โ โ โ โ
โ โ ๆธฒๆๅธง N โ ๅ้้ข็๏ผ10-20Hz โ
โ โ ้ขๆตๅธง N+1~N+3 โ ๆฐๆฎๅ็ผฉ๏ผProtobuf โ
โ โ ๆๅผๅนณๆป โ โ
โ โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๅธงๆฐๆฎ็ปๆ๏ผ
{
frameId: 12345,
timestamp: 1709971200000,
snakes: [
{ id: 'player1', x: 100, y: 200, angle: 1.57, length: 50, speed: 1 },
{ id: 'player2', x: 300, y: 400, angle: 3.14, length: 80, speed: 1.2 }
],
foods: [
{ id: 1, x: 150, y: 250, type: 'normal', value: 10 },
{ id: 2, x: 500, y: 600, type: 'special', effect: 'speed' }
]
}
3.2.3 AOI๏ผๅ
ด่ถฃ่ๅด๏ผ่ฎพ่ฎก#
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AOI ไนๅฎซๆ ผ่ฎพ่ฎก โ
โ โ
โ โโโโโโโโโฌโโโโโโโโฌโโโโโโโโ โ
โ โ 1,2 โ 2,2 โ 3,2 โ ๆฏไธชๆ ผๅญ 500x500 ๅ็ด โ
โ โโโโโโโโโผโโโโโโโโผโโโโโโโโค ็ฉๅฎถๅช็ๅฐๅจๅด 9 ไธชๆ ผๅญ็ๅฎไฝ โ
โ โ 1,1 โ 2,1 โ 3,1 โ ๅๅฐๅๆญฅๆฐๆฎ้ 80%+ โ
โ โโโโโโโโโผโโโโโโโโผโโโโโโโโค โ
โ โ 1,0 โ 2,0 โ 3,0 โ โ
โ โโโโโโโโโดโโโโโโโโดโโโโโโโโ โ
โ โ
โ ็ฉๅฎถไฝ็ฝฎ (x: 250, y: 250) โ ๆ ผๅญ (1, 1) โ
โ ๅๆญฅ่ๅด๏ผๆ ผๅญ (0-2, 0-2) ๅ
ฑ 9 ไธชๆ ผๅญ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3.3 ๆฐๆฎๅบ่ฎพ่ฎก#
-- ็จๆท่กจ
CREATE TABLE users (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
openid VARCHAR(64) UNIQUE,
nickname VARCHAR(32),
avatar VARCHAR(255),
level INT DEFAULT 1,
exp INT DEFAULT 0,
gold INT DEFAULT 0,
diamond INT DEFAULT 0,
vip_level INT DEFAULT 0,
vip_expire_at DATETIME,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
INDEX idx_openid (openid)
);
-- ็จๆท็ป่ฎก
CREATE TABLE user_stats (
user_id BIGINT PRIMARY KEY,
total_games INT DEFAULT 0,
total_wins INT DEFAULT 0,
total_kills INT DEFAULT 0,
max_length INT DEFAULT 0,
max_score INT DEFAULT 0,
total_play_time INT DEFAULT 0,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-- ็ฎ่ค่กจ
CREATE TABLE skins (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(32),
type ENUM('snake', 'food', 'effect'),
rarity ENUM('common', 'rare', 'epic', 'legendary'),
price_gold INT DEFAULT 0,
price_diamond INT DEFAULT 0,
unlock_condition JSON,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- ็จๆท็ฎ่ค
CREATE TABLE user_skins (
user_id BIGINT,
skin_id INT,
acquired_at DATETIME DEFAULT CURRENT_TIMESTAMP,
is_equipped BOOLEAN DEFAULT FALSE,
PRIMARY KEY (user_id, skin_id),
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (skin_id) REFERENCES skins(id)
);
-- ๅฏนๅฑ่ฎฐๅฝ
CREATE TABLE game_records (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
room_id VARCHAR(32),
user_id BIGINT,
score INT,
length INT,
kills INT,
rank INT,
duration INT,
played_at DATETIME DEFAULT CURRENT_TIMESTAMP,
INDEX idx_user (user_id),
INDEX idx_time (played_at)
);
-- ๆ่กๆฆ๏ผRedis ZSET๏ผๆ ้ MySQL๏ผ
-- Key: rank:daily:2026-03-09
-- Member: user_id, Score: max_score
3.4 ้ไฟกๅ่ฎฎ่ฎพ่ฎก#
WebSocket ๆถๆฏๆ ผๅผ#
// ๅฎขๆท็ซฏ โ ๆๅกๅจ
{
"type": "input",
"data": {
"angle": 1.57,
"accelerating": true
}
}
// ๆๅกๅจ โ ๅฎขๆท็ซฏ
{
"type": "frame",
"data": {
"frameId": 12345,
"timestamp": 1709971200000,
"snakes": [...],
"foods": [...]
}
}
// ๅ่ฎฎ็ฑปๅๆไธพ
enum MessageType {
JOIN_ROOM = 'join_room',
LEAVE_ROOM = 'leave_room',
INPUT = 'input',
FRAME = 'frame',
GAME_START = 'game_start',
GAME_OVER = 'game_over',
CHAT = 'chat',
HEARTBEAT = 'heartbeat'
}
ๅใๆๆฏ้ๅๅปบ่ฎฎ#
4.1 ๅฎขๆท็ซฏ#
| ๅนณๅฐ | ๆๆฏๆ | ่ฏดๆ |
|---|
| Web/H5 | Canvas + TypeScript | ่ฝป้ใๆ ้ไธ่ฝฝ |
| ๅฐ็จๅบ | Canvas + JavaScript | ๅพฎไฟก/ๆ้ณ |
| iOS/Android | Unity + C# | ้ซๆง่ฝใ่ทจๅนณๅฐ |
| ่ทจๅนณๅฐ | Cocos Creator | ไธๆฌกๅผๅๅค็ซฏๅๅธ |
4.2 ๆๅก็ซฏ#
| ็ปไปถ | ๆๆฏๆ | ่ฏดๆ |
|---|
| ๆธธๆๆๅกๅจ | Node.js + WebSocket | ้ซๅนถๅใๅฎๆถ |
| ไธๅกๆๅกๅจ | Go/Node.js + HTTP | RESTful API |
| ็ผๅญ | Redis | ็ถๆๅญๅจใๆ่กๆฆ |
| ๆฐๆฎๅบ | MySQL/PostgreSQL | ็จๆทๆฐๆฎ |
| ๆฅๅฟ | MongoDB/ELK | ๆธธๆๆฅๅฟ |
| ๆถๆฏ้ๅ | RabbitMQ/Kafka | ๅผๆญฅไปปๅก |
4.3 ๅบ็ก่ฎพๆฝ#
| ๆๅก | ๆจ่ๆนๆก |
|---|
| ไบๆๅก | ้ฟ้ไบ/่
พ่ฎฏไบ/AWS |
| CDN | ไบๅๅ CDN |
| OSS | ้ฟ้ไบ OSS/่
พ่ฎฏไบ COS |
| ็ๆง | Prometheus + Grafana |
| ๆฅๅฟ | ELK Stack |
ไบใๅผๅ่ทฏ็บฟๅพ#
| ้ถๆฎต | ๅ
ๅฎน | ๅจๆ | ไบบๅ |
|---|
| Phase 1 | ๆ ธๅฟ็ฉๆณๅๅ๏ผๅๆบ๏ผ | 1 ๅจ | 1 ๅฎขๆท็ซฏ +1 ๆๅก็ซฏ |
| Phase 2 | ๅคไบบๅฏนๆ๏ผๅบ็กๅๆญฅ๏ผ | 2 ๅจ | 2 ๅฎขๆท็ซฏ +2 ๆๅก็ซฏ |
| Phase 3 | ็จๆท็ณป็ป + ็ฎ่ค | 2 ๅจ | 2 ๅฎขๆท็ซฏ +2 ๆๅก็ซฏ |
| Phase 4 | ๅไธๅ + ่ฟ่ฅ็ณป็ป | 2 ๅจ | 2 ๅฎขๆท็ซฏ +2 ๆๅก็ซฏ |
| Phase 5 | ๆง่ฝไผๅ + ๆต่ฏ | 2 ๅจ | ๅ
จๅ |
| Phase 6 | ไธ็บฟ่ฟ่ฅ | ๆ็ปญ | ่ฟ็ปด + ่ฟ่ฅ |
ๆปๅจๆ๏ผ11 ๅจ๏ผ็บฆ 3 ไธชๆ๏ผ
ๅ
ญใ้ฃ้ฉไธๆๆ#
| ้ฃ้ฉ | ๅฝฑๅ | ๅบๅฏนๆชๆฝ |
|---|
| ็ฝ็ปๅปถ่ฟ | ไฝ้ชๅทฎ | ้ขๆต + ๆๅผ + ๅปถ่ฟ่กฅๅฟ |
| ๅคๆไฝๅผ | ๅ
ฌๅนณๆง | ๆๅก็ซฏ้ช่ฏ + ๅไฝๅผ |
| ๆๅกๅจๆๆฌ | ่ฟ่ฅๅๅ | ๅจๆๆฉ็ผฉๅฎน + ๅๆ |
| ็จๆท็ๅญ | ๅไธๅ | ๆดปๅจ่ฟ่ฅ + ็คพไบค็ณป็ป |
| ็ๅทๅฎกๆน | ไธ็บฟ้ฃ้ฉ | ๆๅ็ณ่ฏท + ๅ่ง่ฎพ่ฎก |
ไธใๆๆฌไผฐ็ฎ#
| ้กน็ฎ | ่ดน็จ๏ผๆ๏ผ | ่ฏดๆ |
|---|
| ๆๅกๅจ | 5000-20000 ๅ
| ๆ้ไป่ดน |
| ๅธฆๅฎฝ | 3000-10000 ๅ
| CDN+ ๆต้ |
| ๅๅ/SSL | 500 ๅ
/ๅนด | ๅบ็ก้
็ฝฎ |
| ไบบๅๆๆฌ | 10-30 ไธ/ๆ | 5-10 ไบบๅข้ |
| ๆจๅนฟ่ดน็จ | ๆตฎๅจ | ๆๆๆ |
ๅ
ซใไธไธๆญฅๅปบ่ฎฎ#
- ๅ
ๅ MVP ็ๆฌ - ๆ ธๅฟ็ฉๆณ้ช่ฏ๏ผ1-2 ๅจ๏ผ
- ๅฐ่ๅดๆต่ฏ - ๆถ้ๅ้ฆ่ฟญไปฃ
- ๆฐๆฎ้ฉฑๅจ - ๆ นๆฎ็ๅญ/ไป่ดน่ฐๆด
- ๅฟซ้่ฟญไปฃ - ๆฏๅจๆดๆฐ็ๆฌ
๐ ๆๆกฃ็ๆฌ๏ผv1.0
ๅๅปบๆถ้ด๏ผ2026-03-09
ไผ่ฏ๏ผmain-session