通用渐进式游戏客户端开发框架:EasyGameFramework持续更新贴

支持支持 :hugs:加油

如果感兴趣的,可以提前了解,在develop分支的enet,enet-pbws
我还在完善单元测试
以及测试例子

eclipse-theia 有多:ox::beer:
直接在https://gitpod.io/# 拼接GitHub或者其它开源仓库地址
比如EasyGameFramework
https://gitpod.io/#https://github.com/AILHC/EasyGameFrameworkOpen

等待一下(第一次会比较慢)

IDE就起来了。


直接yarn install 安装环境
这个安装速度比我电脑本机还要快:sob:

随便找个包来跑单元测试

image

看得尴尬症犯了。。

?????

周末愉快~

框架仓库增加了一个强大基础模块
基于TypeScript的通用网络通信模块enet

介绍

enet 是一个基于TypeScript的零依赖、跨平台、灵活、高可扩展的网络库

可以轻松集成到任意js/ts项目中

可以根据项目需要进行多层次定制(socket层,协议层,网络通信反馈层)

框架提供了基于protobuf的协议处理库 @ailhc/enet-pbws

需配合 egf-protobuf 库使用(一个proto文件编译生成静态js文件的工具库)

还有一个使用这个网络框架的基于CocosCreator2.4.2的聊天室demo(含服务端实现):egf-net-ws

灵感来源

  1. pinus:一个基于Node.js的分布式水平扩展游戏服务器轻量级强大框架

  2. 宝爷的Cocos Creator 通用框架设计 —— 网络

特性

  1. 跨平台:适用于任意ts/js项目

  2. 灵活、高可扩展:可以根据项目需要进行多层次定制

  3. 零依赖

  4. 强类型:基于TypeScript

  5. 功能强大:提供完整的基本实现:握手、心跳、重连

  6. 可靠:完善的单元测试

由于使用了protobuf,所以优化了之前的一个protobuf静态js文件生成工具:egf-protobuf

核心框架库core更新
去除proxy包装moduleMap,如有需要可自定义实现

1赞

这个框架的GitHub仓库开通了
discussion
一个类似论坛一样的东西
可以发帖交流讨论~
有什么好的点子,想法尽管发帖吧~


最近我也更新了我的slogan

游戏开发之路有趣但不易

玩起来才能一直热情洋溢

关注我, 一起玩转游戏开发!

你的关注是我持续更新的动力~

让我们在这游戏开发的道路上并肩前行

在以下这些渠道可以找到我和我的创作:

公众号搜索:玩转游戏开发

或扫码:img

一起讨论技术的 QQ 群: 1103157878

博客主页: https://pgd.vercel.app/

掘金: https://juejin.cn/user/3069492195769469

github: https://github.com/AILHC

写了这么多 感觉对新手不友好啊!

你指的对新手友好是怎么样的?:nerd_face:

好像不错的样子

关于enet网络模块的使用相关文章出了
合成大西瓜?一个人玩不如一起聊天放烟花(实现多人聊天放烟花)
相关源码也更新到仓库了
GitHub EasyGameFramework
欢迎阅读和star​:yum:

后续计划

  1. 完善文档
  2. 组件库搭建方案完善
  3. 集成fairygui
  4. ECS模块整理
  5. excel配置表转换工具(导出json+d.ts,增量导表)
  6. 大型项目CocosCreator优化方案
  7. 其他小模块。。

2021-1-30 更新

  1. 仓库的README更新 更清晰明确
  2. 补充完善了各个包的README
  3. 构建工具更新,修复只能打包出es5格式文件的bug,以及其他构建报错的bug

ECS框架都有,牛逼啊

嗯嗯,之前写的arpg战斗用的ecs框架。需要整理整理

项目快上线了~

1赞

好看的文档即将上线

更加完善的工程化来了
主页

API文档


测试报告

1赞

全新的文档更新了~

【支持Creator3.0 正式版】EasyGameFramework船新升级

开工大吉~
过年假期期间,抽空修了一些bug,整了一大波更新~

不用clone也可以看源码

image
可以一键进入vscode看项目代码,不过由于github限制,会出现看了一会就没法看的问题,需要提供token,点那个机器人头
image
不过最近好像慢了好多,不知道咋回事,可能用的人多了

我提供了另外一个看代码的入口 Open in Gitpod
打开略慢,但可以运行各种命令,构建

文档更加完善了

修复了一些markdown解析出错的地方,changelog更新日志也能正常显示

增加了一个协议处理模块 enet-pinus-pb

看名字就知道是给pinus用的

pinus是啥?

传送门: 基于TypeScript的nodejs服务器框架

pomelo的ts版
pomelo传送门:pomelo
但pomelo不怎么维护了
pinus一直在维护

我就是将它那套协议处理逻辑,用enet的protoHandler的方式实现。

理论上,可以通过实现不同的protoHandler对接不同的协议处理后端,但前端接口逻辑不变

并提供了一个pinus的聊天栗子,web端只是改写一下原来的聊天客户端
examples/pinus-enet-chat
客户端实现
pinus-enet-chat/web-server/public/js/client.js

在线看代码:https://github1s.com/AILHC/EasyGameFrameworkOpen/tree/main/examples/pinus-enet-chat

如何启动栗子?

  1. 安装

    yarn install
    
  2. 启动后端服务器

    yarn devSvr
    
  3. 启动前端服务器

    yarn devClient
    
  4. 启动成功

  5. 开启聊天

2赞

更新~

支持Creator2.4.5

Creator更新了2.4.5测试版

让我发现了模块package.json中使用exports字段的一个错误,会导致2.4.5引用框架模块报错

这次更新,修复了这个问题

更加强大的egf-cli

保持开箱即用的特性之外增加了更多自定义功能
可以自定义使用rollup插件或者自己写rollup插件,满足不同的需求
还有其他强大的功能:

  1. 自定义多个入口和输出文件
  2. 自定义插件
  3. 自定义给输出的模块js文件加上头和尾

使用这个egf-cli我编写了一个可以让CocosCreator完美支持使用ts进行插件开发,让插件编码过程变得极度舒适
支持2.x和3.0的插件开发

商店链接:https://store.cocos.com/app/detail/2736





使用视频
https://www.bilibili.com/video/BV1Ny4y1b7Vh

隐藏的强大模块:excel2all

还未正式发布。。。,但已经合并在仓库中了。尽请期待~

1赞

mark!

mark666