diff --git "a/DungeonShooting_Document/\345\274\200\345\217\221\346\227\245\345\277\227.md" "b/DungeonShooting_Document/\345\274\200\345\217\221\346\227\245\345\277\227.md" index 022aa28..93c25f0 100644 --- "a/DungeonShooting_Document/\345\274\200\345\217\221\346\227\245\345\277\227.md" +++ "b/DungeonShooting_Document/\345\274\200\345\217\221\346\227\245\345\277\227.md" @@ -1,5 +1,17 @@ +### 2023-3-19 +> 本周主要完成Godot编辑器插件扩展, 目的为了更加方便为游戏添加内容, 主要工作内容如有: +> * 将原来编辑器中的`automation`面板移到Godot编辑器`2D`/`Script`这一栏, 并重命名为`Tools` +> * `Tools`面板中添加创建UI的功能, 输入UI名称点击创建就能自动创建一个空的UI场景和相配套UI代码, 编辑器监听用户对于UI的改动, 一旦有变化, 就会自动重新生成UI基础代码, 这样做的好处是一旦有节点重命名或者移动位置, 用到这个节点的代码就会编译报错. 每个UI都分好了文件夹, 所有和当前UI有关的代码都应该被放到同一个UI文件夹下 +> * UI节点添加打开子UI的api, 允许嵌套打开UI +> * `Tools`面板中添加创建地牢预制房间的功能, 现在不需要自己在节点管理器中添加`DungeonRoomTemplate`了, 并且节点管理器已经移除`DungeonRoomTemplate` +> * 优化`RoomConfig.json`, 现在不是所有数据都存在这个配置里了, 这里面值放一些基础数据和房间详细配置的路径, 需要房间详细信息再进行动态加载 +> * `Uibase`添加协程支持, 功能和`ActivityObject`中的协程一样 +> * 重写`ActivityObject`中的投抛系统, 加入`ActivityObject`加入海拔高度字段, 并且自动计算精灵和阴影位置, 当海拔高度大于0时会自动做自由落体, 想向上抛物的话也只需要设置垂直方向的速度就行, 现在的`Throw()`函数仅仅只是对于设置海拔高度和垂直速度的一个封装 + +--- + ### 2023-3-13 > 为了尽早能够完成核心功能, 对外展示demo, 三月上旬开发提速, 主要的工作内容有: > * 找到一个会触发关闭游戏卡死的 bug, 问题出在`TileMap.GetCellTileData()`函数上, 调用该函数在关闭游戏释放资源时会导致读取到已经被释放的内存, 但是卡死的问题还是有极小概率发生, 目前情况未知 @@ -14,7 +26,7 @@ --- ### 2023-02-28 -> 进过数十天开发, 已经完成自定义房间功能, 支持配置连接门生成区域, 而不是像之前一样整个矩形外框都能生成门, 并且还做了在编辑器中可视化编辑连接们生成区域的功能, +> 经过数十天开发, 已经完成自定义房间功能, 支持配置连接门生成区域, 而不是像之前一样整个矩形外框都能生成门, 并且还做了在编辑器中可视化编辑连接们生成区域的功能, > 所有的自定义房间放在`resource/map/tileMaps`, 路径下, 使用`automation`面板下的`打包地牢配置`即可将所有房间的配置信息整合到`RoomConfig.json`文件内, 方便代码获取房间数据, > 在编辑器中添加`DungeonRoomTemplate`节点, 用于创建模板房间. @@ -28,4 +40,5 @@ > * 武器类别有近战/远程武器, 武器由属性类控制 > * ai行为逻辑, 包括自动寻路, 发现玩家后追踪玩家, 通知其它ai玩家位置, 射程足够时朝玩家射击, 在玩家周围徘徊, 没有武器/弹药时寻找可用的武器 > * 随机生成地牢, 地牢房间与房间由过道连接, 一个房间至少连接一个其它房间 -> * 游戏中UI, 包括血条, 玩家手持武器, 武器弹药, 换弹进度, 拾起武器提示 \ No newline at end of file +> * 游戏中UI, 包括血条, 玩家手持武器, 武器弹药, 换弹进度, 拾起武器提示 +> * 音效管理, 播放背景音乐和音效 \ No newline at end of file diff --git a/DungeonShooting_Godot/DungeonShooting.sln.DotSettings.user b/DungeonShooting_Godot/DungeonShooting.sln.DotSettings.user index 5ef2d60..639eefb 100644 --- a/DungeonShooting_Godot/DungeonShooting.sln.DotSettings.user +++ b/DungeonShooting_Godot/DungeonShooting.sln.DotSettings.user @@ -1,2 +1,5 @@  - WARNING \ No newline at end of file + WARNING + On + On + On \ No newline at end of file diff --git a/README.md b/README.md index da6ba4b..f7365b1 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,29 @@ -目前项目已经从Godot3x迁移至Godot4x
-当前Godot版本: Godot_v4.0.1.rc1, 请使用指定的Godot版打本开项目 -游戏名称: 待定
-美术风格: 2D像素
-游戏类型: Roguelite, 俯视角, 地牢射击
-参考游戏: 挺进地牢, 元气骑士, 废土之王
-核心简介: -游戏整体流程由数层地牢组成, 每层又由数个房间组成, 每个房间有一堵门隔开, 玩家每进入一个房间, 需要清理房间内所有的敌人, 方可离开和进入下一个房间, +一款由Godot开发的地牢射击类型的游戏, 脚本语言使用的是C#, 当前项目使用的Godot版本: Godot_v4.0.1.rc1 + +--- +### 游戏定义 + +**游戏名称:** 待定 +**美术风格:** 2D像素(完美像素) +**游戏类型:** Roguelite, 俯视角, 地牢射击 +**参考游戏:** 挺进地牢, 元气骑士, 废土之王 +**核心简介:** 游戏整体流程由数层地牢组成, 每层又由数个房间组成, 每个房间有一堵门隔开, 玩家每进入一个房间, 需要清理房间内所有的敌人, 方可离开和进入下一个房间, 玩家需要在这些房间中探索, 战斗, 收集掉落的道具和被动, 一步步成长, 击败boss, 进入下一层, 如此往复, 直到击败最后一层boss即可通关. -但本作与市面上常规地牢射击游戏不同的是, 玩家与敌人共用武器资源, 玩家击败敌人便可拾起敌人的武器, 并且更加注重环境互动要素 -
-游戏背景: 构思中
\ No newline at end of file +但本作与市面上常规地牢射击游戏不同的是, 玩家与敌人共用武器资源, 玩家击败敌人便可拾起敌人的武器, 并且更加注重环境互动要素 +**游戏背景:** 构思中 + +--- + +### 启动项目 +项目的目录结构如下 +> ├ DungeonShooting_Art (美术资源存放目录) +> ├ DungeonShooting_Document (项目帮助文档, 更新日志相关的目录) +> └ DungeonShooting_Godot (Godot工程目录) + +下载好指定的Godot版本, 注意使用的是Godot_Mono版, 使用Godot打开`DungeonShooting_Godot/project.godot`, 如果是第一次打开项目会弹出一个找不到资源的提示, 这是因为项目没有编译过, 点击Godot右上角`build`, 然后打`开项目设置`, 在`插件`这一个页签下启用`DungeonShooting_plugin`这个插件, 然后项目就可以正常运行了 + +--- +### 其他 +开发日志: [开发日志.md](DungeonShooting_Document/开发日志.md) +项目看板: https://trello.com/b/a8UGxnTl/dungeonshooting \ No newline at end of file