{"id":18084148,"url":"https://github.com/pingzidev/echo","last_synced_at":"2025-10-07T22:32:58.563Z","repository":{"id":258573003,"uuid":"864739843","full_name":"PingziDev/echo","owner":"PingziDev","description":"基于Godot的轻量易上手的游戏开发框架","archived":false,"fork":false,"pushed_at":"2024-10-07T01:43:06.000Z","size":70,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T23:42:28.495Z","etag":null,"topics":["framework","game-development","gameframework","godot"],"latest_commit_sha":null,"homepage":"","language":"GDScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PingziDev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-29T03:12:06.000Z","updated_at":"2025-04-01T14:49:21.000Z","dependencies_parsed_at":"2024-10-19T16:31:53.530Z","dependency_job_id":null,"html_url":"https://github.com/PingziDev/echo","commit_stats":null,"previous_names":["pingzidev/echo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PingziDev%2Fecho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PingziDev%2Fecho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PingziDev%2Fecho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PingziDev%2Fecho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PingziDev","download_url":"https://codeload.github.com/PingziDev/echo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415928,"owners_count":20935385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","game-development","gameframework","godot"],"created_at":"2024-10-31T15:05:52.367Z","updated_at":"2025-10-07T22:32:53.531Z","avatar_url":"https://github.com/PingziDev.png","language":"GDScript","readme":"# Echo\n\u003e **E**ntity+**C**omponent+**H**appy+G**o**dot\n\n欢迎来到 **Echo**，一个 **轻量、易上手、可插拔组件化、持续维护、中文友好** 的游戏开发框架！基于 **Godot 4**，为开发者提供通用解决方案，帮助你跳过基础的繁琐功能，专注于游戏开发的核心！\n\n念念不忘，必有回响。用 **Echo** 实现你的游戏梦想！\n\n## 🌟 项目特点\n\n- **组件化开发**：采用Entity+Component的设计模式，实现功能的组件化开发，你可以用堆积木的方式搭建自己的游戏！\n- **轻量化设计**：简洁代码，减少冗余，保证高效开发。\n- **简单易上手**：封装常用功能，降低上手门槛，让你专注于游戏逻辑的实现。\n- **实用性强**：在实际项目中测试和使用，解决常见的开发痛点。\n- **持续维护**：随着 Godot 4 更新不断改进，确保框架始终与 Godot 最新版本兼容。\n- **中文友好**：全面支持中文开发环境，文档、注释和接口更贴近中文开发者的习惯。\n## 🚀 功能一览\n- **游戏管理（Game）**：全局控制游戏进度、速度、难度等。\n- **场景管理（Scene）**：随时加载、卸载和切换多个游戏场景。\n- **数据管理（Data）**：处理游戏的存档与读档，管理动态产生的游戏数据。\n- **资源管理（Resource）**：高效管理资源加载，支持同步与异步模式，优化内存使用。\n- **实体管理（Entity）**：动态创建、显示、隐藏、销毁游戏对象。\n- **输入处理（Input）**：统一管理键盘、鼠标、手柄等输入设备的控制。\n- **事件系统（Event）**：解耦事件与响应逻辑，提供事件管理和触发机制。\n- **界面管理（UI）**：处理游戏中的用户界面元素，提供流畅的交互体验。\n- **音效管理（Sound）**：控制背景音乐和音效，创造沉浸式体验。\n- **调试工具（Debug）**：提供开发调试工具，便于问题排查与优化。\n## 📂 目录结构\n\n```bash\n.\n├── addons/\n│   └── echo/    # echo框架根目录\n│       ├── game/       # 游戏控制\n│       ├── scene/      # 场景管理\n│       ├── data/       # 数据管理\n│       ├── resource/   # 资源管理\n│       ├── entity/     # 实体管理\n│       ├── input/      # 输入管理\n│       ├── event/      # 事件管理\n│       ├── ui/         # 界面管理\n│       ├── sound/      # 声音管理\n│       ├── debug/      # 调试工具\n│       ├── plugin.cfg  # 插件配置文件\n│       └── README.md   # 插件说明文档\n└── project.godot       # Godot 项目配置文件\n```\n### 💾 如何安装\n\n**资源库下载**\n\n1. 在 Godot 中打开 **资源库** 选项卡。\n2. 搜索并选择 “Echo”。\n3. 下载并安装插件（确保只选择 `echo` 目录）。\n4. 在 **项目** \u003e **项目设置** \u003e **插件** 中启用插件。\n\n**GitHub Release下载**\n\n1. 下载发布版本。\n2. 解压缩 zip 文件，将 `addons/echo` 目录移动到项目根目录。\n3. 在 **项目** \u003e **项目设置** \u003e **插件** 中启用插件。\n\n## 🛤️ 开发路线图\n- ~~项目基础架构~~\n    - [x]  确定项目目录结构\n    - [x]  创建基本的配置文件\n    - [x]  设置版本控制（如 Git）\n- **游戏管理**\n    - [ ]  创建游戏进度管理类\n    - [ ]  实现游戏速度调节功能\n    - [ ]  设计游戏难度调整系统\n- **数据管理**\n    - [ ]  设计存档结构\n    - [ ]  实现存档功能\n    - [ ]  实现读档功能\n- **场景管理**\n    - [ ]  创建场景管理器\n    - [ ]  实现场景加载与卸载\n    - [ ]  设计场景切换效果\n- **资源管理**\n    - [ ]  实现资源加载系统\n    - [ ]  优化资源缓存机制\n    - [ ]  设计异步资源加载功能\n- **实体管理**\n    - [ ]  创建游戏对象类\n    - [ ]  实现动态创建与销毁对象\n    - [ ]  设计对象的显示与隐藏功能\n- **输入处理**\n    - [ ]  设计输入管理器\n    - [ ]  实现多种输入设备支持\n    - [ ]  实现输入事件处理功能\n- **事件系统**\n    - [ ]  创建事件管理系统\n    - [ ]  设计事件触发机制\n    - [ ]  实现事件与响应的解耦\n- **界面管理**\n    - [ ]  设计用户界面框架\n    - [ ]  实现界面动态更新\n    - [ ]  设计用户交互功能\n- **音效管理**\n    - [ ]  创建音效管理类\n    - [ ]  实现背景音乐控制\n    - [ ]  设计音效动态加载功能\n- **调试工具**\n    - [ ]  开发调试工具\n    - [ ]  实现问题排查功能\n    - [ ]  提供性能监控工具\n\n## 📝 所需 Godot 版本\n- 本框架需要 **Godot 4.0 及以上版本** 才能正常运行。请确保你安装了正确的版本，以获得最佳体验。\n## 🤝 贡献指南\n想加入开发？欢迎啊！Fork 这个项目，做出你的修改，提交 Pull Request，我们来一起让这个框架更好玩！\n## 📜 协议\nMIT 协议，随便玩，别忘了给个 Star⭐！\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpingzidev%2Fecho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpingzidev%2Fecho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpingzidev%2Fecho/lists"}