From e8aad2dc17acdcfbd4da9600ac8550f583ca1f10 Mon Sep 17 00:00:00 2001 From: walon Date: Thu, 22 Oct 2020 21:12:54 +0800 Subject: [PATCH] * add catalog.md * add .travis.yml CI config file --- .travis.yml | 7 +++ docs/catalog.md | 124 ++++++++++++++++++++++++++++++++++++++++++++++++ docs/index.md | 42 ++-------------- 3 files changed, 134 insertions(+), 39 deletions(-) create mode 100644 .travis.yml create mode 100644 docs/catalog.md diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..ba4d015 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +language: csharp +solution: src/Luban.sln + +mono: none +dotnet: 3.1 +script: + - dotnet restore \ No newline at end of file diff --git a/docs/catalog.md b/docs/catalog.md new file mode 100644 index 0000000..a7cf007 --- /dev/null +++ b/docs/catalog.md @@ -0,0 +1,124 @@ + +* start up + - 下载 dotnet sdk 3.1 + - 下载 luban.client&luban.server + - 启动 luban.server + - 创建游戏配置 + - root.xml + - 新增一个表定义 + - 新增一个excel文件 + - 生成 + - c# dotnet core + - gen.client 命令行 + - c# unity + - c# unity + ILRuntime + - lua unity xlua + - lua unity tolua + - 其他lua + - java + - go + - cpp + - typescript + - python 2.7及3.0 +* 进阶 + - 游戏配置 + - excel 篇 + - 标题头定义 + - 定义和配置更多基础类型 + - 定义枚举 + - 定义bean + - 数据格式 + - 指定某个或者多个sheet或者文件 + - list 或者其他类型 + - group 分组导出 + - tag + - sep + - multi_rows + - 多级标题头 + - 单例表 + - 行表与列表 + - 可空变量 + - datetime + - convert + - 多态bean + - json 篇 + - lua + - xml + - 一个同时包含 excel 、 json 配置的项目 + - 数据校验 + - ref + - path + - 导出格式 + - bin 格式 + - lua 格式 + - 本地化 +* gen.client & gen.server 工作模型 +* 定义 + 数据的 抽象模型 +* 定义 + * 根定义文件 + * group + * service + * topmodule + * import + * 子模块定义 + * 类型系统 + - 基础类型 + - 可空类型 + - 枚举 + - const + - bean + - field + - 多态 + * table + * module +* 源数据格式 + - excel + - json + - lua + - xml +* 导出数据格式 + - bin + - json + - lua + - emmylua anntations +* input 多种数据文件来源 +* group 数据分组 +* tag +* 资源列表导出 +* validator 数据检验 +* 本地化 +* editor 相关。导出符合luban数据约束的文件。 +* ide支持 + - emmylua anntations + +- luban.client 命令行介绍 + - luban.client 命令行参数 + - job cfg 命令行参数 + +* 各个语言和引擎及平台下的项目搭建 + - c# + dotnet core + - c# + unity + - c# + unity + ILRuntime + - 其他 c# 平台 + - lua + unity + tolua + - lua + unity + xlua + - lua + unity + slua + - lua + unreal + unlua + - lua + cocos2dx + - 其他使用 lua 的 平台 + - c++ + unreal + - c++ + 其他平台 + - go + - java + - python 2.7 + - python 3.0 + - typescript + 微信小游戏 + - typescript + 其他平台 + +* luban 开发 + - git clone 项目 + - luban 构建与发布 + - 普通构建 + - docker + - 代码结构介绍 + - 自定义 job \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 45aaf58..c84aa39 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,49 +5,13 @@ Luban 是一个强大的生成与缓存工具。最初只用于对象生成,对象可以是常规代码、配置数据、类似protobuf的消息代码,也可以是游戏资源如assetbundle。 在大型项目中,由于配置或资源数据庞大,生成对象可能会花费相当多的时间。比如一个典型的MMORPG项目,后期全量生成配置,即使用了多线程加速,所需时间 -也在10秒的级别。因此使用client/server模式,新增缓存机制来加速生成过程,能将生成时间时间降低到秒级,在项目中后期积少成多,可以帮助节省不少策划和程序的时间。 +也在10秒的级别。因此使用client/server模式配合缓存机制来大幅加速生成过程。 Luban 最初是为了解决传统excel导出工具功能过于薄弱,无法很好解决MMORPG游戏复杂配置需求的痛点问题。 自2015年以来,经历过 MMORPG、卡牌、SLG 等多个上线项目的考验, 实际项目过程中不断迭代和优化,理解逐渐深入,最终由一个增强型的配置工具成为一个 **相对完备的游戏配置数据解决方案**。 -## 核心优势 -相对于传统excel导表工具,Luban的核心优势在于: - -* 完备的数据类型系统,增强的excel格式支持。 - > 策划可以在excel里比较简洁填写出任意复杂的配置,比如 equips:list,Equip(包含 int id, string name, float attr) 这样一个复杂结构列表数据。而大多数导表工具 - 只支持 简单类型的列表,必须拆分为 equip_ids:list,int; equip_names:list,string;equip_attrs:list,float,无论对于策划还是程序都非常不友好。 -* 支持多态 bean - > 支持定义类似 父类Shape,子类 Circle,Rectange 这样的OOP类型体系,在表达复杂配置时极为有效,对程序友好,同时策划也可以比较简洁地配置出Shape数据,不必定义 - 一个通用型的包含所有字段的Shape了(对程序不友好,而且浪费内存)。 -* 先进的定义 + 数据源的设计,支持多数据源,统一所有游戏配置 - > 一个复杂项目中,总有一部分数据(10-20%)不适合excel编辑(比如技能、AI、副本等等),这些数据一般通过专用编辑器来编辑和导出。遇到的典型问题是,这种配置数据是无法 - 与excel数据统一处理的,造成游戏内有多种配置数据加载方案,程序需要花费很多时间去处理这些数据的加载问题。另外这些复杂数据无法使用数据检验和分组导出以及本地化 - 等等excel导表工具的机制。Lunan 能够处理 excel族、xml、json、lua、目录等多种数据源,统一导出数据和生成代码,所有数据源都能使用数据检验、分组导出等等机制, - 程序彻底从复杂配置处理中解脱出来。 -* 极快,大型项目也能秒级导出 - > 使用 client/server模式,利用服务器强大的硬件(大内存+多线程),同时配合缓存机制(如果数据和定义未修改,直接返回之前生成过的结果),即使到项目中后期数据规模比较 - 大也能1秒(传统在10秒以上)左右生成所有数据并且完成数据校验。考虑策划和程序经常使用生成工具,积少成多,也能节省大量研发时间。 -* 支持主流的游戏开发语言 - - c++ (11+) - - c# (.net framework 2+. dotnet core 2+) - - java (1.6+) - - go (1.10+) - - lua (5.1+) - - js 和 typescript (3.0+) - - python (2.7+ 及 3.0+) -* 支持主流引擎 - - unity + c# - - unity + tolua,xlua - - unity + ILRuntime - - unreal + c++ - - unreal + unlua - - unreal + puerts - - cocos2d-x + lua - - cocos2d-x + js - - 微信小程序平台 - - 其他家基于js的小程序平台 - - 其他所有支持lua的引擎和平台 - - 其他所有支持js的引擎和平台 +## 文档 +* 目录 (catalog.md) ## 支持和联系