# MyMC

本项目由赵亦安、陈薛嘉、何志鑫、唐锐 4 人小组进行开发~
主要是基于 Cpp + OpenGL 对于 MineCraft 的简单实现。
本文是对于该项目的简单介绍。

由于水平有限以及开发仍在进行中😭,项目有很多缺点和 Bug,我们也不怎么打算要维护~。欢迎大家提出建议,我们会随缘改进的!谢谢大家喵😘。

# 游戏 Begin!

解压安装包后可以看见 MyMC,res,shaders 三个文件夹。res 存放纹理、模型等资源。shaders 存放着色器资源。MyMC 内的 MyMC.exe 即游戏启动 exe,点击即可启动!
exe

# 游戏 Ing!

以下以 MyMC-Release 1.0.1-BetterUI 版本为示例,相比 1.0.0 的白模略微美化了一些 UI 按钮。

# 1. 打开游戏

打开游戏后会生成两个窗口,一个是游戏窗口,一个是控制窗口。

控制窗口
con

游戏窗口
gameinit

# 2. 开始新游戏

目前只有 NewGame 按钮被实现。也就是说只能每次创建新游戏。
存档功能正在开发中~这个倒是会实现的。
点击 New Game!等待一会儿(因为我们是弱智单线程😓)就会创建好地图~
接着就可以开始游戏了!
game

# 基础界面

game

  1. 显示实时帧率。一般独显几千帧没问题。集显估计 60 帧。优化后面还会做~
  2. 显示当前选择的物体号。上边是序号下边是示意图。0 代表手上不拿东西。可以根据滚轮前后滑动切换。
  3. 准星。当选择到一个物体时会有白框包围。

# 基础玩法

WASD + 空格
左键挖挖右键放
玩家出生在 (0,0,0), 往前 (z 负方向),往右 (x 轴正方向),往上下(y 轴)延伸地图。
game

# 设置

按 esc 可以暂停游戏。按 setting 可以进入设置,continue game 可以继续游戏,save game 没做好还,输出存档时间会很久,不要使用!
以下是 setting 介绍:
setting

  • VSync
    垂直同步是否开启。一般来说帧数很高不用开。开了会限制到屏幕刷新率哦。
  • SSR
    一种屏幕空间 GI 技术。这里用来做水面的倒影。当然是有缺陷的~而且是吃性能的哦。
    ssr
  • fogDensity
    雾浓度
  • Sun
    太阳光照方向,只体现在阴影方向上。
    shadow0
  • shadowbias
    shadowMap 为了消除条纹走样而设置的阴影偏移,小了会有条纹走样,大了会加重漏光现象。

# 一些特性

  • 剔除
    我们有距离剔除和视锥剔除。你可以在游戏中按 p 进入到摄像机模式,这会保存当前的渲染场景而不进行更新,你可以看到在你原来视锥之外的一些 Chunk 都被剔除了。按 o 可以返回

# 游戏 Problem

  1. 水没动态更新
  2. 存档没有做

# TODO!

接下来会更新~

  1. 音效
  2. 水的动态更新
  3. 存档快速导出保存和解析
  4. UI 的继续美化
  5. SSAO + SSR 的优化

# 总结

整个项目都是基础的一些 cpp 工程和 OpenGL 知识。混学分 ww
希望大家提建议,可以直接在下方评论!也可以直接发我邮箱 zyaaaaa@hust.edu.cn 或者 qq 1733179626
爱来自 zya&&cxj&&hzx

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Yian Zhao 微信支付

微信支付

Yian Zhao 支付宝

支付宝

Yian Zhao 贝宝

贝宝