Minecraft 风格(体素/方块)的网页版 CS 式第一人称射击游戏。无需联网,Three.js 已内置在本地。
浏览器不允许通过 file:// 直接加载 ES 模块,请在项目目录启动一个静态服务器:
cd csgo-minecraft
python -m http.server 8000然后浏览器打开 http://localhost:8000。
也可以用 VS Code 的 Live Server 插件,或 npx serve 等任意静态服务器。
| 按键 | 功能 |
|---|---|
| WASD | 移动 |
| Shift | 疾跑 |
| Ctrl | 蹲下 |
| 空格 | 跳跃 |
| 左键 | 射击 / 蝴蝶刀挥砍 |
| 右键 | 开镜瞄准 / 蝴蝶刀重击 |
| F | 检视蝴蝶刀 |
| R | 换弹 |
| 1 / 2 / 3 / 滚轮 | 切换武器(AK-47 / 沙鹰 / 蝴蝶刀) |
| Esc | 暂停 |
| M | 静音 |
- 目标:击杀 25 个敌人取胜
- 敌人为方块人(Steve 风格)AI:巡逻 → 索敌 → 追击 → 射击,有爆头判定
- 地图为 96×96 的程序化方块世界:中央地堡、房屋、石塔、木箱、沙袋、树木
- 武器有后坐力、散布、开镜、换弹、枪口火光、曳光弹等射击手感
- 蝴蝶刀复刻 CS:GO 体验:切刀翻转、F 键检视、左键挥砍、右键重击
- HUD:血量/护甲、弹药、小地图、击杀反馈、击杀播报、受击方向指示
- 纯前端:Three.js (r160) + WebAudio(程序化音效,无音频文件)
- 世界使用自研体素合并器(VoxelBuilder),按材质合并网格并做面剔除,draw call 极少
- 音效、纹理全部程序化生成,无任何外部资源