更新开发日志

This commit is contained in:
小李xl 2023-04-08 00:47:13 +08:00
parent 14d7b44968
commit f726740095
6 changed files with 13 additions and 46 deletions

View File

@ -1,6 +1,16 @@
---
### 2023-3-19
### 2023-04-08
本轮工作重点在于编写文档以及完善模板房间配置, 最近这段时间本职工作比较忙, 所以开发进度相比上一轮稍微放缓, 主要工作内容如有:
* 编写项目帮助文档, 为给后续开发人员更好的理解项目架构以及功能代码, 位置在[DungeonShooting_Document/项目帮助文档.md](项目帮助文档.md), 该文档为初期开发文档, 后续会因项目架构调整或新增内容而修改
* 修复`DungeonRoomTemplate`在编辑器中draw函数绘制层级过低和`ctrl`+`s`有时不触发保存bug
* 调整模板房间文件夹结构, 以前全放在`tileMaps`文件夹下, 现在在`tileMaps`下会有个分组文件夹, 用于放置同一层的地牢房间, 再到组文件夹下分了`Battle`,`Inlet`,`Outlet`,`Boss`,`Reward`,`Shop`,`Event`这几个文件夹, 用于分类房间类型, 并加入房间权重, 权重越大, 越容易随机到该房间
* `ActivityMark`添加生成物体高度和垂直速度配置, 支持在一个矩形区域内随机位置生成物体, 并优化`ActivityMark`性能, 现在不是开始游戏就进入场景树, 而是玩家进入当前房间并开始执行标记时再放入场景树中
* 添加用于调试用的功能: 在`GameApplication.DesignatedRoom`中指定地牢生成的房间, 这样地牢就只会在这个指定的随机池中抽取房间, 方便调试房间
* 添加Ai使用武器属性变化: `AiBulletSpeedScale`, Ai使用该武器发射的子弹速度缩放比; `AiAmmoConsumptionProbability`, Ai使用该武器消耗弹药的概率
---
### 2023-03-19
本周主要完成Godot编辑器插件扩展, 目的为了更加方便为游戏添加内容, 主要工作内容如有:
* 将原来编辑器中的`automation`面板移到Godot编辑器`2D`/`Script`这一栏, 并重命名为`Tools`
* `Tools`面板中添加创建UI的功能, 输入UI名称点击创建就能自动创建一个空的UI场景和相配套UI代码, 编辑器监听用户对于UI的改动, 一旦有变化, 就会自动重新生成UI基础代码, 这样做的好处是一旦有节点重命名或者移动位置, 用到这个节点的代码就会编译报错. 每个UI都分好了文件夹, 所有和当前UI有关的代码都应该被放到同一个UI文件夹下
@ -11,7 +21,7 @@
* 重写`ActivityObject`中的投抛系统, 加入`ActivityObject`加入海拔高度字段, 并且自动计算精灵和阴影位置, 当海拔高度大于0时会自动做自由落体, 想向上抛物的话也只需要设置垂直方向的速度就行, 现在的`Throw()`函数仅仅只是对于设置海拔高度和垂直速度的一个封装
---
### 2023-3-13
### 2023-03-13
为了尽早能够完成核心功能, 对外展示demo, 三月上旬开发提速, 主要的工作内容有:
* 找到一个会触发关闭游戏卡死的 bug, 问题出在`TileMap.GetCellTileData()`函数上, 调用该函数在关闭游戏释放资源时会导致读取到已经被释放的内存, 但是卡死的问题还是有极小概率发生, 目前情况未知
* 发现并修复bug: 之前版本在自定义房间连接时, 如果生成带有拐角的通道, 通道生成的位置不是按最近位置生成, 这就导致生成的拐角通道特别长, 而且浪费空间, 现已修复

View File

@ -1,9 +0,0 @@
<Project Sdk="Godot.NET.Sdk/4.0.1-rc.1">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<Folder Include="src\game\ui\editorTools" />
</ItemGroup>
</Project>

View File

@ -1,12 +0,0 @@
<Project Sdk="Godot.NET.Sdk/4.0.1">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DocumentationFile>D:\GameProject\DungeonShooting\DungeonShooting_Godot\.godot\mono\temp\bin\Debug\DungeonShooting.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Folder Include="src\game\ui\editorTools" />
</ItemGroup>
</Project>

View File

@ -1,11 +0,0 @@
<Project Sdk="Godot.NET.Sdk/4.0.1-rc.1">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
</PropertyGroup>
<ItemGroup>
<Folder Include="src\game\ui\editorTools" />
</ItemGroup>
</Project>

View File

@ -1,11 +0,0 @@
<Project Sdk="Godot.NET.Sdk/4.0.1">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
</PropertyGroup>
<ItemGroup>
<Folder Include="src\game\ui\editorTools" />
</ItemGroup>
</Project>

View File

@ -1,5 +1,5 @@
一款由Godot开发的地牢射击类型的游戏, 脚本语言使用的是C#, 当前项目使用的Godot版本: Godot_v4.0.1
一款由Godot开发的地牢射击类型的游戏, 脚本语言使用的是C#, 当前项目使用的Godot版本: Godot_v4.0.2
---
### 游戏定义