# BigCat **Repository Path**: idealmatrix/BigCat ## Basic Information - **Project Name**: BigCat - **Description**: bigcat projects - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-27 - **Last Updated**: 2025-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BigCat BigCat(大猫)是一个游戏工具和MMO框架项目,项目的目标是像大型猫科动物一样优秀! 高代码质量,高运行性能,高开发效率 -- 这也许将是你见过的代码质量最好的项目! PS:不止是游戏!底层核心线程框架具有普适性,用来做任何网络应用都是高性能的。 ## 暂不建议Fork BigCat中原有的大量内容都被迁移到了**Commons**仓库,所以该仓库内容暂时不多,因此不建议Fork。 ## 阅读时Csharp代码优先 如果想阅读代码,建议阅读csharp代码;因为**作者最近重心开始转向Csharp,计划前后端都改用csharp**; 限于个人精力,以后的工具部分不再提供java实现 -- 核心框架逻辑仍然提供java实现。 PS:因此下面的连接都已改为只指向csharp路径。 ## 项目主要内容 1. 基础工具集:集合库、对象池... 2. 状态机、行为树.... 3. 并发库:Future、EventLoop、协程... 4. 序列化:Dson文本 5. 网络库:Rpc,可靠UDP协议 6. 主循环框架(线程框架) 7. 客户端UI框架 8. 角色和场景框架,技能框架... 9. 数据脚本 + 编辑器 10. 热更新,其它... ### 已实现 1. Future和EventLoop - [C#Concurrent包](https://github.com/hl845740757/commons?path=csharp/Wjybxx.Commons.Concurrent)。 2. 进程线程框架,线程Rpc通信 - [线程框架](csharp/Wjybxx.BigCat.Core) 3. Dson序列化 - [Dson是什么](https://github.com/hl845740757/commons.git?path=docs/Dson.md) 4. 万能任务树(TaskTree) - [任务树](https://github.com/hl845740757/commons.git?path=csharp/Wjybxx.BTree.Core) 5. 依赖注入 - [C#依赖注入库](https://github.com/hl845740757/commons.git?path=csharp/Wjybxx.Commons.Inject) 6. Rpc + 注解处理器 - [关于Rpc的设计解释](docs/Rpc.md) 7. 通过protobuf定义客户端与服务端的Rpc通信 - [proto文件规范](docs/Protobuf.md) 8. 文件热更新管理 - [文件加载流程](docs/FileReload.md) (C#待实现) 9. 数据脚本 10. 表格工具(导出Dson+共享字符串表+代码生成) 11. [Scene+GameObject框架](csharp/Wjybxx.BigCat.Core) 12. [UI框架-初版](unity/Assets/Scripts) 13. [自定义协程](csharp/Wjybxx.BigCat.Core) ### 废弃特性 1. ~~配置抽象(Sheet) + 表格处理工具~~ Sheet只用于工具,运行时直接使用Dson。 ## 资料 1. 代码:本人(wjybxx)对代码质量有较高的要求,代码就是第一资料。在存在特殊设定的地方,你多数时候都可以看见关于我的思路和意图的注释, 不过可能不会太详尽,因为部分设计是难以简单解释的。另外,测试用例也值得阅读,既有测试正确性的用例,也有工具使用方式的用例。 2. 文档:在顶层目录有一个Doc文件夹,对一些特殊的设计进行了解释,比如:Rpc。 3. 书籍:本人在21年底的时候有计划写一本游戏开发相关的书,不过到现在(2023.3.31) 都还未开始,只拟了一个目录。后续真正创作的时候,将会包含该项目中的一些设定的详细解释。 (其实,书籍的主要内容其实来源于我这几年的笔记,超1000篇,思考了太多问题,项目是笔记落地的体现) ## 开源 Q:我为什么开源呢? A:用一句话表达:我这些年实在太痛苦,我经历过的痛苦希望他人可以避免。 为什么说痛苦呢?因为游戏行业是一个代码极其闭源的行业。 如果你对游戏开发感兴趣,你会发现几乎没有好的书籍和代码参考学习。 游戏行业最多的书籍是什么?是引擎相关的书籍,这些书教你怎么使用Unity或Unreal,却没有一个教你如何实现一套好的技能系统,AI系统和角色架构的。 即便是有人出版过一些游戏AI或技能设计的书籍,也都是泛泛而谈,或者方案太差劲。 (就我看过的书籍而言,我只推荐一本书:*游戏人工智能编程案例精粹*) 我很喜欢玩游戏,DNF的骨灰级玩家,wjybxx就是我的游戏角色 *玩家一不小心* 的缩写。我玩过DNF、剑灵这样优秀的游戏,我从业的时候就很希望能做出这样优秀的游戏,因此我对游戏的技能(战斗)、AI实现十分感兴趣,却无路可学。 我经历了一些项目,也看过一些开源项目,没有看见让我满意的设计,我直觉上感觉它们不好(甚至糟糕),但不知道正确的设计应该是怎样的(回过头想,这其实是能力不足的体现)。 在工作的前几年,由于还有大量的基础知识要学习(语言、设计模式、多线程、分布式...),这一定程度上分散了我的精力,减轻了痛苦; 但当这些通用技术学到一定程度的时候,还是要面对我感兴趣的这些业务,然而我还是没有头绪,因此更加痛苦(明明学了大量知识,却感觉没有帮助)。 在最近的这两年里,我思考了太多太多的问题,这两年写的笔记就接近1000篇。现在,我可以清楚地指出所经历的项目的一些设计错误,比如:玩家场景内外数据未分离,属性未分层。 另外一点,我认为要做出好玩的游戏,小团队很重要,但由于技术闭源的原因,大多数团队和公司的技术都是很差的。所以,市场上就表现为:有创意的没技术,有技术的没创意... 所以,我希望开源能对这些小团队有帮助,希望国内多出点好游戏。 ## 个人公众号(游戏开发)