# MyMC
本项目由赵亦安、陈薛嘉、何志鑫、唐锐 4 人小组进行开发~
主要是基于 Cpp + OpenGL 对于 MineCraft 的简单实现。
本文是对于该项目的简单介绍。
由于水平有限以及开发仍在进行中😭,项目有很多缺点和 Bug,我们也不怎么打算要维护~。欢迎大家提出建议,我们会随缘改进的!谢谢大家喵😘。
项目Github
项目Github
# 游戏 Begin!
解压安装包后可以看见 MyMC,res,shaders 三个文件夹。res 存放纹理、模型等资源。shaders 存放着色器资源。MyMC 内的 MyMC.exe 即游戏启动 exe,点击即可启动!
# 游戏 Ing!
以下以 MyMC-Release 1.0.1-BetterUI 版本为示例,相比 1.0.0 的白模略微美化了一些 UI 按钮。
# 1. 打开游戏
打开游戏后会生成两个窗口,一个是游戏窗口,一个是控制窗口。
控制窗口
游戏窗口
# 2. 开始新游戏
目前只有 NewGame 按钮被实现。也就是说只能每次创建新游戏。
存档功能正在开发中~这个倒是会实现的。
点击 New Game!等待一会儿(因为我们是弱智单线程😓)就会创建好地图~
接着就可以开始游戏了!
# 基础界面
- 显示实时帧率。一般独显几千帧没问题。集显估计 60 帧。优化后面还会做~
- 显示当前选择的物体号。上边是序号下边是示意图。0 代表手上不拿东西。可以根据滚轮前后滑动切换。
- 准星。当选择到一个物体时会有白框包围。
# 基础玩法
WASD + 空格
左键挖挖右键放
玩家出生在 (0,0,0), 往前 (z 负方向),往右 (x 轴正方向),往上下(y 轴)延伸地图。
# 设置
按 esc 可以暂停游戏。按 setting 可以进入设置,continue game 可以继续游戏,save game 没做好还,输出存档时间会很久,不要使用!
以下是 setting 介绍:
- VSync
垂直同步是否开启。一般来说帧数很高不用开。开了会限制到屏幕刷新率哦。 - SSR
一种屏幕空间 GI 技术。这里用来做水面的倒影。当然是有缺陷的~而且是吃性能的哦。 - fogDensity
雾浓度 - Sun
太阳光照方向,只体现在阴影方向上。 - shadowbias
shadowMap 为了消除条纹走样而设置的阴影偏移,小了会有条纹走样,大了会加重漏光现象。
# 一些特性
- 剔除
我们有距离剔除和视锥剔除。你可以在游戏中按 p 进入到摄像机模式,这会保存当前的渲染场景而不进行更新,你可以看到在你原来视锥之外的一些 Chunk 都被剔除了。按 o 可以返回
# 游戏 Problem
- 水没动态更新
- 存档没有做
# TODO!
接下来会更新~
- 音效
- 水的动态更新
- 存档快速导出保存和解析
- UI 的继续美化
- SSAO + SSR 的优化
# 总结
整个项目都是基础的一些 cpp 工程和 OpenGL 知识。混学分 ww
希望大家提建议,可以直接在下方评论!也可以直接发我邮箱 zyaaaaa@hust.edu.cn 或者 qq 1733179626
爱来自 zya&&cxj&&hzx