HTML5 canvas制作的魔塔样板,支持全平台游戏! 即使完全不会编程的用户,按照模板和说明文档也能很快做出一个魔塔游戏!
├── /_server/ # 为可视化地图编辑器提供一些支持的目录
├── /docs/ # 文档目录
├── /libs/ # 系统库目录
│ ├─ /thirdparty/ # 游戏所用到的第三方库文件
│ ├─ actions.js # 处理用户交互的文件
│ ├─ core.js # 系统核心文件(游戏入口,接口&转发)
│ ├─ control.js # 游戏逻辑控制
│ ├─ data.js # 记录了一些初始化信息
│ ├─ enemys.js # 记录了怪物的信息,包括特殊属性、伤害计算公式、临界值计算等。
│ ├─ events.js # 处理事件的文件,所有自定义事件都会在此文件中进行处理
│ ├─ icons.js # 记录了图标信息
│ ├─ items.js # 道具的使用
│ ├─ loader.js # 动态加载JS代码、图片、音效等
│ ├─ maps.js # 记录了地图信息,和地图绘制等操作
│ ├─ ui.js # UI绘制信息,主要负责绘制各个UI窗口。
│ └─ utils.js # 工具类
├── /project/ # 项目目录,用户需要在这里做自己的塔
│ ├─ /animates/ # 动画目录
│ ├─ /floors/ # 剧本文件,记录了每个地图的数据和事件
│ ├─ /images/ # 所有图片素材目录
│ ├─ /sounds/ # 音效目录
│ ├─ data.js # 全局变量信息
│ ├─ enemys.js # 怪物属性数据
│ ├─ functions.js # 可能会被修改的脚本代码
│ ├─ icons.js # 素材和ID的对应关系定义
│ ├─ items.js # 道具的定义,获得道具的效果
│ └─ maps.js # 地图和数字的对应关系
├── /常用工具/ # 一些常用工具,可以辅助造塔
│ ├─ RM动画导出器.exe # 能从RMXP中导出动画,以供H5使用。 http://github.com/ckcz123/animate_export/
│ ├─ JS代码压缩工具.exe # 能对Javascript代码进行压缩和整合,从而减少IO请求量。 http://github.com/ckcz123/JSCompressor/
│ ├─ 便捷PS工具.exe # 能只用复制和粘贴来快速对素材进行PS操作。 http://github.com/ckcz123/ps/
│ ├─ 地图生成器.exe # 能从一张截图识别出来具体的数字数组,方便复刻已有的塔。 http://github.com/ckcz123/map_generator/
│ └─ 伤害和临界值计算器.exe # 一个能帮助计算怪物的伤害和临界值的小工具。 http://github.com/ckcz123/magic-tower-calculator/
├── /启动服务(mac版).app/ # 启动服务的mac版本。
├── editor.html # 可视化地图编辑工具
├── editor-mobile.html # 可视化地图编辑工具(手机版)
├── index.html # 主程序,游戏的入口
├── main.js # JS程序的入口,将动态对所需JS进行加载
├── style.css # 游戏所需要用到的样式表
└── 启动服务.exe # 一个本地的HTTP服务器,也能支撑前端的一些POST请求从而能拓展JS的IO功能。 http://github.com/ckcz123/mota-js-server/
- 将怪物特殊属性定义和伤害计算函数移动到脚本编辑中
- 地图编辑器可以使用矩形方式绘制地图
- 瞬间移动可以指定存在事件的点(如怪物、门、楼梯等)
- 事件:画面震动
- 事件:更新怪物数据
- 移动事件和跳跃事件增加“不消失”选项
- 获胜结局可以指定“不计入榜单”
- 修改默认bgm
- 修复读档开启战斗动画等Bug
- 大量细节优化
- 适配手机端的造塔页面
- 启动服务的多开版本
- 新增事件:跟随效果
- 怪物数据导出器
- RM动画导出器也能导出音效
- gif播放可随着分辨率自动放缩
- 状态栏可随文字长度自动调整放缩
- 楼传器一次可以翻10层
- 也可以用status:exp来代替经验值的写法
- V键也可以打开快捷商店
- 破炸在周围只有一个目标时无需转向面对它
- 道具效果中,无需再将null改成""才能双击编辑了
- 各个已知Bug的修复,部分细节优化
- 存档采用高比率压缩,单个大小是原来的1/10!
- 默认存档数改成100页500个
- base64上传成绩,杜绝乱码
- 道具栏翻页
- 单击瞬移(菜单栏中开关)
- 重新补上E键打开光标
- 楼层属性增添地下层选项,同层传送至上楼梯
- core.debug()穿墙模式不能穿出地图
- core.values和core.flags也存入存档
- 修复所有已知bug
- 启动服务和便捷PS工具(Mac版)
- 地图编辑器可以右键复制或移动图块
- 事件:while循环处理
- 事件:等待用户操作并获得按键或点击信息
- 地图数据统计
- 衰弱可以减少攻防的比例
- 便捷PS工具可以批量导入素材
- 楼层转换可以直接指定“上一楼”和“下一楼”
- 地图编辑器可以使用滚轮切换楼层
- 除Autotile外均可自动注册
- 支持status:x获得当前坐标
- core.debug()改成调试模式,可以Ctrl穿墙
- 新建地图可以保留楼层属性
- 地图编辑器可用PageUp和PageDown切换楼层
- 提供大量素材,可直接取用
- 重写大部分教程,新增大量拓展描述
- 大量细节进行优化,所有已知的bug进行了修复
- 事件坐标可用变量指定("loc": ["flag:x", "flag:y"])
- 全局商店也可以使用图块编辑
- 高亮显示有事件的格子
- 对于道具和怪物自动注册该列所有未注册的素材
- 便捷PS工具对于白底图片可自动调整为透明背景
- 事件:等待用户点击(type:wait)
- 事件:图片移动事件(type:moveImage)
- 事件:设置BGM音量(type:setVolume)
- 提供core.rand()和core.rand2()两个随机数函数
- 作弊处理(最大有效生命值、匿名则最低成绩上传)
- 自定义状态栏绘制
- 最高六倍速播放
- 播放录像时可以C键查看怪物手册
- 修复标题文字太长导致无法开始游戏的问题
- 新增纯新手简易造塔流程
- 部分效果和性能的优化
- 新增事件:改变勇士行走图
- 楼传器落点设置
- 录像回放从任意存档点开始
- 录像过程中允许存档
- 血网显伤
- 怪物手册显示接下来的临界表
- 重置当前楼层地图core.resetMap()
- 支持部分楼层不允许浏览地图
- 修复部分浏览器无法进入游戏的Bug
- 其他细节优化
- 编辑器添加新建和删除按钮;地图自动保存
- 录像支持倒退(录像播放中每20步存一个节点,最多30个)
- Gif支持:可以作为楼层背景图或者使用显示动图事件
- 图片显示增加淡入淡出效果
- APP端也能下载或读取文件
- 地图临界显伤
- 单个存档清理
- 大数据魔塔的支持
- 进一步对JS文件和图标进行压缩,大幅提高加载速度
- 修复有时候无法输入ID的问题
- 其他细节优化
- 道具使用效果的进一步分离
- 支持插件编写,用户可以根据需求来写插件了
- 文本编辑器支持自动补全和代码纠错
- 部分UI界面发生变化,更加方便和美观
- 所有已知Bug的修复
- 全GUI造塔,现在用户无需打开任何文件直接编辑JS代码了。
- 整体改变目录架构,将数据和逻辑进行分离
- 支持48x32的怪物和NPC素材
- 加点改成系统开关进行处理,怪物手册会列出加点值
- 支持带有血量上限的塔
- 增加前景图片绘制
- 便捷PS工具对于非标准的图片可以自动进行调整
- 录像存储机制进行修改,对于道具记录全ID
- 其他细节的优化
- 改变图块(setBlock事件)。
- 同一个点的多事件处理(做法详见文档)。
- 增加新地图后可以接档而不用重新开始。
- 增加可以接收用户输入的事件(type:input)。
- 滚动字幕;自动剧情文本。
- 可以同时show/hide多个事件。
- 现在可以支持滑冰和推箱子事件了。
- 地图中每个块的可通行方向控制(悬崖效果)。
- 动画支持带旋转和翻转的帧。
- 长按屏幕可跳过对话。
- 现在可以允许用户丢弃道具了(例如不会再使用的装备)。
- 修复行走时按键会发生动画抖动问题。
- 修复无法打开战斗动画的Bug。
- 支持动画。
- 瞬间移动。
- 支持天气系统,可以在剧本中设置默认天气。
- 新增自定义事件-图片显示。
- 同时可以在剧本中设定多个背景素材。
- 剧情文本特性控制,人物的对话框效果。
- 单存档同步到服务器,下载到文件和读取。
- 键盘支持自动寻路操作。
- 浏览地图模式下可以查看怪物数据。
- 未成功打怪和开门则不自动存档。
- 重新支持楼梯穿透。
- 支持多结局,成绩将分开统计。
- 重构全局动画、行走动画和行走检测,大幅提升性能。
- 修复所有已知Bug。
- 增加录像和回放功能。
- 增加统计功能,现在能看到每部塔的游戏人数、通关人数和当前MAX了。
- 增加浏览地图功能,玩家可以快速查看每层楼的地图。
- 现在保存文件到本地,以及从本地文件读档了。
- 可以在全局开关中设置剑盾是否作为装备存在。
- 修复了部分已知Bug。
- 增加虚拟键盘
- 增加自动存档(回退),A键可快速读档
- 修复几处较为严重的Bug
- 支持全键盘操作。
- 支持将某个图片作为某层的背景素材。
- 便捷PS工具支持更改图片色相。
- 支持经验升级(进阶/境界塔)。
- 打败怪物可以进行加点(加点塔)。
- 增加阻击、N连击等属性;在怪物手册有属性显示。
- 支持九宫格领域和大范围领域。
- 增加负伤。
- 支持各种BGM的播放。
- 支持不同层使用不同的地面素材;支持多个Autotile同时存在。
- 许多细节进行了优化,一些已知的Bug进行了修复。
- 新增:本地HTTP服务器。
- 新增:可视化地图编辑工具。
- 新增:便捷PS工具。
- 移除了meaning.txt,现在“地图生成器”将直接从js文件中读取数字和图块对应关系。
- 新增:对Autotile图块的支持。
- 新增:怪物支持多种属性;添加仇恨属性。
- 移除了不再支持的checkBlock,现在对于领域和夹击无需再手动指定可能的点了。
- 新增:单向箭头、感叹号(单次通行)的支持。
- 新增:更多的默认素材,现在对于大多数地图风格无需P图,直接替换即可。
- 添加部分自定义事件,部分细节优化,一些已知的Bug进行了修复。
- 新增:战斗过程显示,可以在设置中关闭
- 新增:勇士支持48*32(大图)的行走图
- 新增:更改画面色调
- 新增:文字显示支持自动换行
- 部分修改状态栏UI
- 增添Web的Markdown文档,移除原本的doc和pdf文档。
- 修复若干Bug。
- 发布初版HTML5魔塔样板
本塔由 ckcz123
(百度ID 艾之葵
)编写。
HTML5魔塔交流群群号: 539113091
如有其它意见或建议,也可以通过发issues、或邮件至[email protected]联系我。