1 / 11
文档名称:

基于Lua开发网络游戏(1).pdf

格式:pdf   大小:650KB   页数:11页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于Lua开发网络游戏(1).pdf

上传人:流金岁月 2021/10/25 文件大小:650 KB

下载得到文件列表

基于Lua开发网络游戏(1).pdf

文档介绍

文档介绍:基于 Lua 开发网络游戏
开源引擎 ejoy2d / skynet 的应用
云风
Lua 编程语言
• 快:大约是 Python 3 的 2 到 5 倍
– The Computer Language Benchmarks Game
(/)
• 小:~200K 二进制库 ~20K C 代码行
• 少:简单而强大。
– keyword: C++ 82 , Python 33 , C 32 , Go 25, Lua 22
– C API 79 个
– VM 指令 30 个
• 内建 coroutine , 单个 coroutine 仅 ~200 字节开销
– 其它语言不少于一个内存页
• 动态类型、命令式语言
• 热更新!
Ejoy2D

– 2013 年 4 月开始开发,2013 年 12 月开源
– github 拥有 602 个 star ,214 个 fork
• MIT License
• 基于 OpenGL ES
• 内核精简:~7K C 代码行
• 高度结合 Lua
– 内核 API 全部为 Lua 设计
– 数据描述全部使用 Lua 表
– C 对象生命期及内存全部由 Lua VM 管理
Ejoy2D 工具链
• 基于 Cocos2d Studio 扩展
Flash 动画导出脚本
陌陌争霸客户端
• 从零到上线,客户端程序用了 8 个人月
• Iphone 4 流畅运行
• 客户端大小 Andriod 28M ,iOS 31M
• 其中全部 Lua 脚本 500K
• 上线 4 个月,版本更新 ~130 次
– iOS 版更新版本 2 次
Skynet

– 2011 年 11 月开始开发,2012 年 8 月开源
– 现有 978 个 star ,446 个 fork
• MIT License
• 核心 ~7K C 代码行
• 基础设施大部分用 Lua 编写,~5K Lua 。
• Actor 模式,单进程支持 64K 个 Lua VM
– 消息调度的最小单位为 Lua coroutine
陌陌争霸服务器
• 生产环境单台服务器服务 7K 用户
– 压力测试 20K 用户
• 目前日活跃用户 500K 同时在线 20K~60K
• 集群中心无压力、尚有 8 倍扩展空间
• 目前硬件配置:E5-2420 v1 * 2 , 64G 内存
– 建议配置 E5-2650 v2 * 2 有更高性价比
skynet 服务器热更新
• A B 服滚服为主
• Lua 模块留有调试接口可直接更新代码
• 平均一周停服维护一次,每次 小时