文档概览
CaelCraft 是一个用 C++20 和 Vulkan 从零写起的体素沙盒。世界按种子生成,存档只记录你改过的方块;单机可以存多个世界,联机时由房主统一计算,资源包和 Lua 模组直接放进 exe 旁边的目录。
它是什么
没有引擎、没有现成的体素框架。渲染器、区块流式加载、网格生成、玩家物理、村庄生成、存档和 UDP 联机都是这个项目里自己写的。纹理也不是图片文件,而是启动时一块块画出来的 16×16 像素图。
项目现在还在早期开发:能走、能挖、能存、能一起玩,但还没有光照传播、合成、饥饿、专用服务器和 PvP。文档会把「已经能用」和「还没做」分开写,避免把计划当成功能。
- Renderer
- Vulkan 1.3
- Language
- C++20
- World
- 64格高
- Network
- UDP 27632
五分钟上手
- 从下载页拿安装包,双击安装。默认装到当前用户目录,不需要管理员权限。
- 启动游戏,主菜单点「新建世界」,填世界名。种子可以留空,也可以自己写一段字符串。
- 进世界后先按 F3 + F4 切到生存,或者留在创造模式飞一圈看看村庄。
- 按 Esc 暂停,按 / 输入命令,按 E 打开背包,按 M 开关小地图。
- 想联机就回主菜单进「多人游戏」:一个人开服,其他人填 IP 或域名加入。
这一版能做什么
- 横向无限、纵向 64 格的世界;平原、森林、沙漠、雪地四种地表,树木、洞穴、地下岩浆和海平面。
- 水(半透明)和岩浆:按等级流动、退去、互相浇灭;水最多 7 格,岩浆 3 格。
- 村庄:水井、房屋、碎石路、岩浆灯柱;村民会在附近闲逛,8 块木板换 1 个书架。
- 三种模式:创造、生存、旁观;生存有 20 点生命、摔落 / 岩浆 / 生物伤害、死亡与重生。
- 36 格背包、快捷栏、掉落物、按住左键按硬度挖掘、红心、挖掘条、生物血条。
- 史莱姆、猪、村民;生物会走动、被击退、逃跑,史莱姆在生存模式会追人。
- 昼夜循环、晴 / 雨 / 雪天气、小地图、F2 截图、中英文界面。
- 多存档:每个世界一个文件夹;主机权威的局域网 / 直连联机。
- 资源包:原生纹理包、Minecraft 材质包、
visual.json和着色器覆盖。 - Lua 模组:注册方块和命令、监听事件、读写自己的数据目录;联机带模组签名。
还没做
下面这些不在当前版本里,文档也不会假装它们存在:
- 方块光源传播(洞穴和室内没有火把照明)。
- 专用服务器、账号认证、加密、NAT 穿透和 PvP。
- 饥饿、合成、工具耐久、附魔和掉落物堆叠数量。
- 模组热重载、客户端自定义 UI、自定义模型和流体方块。
- 远端玩家碰撞、客户端预测回滚、客户端背包落盘。
文档怎么读
01
安装
安装包、便携版、目录结构和第一次新建世界。
02操作
键位、鼠标、聊天、命令输入和 HUD。
03世界与玩法
地形、流体、村庄、生物、掉落物和模式。
04联机
开服、加入、端口转发、SRV 和限制。
05命令
全部命令、参数和方块名。
06模组
Lua API、事件、方块注册和联机签名。
版本与兼容性
版本号格式是 0.1.<构建时间戳>,没有语义化版本。每次构建都是一个快照,功能和存档格式都可能变。当前存档是 v2,网络协议也是 v2;旧版单文件存档 saves\world.save.caelc 不会被读取,也不会自动导入。
改地形生成算法会让同种子的旧存档地形整体变样。存档只存种子和方块修改,所以升级前先把 saves\ 整个复制一份。