更新开发日志

This commit is contained in:
lijincheng 2023-06-21 22:16:19 +08:00
parent f2c6d07846
commit 217406a9c7
2 changed files with 24 additions and 1 deletions

View File

@ -1,4 +1,25 @@
---
### 2023-06-21
本轮主要更改美术素材和添加音效, 并且使用excel作为项目配置表, 添加完整的游戏开始与结束流程
主要工作内容如下:
* 完成简易且完整的游戏流程, 添加主菜单, 加载, 和结算页面, 主菜单包括`开始游戏`, `设置`, `结束游戏`三个按钮, 点击`开始游戏`进入加载页面, 加载完成后进入地牢. 当玩家死亡后跳出结算页面, 结算页面包含`重新开始`和`回到主菜单`的按钮
* 优化渲染大量静态`Sprite`, 实现类为`ImageCanvas.cs`, 原理是将`Texture2D`的纹理数据绘制到另一张`Image`上, 并使用`Sprite2D`来渲染这张`Image`, 这样只需要调用一次渲染API就可以永久保存纹理数据, 为了防止同一帧突然添加大量渲染的图片导致处理时间过长, 这里引入了一个渲染队列机制, 如果渲染时间超过阈值时间, 后面的图片就放到下一帧渲染, 以确保游戏能稳定60帧运行
* 现在每个地牢房间会生成一个`ImageCanvas`实例, 并覆盖整个房间, 武器抛出的弹壳或者其它`ActivityObject`可以调用`ActivityObject.BecomesStaticImage()`函数将物体的纹理渲染到房间的`ImageCanvas`上, 并且销毁当前对象, 这样大大节省性能开销
* 新增读取excel配置表功能, 在插件中添加`导出excel表`按钮, 点击后会读取目录`DungeonShooting_Godot\excel\excelFile`下的所有`.xlsx`文件, 并生成对应的json配置文件和读取json的c#代码文件, 也就是根据excel表结构生成对应的实体类代码, 导出工具支持数据类型: `基础数据类型`, `Array`, `Dictionary`, 并且支持引用其它excel表
* 更改`ActivityObject`创建流程, 现在不再像以前一样在编辑器中创建`ActivityObjectTemplate`了, 也不需要再`ActivityObject`子类上添加`[RegisterActivity]`标记, `ActivityObjectTemplate`和`RegisterActivity`类已被移除, 现在是直接在编辑器中创建`ActivityObject`子类节点, 注册对象需要在`ActivityObject.xlsx`表中填写物体`id`和`prefab路径`
* 更新地牢生成器, 添加支持生成boss房间, 生成器添加更多特性, 修复一个连接地牢房间失败的bug
* 地牢房间的门添加打开和关闭效果, 关门后房间外的敌人丢失目标
* 新增输入管理器`InputManager.cs`
* 武器属性移入`Weapon.xlsx`配置表, 添加更多新属性, 用于创建更丰富的武器, 并且支持配置音效
* 新增`狙击枪`和`冲锋枪`
* 武器素材更新, 为每种武器添加射击音效, 换弹音效, 上膛音效(音效包从unity商城和fanatical购买的), 并且游戏中左下角的武器预览ui会同步玩家手上的武器动画
* 修复敌人扔出武器的一瞬间会触发重新拾起武器拾起的bug
* 修复投抛物体中心点位置计算不正确的bug
* 修复武器扔出去的一瞬间阴影位置不正确的bug
* 编辑器中生成`ResourcePathGenerator.cs`支持排除指定路径文件夹
* 修复播放音效和背景音乐的API设置音量存在的bug
---
### 2023-05-10
本轮主要优化视觉上的效果, 并且完善模板房间创建的功能, 主要工作内容有:
@ -21,6 +42,7 @@
* 添加用于调试用的功能: 在`GameApplication.DesignatedRoom`中指定地牢生成的房间, 这样地牢就只会在这个指定的随机池中抽取房间, 方便调试房间
* 添加Ai使用武器属性变化: `AiBulletSpeedScale`, Ai使用该武器发射的子弹速度缩放比; `AiAmmoConsumptionProbability`, Ai使用该武器消耗弹药的概率
---
---
### 2023-03-19
本周主要完成Godot编辑器插件扩展, 目的为了更加方便为游戏添加内容, 主要工作内容如有:

View File

@ -1,5 +1,5 @@
一款由Godot开发的地牢射击类型的游戏, 脚本语言使用的是C#, 当前项目使用的Godot版本: Godot_v4.1.dev
一款由Godot开发的地牢射击类型的游戏, 脚本语言使用的是C#, 当前项目使用的Godot版本: Godot_v4.1.beta
---
### 游戏定义
@ -18,6 +18,7 @@
### 启动项目
git仓库的目录结构如下
> ├ DungeonShooting_Document (项目帮助文档, 更新日志相关的目录)
> ├ DungeonShooting_ExcelTool (项目excel配置表导出工具源代码)
> └ DungeonShooting_Godot (Godot工程目录)
下载好指定的Godot版本, 注意使用的是Godot_Mono版, 使用Godot打开`DungeonShooting_Godot/project.godot`, 如果是第一次打开项目会弹出一个找不到资源的提示, 这是因为项目没有编译过, 点击Godot右上角`build`, 然后打`开项目设置`, 在`插件`这一个页签下启用`DungeonShooting_plugin`这个插件, 然后项目就可以正常运行了