目录
LearnMindustryMod
绪论
第一章 模组开发环境与部署
基本的模组开发环境搭建
- 1.1 gradle环境与java/kotlin
- 1.2 javaScript/typeScript开发环境
- 1.3 模组文件结构
- 1.4 如果你只有Android设备
- 1.5 Java模组模板
第二章 创建游戏内容
首先尝试像在json中那样用现有类型创建新内容
- 2.1 物品和液体
- 2.2 工厂方块(GenericCrafter)
- 2.3 钻头与泵
- 2.4 电力方块
- 2.5 状态效果
- 2.6 科技树
- 2.7 炮台(Turret)与子弹(BulletType)
- 2.8 单位(Unit)
- 2.9 行星、区块、天气、队伍
- 2.a 如何查找自己需要的类型
第三章 游戏内容的程序逻辑
游戏内容背后的程序原理,真正开始进入编程
- 3.1 方块(Block)与建筑(Building)
- 3.2 方块的消耗项(Consumes)及工厂的生产逻辑
- 3.3 电力与电网
- 3.4 物流/液体的物流传输逻辑
- 3.5 单位模型(UnitType)与单位实体(Unit)
- 3.6 弹射物类型(BulletType)与弹射物实体(Bullet)
- 3.7 载荷(Payload)
- 3.8 全局事件与事件监听器
第四章 调试
利用各种工具去更好的解决那些未按预期运行的程序
- 4.1 错误日志与堆栈回溯
- 4.2 什么是jdb?
- 4.3 在IDEA中调试
- 4.4 当你需要在Android设备上调试时
- 4.5 在你只有Android设备时的替代方案
- 4.6 用modtools模组进行调试
第五章 绘图与动画
使用游戏内建的绘图工具来绘制图案和动画
- 5.1 纹理区域(TextureRegion)与可绘制对象(Drawable)
- 5.2 Draw,Drawf,Fill以及Lines
- 5.3 方块绘制器(DrawBlock)
- 5.4 炮台的独特动画控制组件
- 5.5 单位的绘制与动画控制
- 5.6 特效(Fx,Effect)
- 5.7 泛光(Bloom)
- 5.8 z轴的作用及预置层级
第六章 图形用户操作界面编程(GUI)
学习使用GUI部件制作你的交互式用户界面
- 6.1 元素(Element),组(Group),以及GUI结构
- 6.2 标签(Label)与图片(Image)
- 6.3 控件与事件
- 6.4 表格(Table)与布局
- 6.5 滚动布局
- 6.6 对话窗口(Dialog)
- 6.7 变换与缩放
- 6.8 动画控制(Actions)
- 6.9 自定义元素或布局组
第七章 程序架构
深入了解游戏背后的程序架构与逻辑
- 7.1 全局事件系统
- 7.2 实体与ECS架构
- 7.3 实体容器(EntityGroup)及实体查询
- 7.4 特效实体(EffectEntity)
- 7.5 世界与瓷砖网格(Tiles)
- 7.6 世界规则与全局统计
- 7.7 碰撞系统与物理模拟
- 7.8 游戏主程序模块结构
- 7.9 资源装载工作
- 7.10 模组加载流程(Mods)
- 7.11 利用反射和方法句柄应对游戏的不良封装
第八章 高级图形效果
利用OpenGL渲染出更加惊艳的图形效果
- 8.1 OpenGL概述
- 8.2 图像是如何被渲染到屏幕上的?
- 8.3 着色器(Shader)
- 8.4 纹理与点阵图(Pixmap)
- 8.5 变换,投影与摄像机(Camera)
- 8.6 透明度与混合(Blending)
- 8.7 mindustry的渲染流程
- 8.8 帧缓冲(FrameBuffer)与离屏渲染
- 8.9 泛光(Bloom)解析
- 8.10 试试3D?
- 8.11 将3D模型渲染到世界!
- 8.12 面剔除,模板测试与深度测试
- 8.13 星图渲染(PlanetRenderer)解析
- 8.14 越过封装直接利用OpenGL管线
附录
- 附.1 预置内容类型速查表
- 附.2 源代码功能路径快速索引
- 附.3 主程序模块清单
- 附.4 GUI元素类型清单
- 附.5 事件/触发器速查表及事件时机对照表