Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mineworld

功能

  • 基于立方体区块和EnTT实体的体素引擎
  • 基于Asio和KCP的网络编程,支持多人在线
  • 内置性能分析工具,支持Tracy

开发

  • 已关闭cpptools提供的IntelliSense功能,因此c_cpp_properties.json已被弃用
  • 使用clangd代码高亮和格式化,需要手动安装

计划

当前

  • 区块同步
    • 多线程生成,区块状态机,优先任务队列,按数量/时间预算提交,任务取消/去重
    • 分tick生成区块,拆分 connected 与 worldPlayable
    • 增加 InitialChunkPlan
    • 客户端加载界面显示应用进度
    • 客户端应用区块增加每帧时间预算
    • 增加客户端断开连接,被服务器断开或正常关闭

架构

  • 事件系统
  • 输入系统
  • Lua,Sol2,协程
  • Handle资源管理系统热加载(音乐,音效,材质,贴图集,着色器,脚本)

玩法

  • RayCast选择方块
  • 破坏和放置方块
  • 方块定义数据化
  • 地形生成:Perlin Noise,Simplex Noise,3D Noise,Wave Function Collapse
  • 寻路算法:NavMesh,Jump Point Search
  • 类似红石的门电路
  • NPC实体

网络

  • 优化Snapshot再加KeepAlive
  • 缓存区块编码结果,然后加入区块压缩,palette + bit packing,RLE,zstd/lz4
  • 多通道消息机制,协议QoS,字节令牌桶,区块与实体快照分离

渲染

  • 多线程
  • 线框模式
  • 贪婪网格
  • 贴图集,材质
  • 阴影映射
  • 环境光遮蔽
  • 方块光照传播算法
  • 区块更新平滑显示
  • 远距离区块景深
  • 区块视野
  • 显示实体名称

存储

  • leveldb存储区块
  • 游程编码和区间树

工具

  • 加入调试命令行和界面
  • 多机器人压力测试
  • 游戏内更改设置,客户端设置/世界设置

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages