增加薄墙

This commit is contained in:
ckcz123 2020-10-13 14:41:35 +08:00
parent b4ef78911a
commit 9af5a08325
4 changed files with 109 additions and 38 deletions

View File

@ -0,0 +1,71 @@
2.7.2改版和多语言版中做出的功能性改进:
1. terrains.png中追加了14种薄墙图块不可出入方向一致画在非事件层可使勇士和阻击怪无法穿过和仿rm柜台但没有向下延伸绘制的效果。
2. 怪物追加了批量战后事件比照了道具的useItemEvent和其他图块的script此事件对同种任何怪物生效移动/跳跃后依然生效。炸弹只炸面前的情况增加了触发两种战后事件,以方便作者。
3. 怪物追加了攻击勇士的动画,该动画存在时会作为勇士攻击怪物动画的回调,天降强制战斗时则覆盖勇士攻击怪物的动画。
4. 插件编写init中追加了两个API用来将project\enemys.js转换成csv格式或转换回来以方便作者读写希望此思路也用于其他文件如project\maps.js来方便通行性等属性的读写。其中批量战后事件的存储方式参考了自定义录像项的要求即JSON.stringify再core.encodeBase64
5. core.stairExists()改为了始终允许87到94号图块毕竟“不想允许这些图块的作者只需要换别的素材”而“想允许这些图块的作者则不得不魔改/复写函数或者开启平面模式,但该作者未必需求玩家飞回上次离开的位置”。
6. 道具属性移除了equipCondition与canUseItemEffect合并null依然表示不可使用但可装备。装备属性的事件编辑器中提示作者修改cls和设置穿戴条件。
7. 无参的入口方块全部统一比如战后、开门后、两个arrive和公共事件以方便复制粘贴不然老提示入口方块类型不符。doorInfo的开关门时间分成了两个数有些门开关速度作者可能需要不一致。无视地形移动/跳跃勇士挪到了地图处理类因为经常和图块的移动跳跃一起用于演出且都没有碰撞效果。UI绘制的颜色改成了注释的浅紫色各种子场合块的颜色改成了入口方块的深紫色以和地图处理类的浅蓝色相区分。
8. 修复了Math一元运算值块转换为json时的语法错误追加了部分函数。drawTip事件追加了第几帧的参数。
9. 玩家设置中追加了左撇子模式开启后wsad起方向键的作用ijkl起原wsad的SL作用以方便键鼠并用。
10. 移除了部分引用极少的函数如仇恨怪详情、claerTip和tryUseItem改成了直接inline从道具栏使用道具失败时不再closePanel以方便玩家继续选择其他道具破炸冰这三个先斩后奏的就没办法了
11. 快速追加npc48一键绑定朝向改为只绑定最后四个以免影响前面可能的单朝向npc
12. 事件层为自动元件或tileset且没有碰触脚本时该点前景层不再虚化272改版里若某点只有前景没有事件会出bug多语言版里已修复以保证观感的统一。
13. 阻激夹域捕捉的显伤排除了不可通行点以保证观感。修复了零伤阻击点无法阻拦瞬移的bug并交换了阻击怪后退和捕捉怪移动的次序。相关的canMoveHero中勇士生命改为至少视为1从而修复了canGoDeadZone为false时空血不能行走的bug。阻激夹域血网的伤害tip文案进行了优化现在会读取实际的图块名称和怪物特殊属性名称并区分激光的横纵。
14. drawChoices选择灰项增加了音效此音效还用在了其他类似的场合。希望样板多一些这样的小细节并提供rm那样的映射表来修改音效而不是只能替换文件毕竟替换文件有格式限制。样板的很多系统行为缺少音效如开关菜单等系统UI时、闪烁光标和黄框位置变化时。建议能提供的都提供出来胖老鼠和新新那么多音效有了解包出的文件还难以还原不丢人么。样板3层和h5胖老鼠对话靠的还是无数手动播放音效录像高倍速播放如果听感不好的话可以忽略。
15. 放宽了音频文件的格式限制如追加了m4a、m4r、flac等毕竟作者可能会选择其他的渠道传播。
16. animate这个后缀名修改为了json以方便文本编辑器等程序去识别另外某些h5游戏网站在发布时会限制上传的文件格式使用标准后缀也有利于作者。
17. flyTo中修改了楼层属性flyPoint的生效方式改成了作为stair参数生效而不是覆盖heroLoc两个相关事件的stair下拉框也提供了flyPoint项。
18. 楼层属性canFlyTo拆成了两项即canFlyTo和canFlyFrom以方便作者个性化。
19. getSpecials由yzm优化了配色优化了固伤属性的描述可被负伤抵消
20. 难度单词为空字符串时显示“竖屏数字键”以提示竖屏玩家。另外希望修复读档等场合红一下的bug
21. getToolboxItems提供了一个修改排序方式的例子作为注释并说明了用法。
22. project\icons.js中给勇士追加了midFoot表示第三帧并用于两种行走动画暂不包括F7的绘制此功能建议要么merge要么作为系统开关让作者取舍毕竟复写起来要改的函数还挺多而且需要厘清一些逻辑关系其他图块移动时的帧切换频率改为了全局帧动画的三倍以优化观感。
23. 事件编辑器中图块id自动补全追加了图标感谢ad更新了atkValue、defValue、range和n等的表格注释。
24. 修改了formatBigNumber对±∞的处理方式现在它们也会变成???了。另外建议把onMap参数细化为有效数字的位数以供作者更灵活地使用。
25. P键和通关url的&num=10改成了&num=1以方便玩家翻阅到评论区。移除了equip.mp3穿脱装备改为播放centerFly.mp3
26. 追加了公共事件版全局商店“快捷换装”以方便手机端,该事件的对话框可以再更透明一点来方便玩家边换装边观察地图显伤。
其他issues
0.1008加入一个flag来控制当前是否允许存档因为天气色调bgm进存档的情况下会屏蔽楼层切换不进存档的话玩家原地SL又不保留。录像播放中加一个百分比二次录制长度/原录像长度)显示,并且允许在已播放的任意节点之间快退快进。
1. 希望尝试修复2.6.x的高清UI、自动元件通行性勇士和阻击怪可在同种图块内部自由通行但进出另一种图块则必须通过桥梁、仿rm光照和负色调含true-light.js等插件并加入样板2.7.2发布以来插件库有了一些新插件也希望加入该修的bug要修比如什么==NaN
2. 部分rm功能确定键触发很多作者可能会摆一些挡路的可通行事件但又希望可以像绿点一样穿透比如因为目标层/点有分歧而不能用绿点只能用红点的楼梯那么就需要勇士站在此点按下轻按键7或其他什么数字键来触发该事件、斜向移动插件库的磁铁特效但blockly中的步伐口诀语法需要调整最简单的调整方法是1不许省略这样连续两个汉字就一定表示一个斜向了还不影响接档三行二列的自动元件、流体草木茂盛处、梯子勇士始终脸朝上、柜台的绘制视频播放动画多音效可先不修改动画编辑器和导出器给animate/json文件约定好语法并被drawAnimate/drawHeroAnimate执行即可音频的变调变速和声道偏移、bgs目前只能由作者自行用插件实现和me播放时bgm暂时淡出另外建议提供bgm播放进度读写、多个bgm独立调节音量的API和事件以及一个bgm循环插件思路是事先约定每个bgm的循环起止点并行检查是否越过终点越过则跳转至起点。
3. 希望cannotMove深蓝点的高亮方式优化显示出具体的禁行方向如果嫌遮挡可以提供一个按钮切换高亮方式而不是只显示个深蓝点。另外cannotMove目前只控制out不控制in建议追加in
4. 拖文件快速追加功能建议实现对RMVA规格的完整支持即遇到四行三列图片时取两帧则取左右列、取四帧则按2123排布items.png则支持任意宽高如拖动一张480*480px的tileset图片到items.png则追加225个道具
5.插件开关目前所有插件都以var enable = false;这一难看的句子开头,且从表格难以一眼看出哪些插件被启用了,建议提供集中的勾选框。
6.drawTipV2.6.4的多重tip建议优化后重新加入样板目前在事件中一次被npc给予多个道具还是很难看清楚的比如样板1层给1破2炸3飞的老人。另外drawTextContent下缘丢失的问题在iOS safari依然很明显。
7.表格优化很多表格项的英文名本来能显示完结果结尾多出三个点反而导致显示不完如afterChangeFloor和updateCheckBlock建议优化。顺便说一下编辑器的右键菜单和快捷键仍然经常失灵夜间模式在edge无法使用ground层经常消失。
8.文件注册动画预览时的音效名依然需要手打不过可能也不方便做下拉框文件太多或二级大弹窗了。同理nameMap建议拆散到各个文件注册的多选框中每行提供一个额外的文本输入框“别名”即可目前的实现好多人不知道怎么用。另外楼层属性bgm和标题画面bgm等本来是下拉框的场合建议改成弹窗选择。
9.完全信息坚固怪和受光环影响的怪建议在详情框显示其原始能力尤其是坚固和模仿其实它们手册一级面板显示原值对玩家来说才是魔塔倡导的完全信息变化后的值可以轻易口算。同理楼传界面和浏览地图建议加一个按钮可以是插件来切换显示一些楼层属性如上下楼点、楼传落点、本次楼传落点这些点可以在地图或缩略图用不同颜色高亮显示、ratio、ground的图标、几个勾选框、宽高、有无两个arrive事件、色调尤其是是否为不透明的纯色等。另外浏览地图界面的非缩略图建议像编辑器一样加上高亮刻度尺表示所在第几行第几列此灵感来自秋橙的3D塔每走一步在状态栏实时显示xyz
10. ui._drawCenterFly建议在大地图时也提供缩略图方式显示可以做成可当时切换以方便玩家。
11.显示文章建议双击或右击菜单中同时预览所有立绘现在一次预览一张图还是很不直观的。同理其他一些被占用的功能也可以放进右击菜单比如动画选坐标和跳跃选起点已被z触完成、UI多行文本绘制预览现在必须塞进黄框
12. “接受用户输入非负整数”建议改为魔塔样板4401的楼传那种界面五个按钮分别负责切换数位在当前位加减1和确定并由作者指定位数以优化观感和安全性且方便玩家。或者改成十个数字键和一个退格键也不错
13. 建议新增大批一元和二元运算的Math和字符串等值块一元如“typeof、formatBigNumber、en/decodeBase64方便解谜元素防止玩家看答案、getEquipTypeById、rand、rand2(对标rm)、length、strLen、calValue用于循环遍历、toLower/UpperCase、trim、isFinite/NaN/(Safe)Integer建议配置表格里那一堆~~都改成这个规范的)”等,并把“非(!)”也放进下拉框。二元如“clone/subArray、matchWildcard、char(Code)At、(last)indexOf、replace(All)、starts/endsWith、includes、toFixed/Exponential/Precision这个最好再进一步封装转换回数字js这些函数返回是字符串”等。g4文件结尾的FixedId_List建议增强到可以由作者更方便地在编辑器中追加目前pc端只有开文件追加还算容易但仅限对于高级用户另外此List的量都是可读写的但有些只读量也同样重要如MAX_VALUE、MIN_VALUE、EPSILON、MIN_SAFE_INTEGER、MAX_SAFE_INTEGER等建议提供为另一个下拉框。
14.后端建议尽早适配服务器发塔前babel如果一时做不到建议在flag、global等冒号缩写量中检查是否使用了js保留字以免压缩出问题。1008并采用闭包压缩方式注意要处理window.flags等以一定程度上防止控制台作弊。
15.循环增强建议增强break和continue事件使其能跳出指定的层数js和java都可以带标号的
16.横屏建议增加悬停和鼠标划过等action意义很大比如强化地图显伤和选择项提示。
17.(事件栈帧)建议公共事件尽早加入调用栈迹和返回值系统,目前嵌套调用参数覆盖问题和递归调用返回值覆盖问题不是闹着玩的。
18.(参照阻击)建议给推箱子增加推的动画,以优化观感且避免推到重生怪等隐藏但不删除的位置消失。
19.仿rmxp魔塔夹击点尤其是只有夹击的点因为伤害可以由玩家口算建议把显伤改为或追加rmxp魔塔的电光效果此效果的变动频率比全局帧动画更为频繁《盖伦排位记》也使用了此效果。同理大范围领域/激光的大量相同数字也不好看272改版中已经一定程度上优化改为美术效果更好。
20.毒衰咒处理V2.6.x的公共事件法的缺点在于打断寻路而V2.7改成脚本编辑后也许矫枉过正。事实上毒和咒起的是个开关的作用,实际效果要到走路和战后才有效,真正麻烦的只有衰。
21.QTE功能增强希望加强QTE功能在玩家操作时将剩余时间计入flag和录像以便作者根据玩家的操作区间做不同处理如音游而且知道剩余时间还有一个最基本的用法是再等待这么久以使得总的等待时间不变来和其他演出效果同步。
22. 希望type:"wait"事件的场合块增加一个break勾选框
留到2.7.3才能做的issues
0. sprite化单图层任意尺寸、帧数且能运行时动态修改色相和透明度的图块动画内嵌全屏闪烁、多音效、图块闪烁色调的其他叠加方式普通、加法、乘法、屏幕以适配rm导出的黑底动画另外希望推出rm其他版本数据到mota-js的导出器。
1.来自github编辑器和运行时的缩略图任取一片正方形网格区绘制并配合wsad键滚动浏览而不是只能绘制全景并因为长宽不相等而留下黑边。此需求对长卷式横/纵版大地图如13*128、128*13很有意义。
2.来自github编辑器的地图区能任意放大而不是写死的416*416或480*480否则以120*120地图在15*15样板为例每格只占4*4px难以绘制和查看。
3.来自github对话框的淡入淡出主要用于不可被ctrl跳过的“自动剧情文本、确认框、选择项、UI绘制”和系统UI如esc菜单、手册、道具栏、装备栏、楼传页面、SL页面即可。
4.来自github高清UI运行时横屏放大到2x后UI尤其是文字的逻辑分辨率也应当相应地扩大为834*834以免模糊。相应的windowSkin图片规格也可以一起扩大。
5.长方形样板建议样板尽早将core.__SIZE__等常量分为横竖两个量并推出没有目前这种独立状态栏不管dom还是自绘的版本不一定牺牲竖屏但同时支持纵横两个方向的大地图可能需要额外的适配以实现@幻灵 等人提出的更好的演出效果如在地图上任意位置使用事件流完全自绘状态栏的同时还能享受天气色调动画wait事件。
6.楼层属性、图块属性编辑和查看的增强cannotIn/Out/Move、canPass/Break、hideInXxx的设定和显示建议提供像rm一样集中的UI而不是要一个一个图块/点去看。同理notBomb建议进special同时special中没有额外value的属性本质上是个开关也应当像上述一样提供集中的UI。楼层属性的五个勾选框和ratio等也同理只不过没法像图块一样绘制出来而只能写个floorId. 这样我们就可以方便地查看“哪些怪物有先攻、魔攻、坚固、夹击、无敌、免炸哪些楼层是地下层、不可浏览等”并进行批量的修改。怪物已经有了一定程度上的替代方案即转换为csv
7.小工具建议再次增强便捷ps工具扩大窗口大小目前只能显示5列对tileset、多帧autotile很不友好、实现任意单位宽高、框选一片网格批量复制粘贴单个网格的复制粘贴建议直接简化成拖动、任意纯色底转透明具体色号可让作者输入并增加“删除一列”操作很多作者误点“增加一列”但事实上增加列的功能一般只对新建的图片有意义同时把复制粘贴的快捷键明确提示为C和V.
8.接上这条不一定是个需求先讨论一下rm的“观赏层面斜俯视视角”决定了在形如楼顶的位置时角色双脚紧贴图块下缘会不够好看因此它们约定了“除以叹号开头的行走图文件名如门其余角色实际绘制时会偏上几像素”。反之柜台属性的图块则会将其所在tileset图片中向下延伸几像素也就是另一个图块一起画出。但实际表现中这个偏上的行为在形如沙发靠背前景层的位置处会带来角色头发被遮挡的后果且也未必适合纯俯视视角的地牢风魔塔野外风的RMMV魔塔《盖伦排位记》使用了传统素材如宝石、骷髅、史莱姆、卫兵、蝙蝠等但依然没有使用叹号行走图请参考。
9.脚本编辑优化建议合并win和lose及对应的事件gameOver不就是根据有没有reason判断输赢么。建议合并“开门后、道具后、推箱子后”根据id判定具体是哪一种。getStatusLabel和drawStatistics这两个函数只有一条返回语句且返回的分别是常对象和常数组建议不作为函数而作为firstData的常量drawAbout建议公共事件化以方便脚本零基础作者编辑进录像就进录像吧或移出脚本编辑. getToolboxItems加入脚本编辑意味着hideInToolBox失去意义因为个别不显示的道具主要是因为无法主动使用或已有专门的使用按钮也不需要玩家随时确认数量完全可以在此函数中枚举其id所以建议移除该勾选框。
10.编辑器X键菜单的优化noPass、是否初始启用、是否显伤这些应当是一个点而不是一个普通事件的性质事实上该点可能根本不需要普通事件建议移出普通事件而作为X键菜单的项同时注意到cannotMove只控制了out而没有控制in建议追加如前所述这种多选框建议不要只显示个深蓝色点而应该显示具体的方向
11.事件编辑器增强希望研发出rmmz的“批量测试一段事件”功能其实就是insertAction但希望操作起来更方便并且提供全部图文类事件尤其是显示文章、选择项、确认框和移动跳跃事件路线的预览。
12.事件分类setGlobalAttribute和setGlobalValue事件建议合并不然事件菜单一页显示不完所有绿色事件块useItem和loadEquip同理。“等待三姐妹”建议移出特效声音类不然显示不完。“绘制Xx”和“绘制Xx边框”建议合并加一个勾选框“是否空心”即可。“接受用户输入文本”建议除弹窗外也提供另一种界面即rm的字母文字语言虚拟键盘界面虽然只能用于英文、日文、希腊、俄语等语言。
13.研究性内容并行脚本在直到V2.6.x在内的很长一段时间内被称作“并行事件”但它一直没能像Rpg Maker一样是个真正的“事件”主要难点除了打断寻路以外在哪里如果有办法把打断寻路的问题解决掉样板很多东西值得事件化包括但不限于getDamageInfo、drawStatusBar等。此需求和魔塔的时间无关性并不矛盾rm魔塔和V2.6.3及其之前也有很多用并行的。
14.研究性内容但很严肃thinerDAS在论坛晦涩地提出了一系列录像攻击问题其核心就在于他认为“刷榜乃至拆h5塔的核心是拥有绿色录像”。我这里暂且不评论这种思想是否正确但这系列问题的根本原因就在于录像录制的内容依然不够纯粹依然不是纯粹的操作路线。比如说使用楼传被录制为“fly:MT0”但如果录制的是“Gupupspace”这样的按键序列还会有这种问题吗因此我建议大幅重构录像系统让其尽可能接近“由另一个完全不会拆塔的人照着视频操作”的程度。这样做也有助于最大程度上避免“一个塔更新以后路线其实没变但录像播放不过去很多情况下是因为布局微调或者drawChoices顺序错位其中后者记录选项名就可能比记录索引更安全”的问题。
多说一点我想录像验证系统的本意是营造一个“偏否”的蒙特卡罗算法即绿榜一定可不作弊玩出红榜小概率可不作弊玩出。但当下的实际情况是绿榜不一定可玩出有的是因为rand尤其是rand2导致可玩出的概率太低有的是因为global、QTE或其他原因导致原则上就不可玩出红榜可不作弊玩出的概率又因塔而异而且上界可能很大这个问题需要好好处理。
关于后端这里附加两条issue一是云造塔开放公测并且双向云同步不能同步的话实用性很差二是玩家在自己的个人中心的提交记录的“下载录像”按钮旁边加一个“公开此录像”按钮公开后其他玩家查看该玩家的提交记录时也可以下载此录像也就是一个小小的分享功能。

View File

@ -30,30 +30,30 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
},
"terrains": {
"ground": 0,
"grass": 1,
"grass2": 2,
"snowGround": 3,
"ground2": 4,
"ground3": 5,
"ground4": 6,
"sand": 7,
"ground5": 8,
"yellowWall2": 9,
"whiteWall2": 10,
"blueWall2": 11,
"blockWall": 12,
"grayWall": 13,
"white": 14,
"ground6": 15,
"soil": 16,
"ground7": 17,
"ground8": 18,
"sWallT": 1,
"sWallL": 2,
"sWallR": 3,
"sWallB": 4,
"grass": 5,
"sWallTL": 6,
"sWallBR": 7,
"grass2": 8,
"sWallTR": 9,
"sWallBL": 10,
"ground2": 11,
"sWallTB": 12,
"ground3": 13,
"sWallLR": 14,
"blueShopLeft": 15,
"sWallBLR": 16,
"pinkShopLeft": 17,
"sWallTLR": 18,
"ice": 19,
"downFloor": 20,
"upFloor": 21,
"blueShopLeft": 22,
"sWallTBR": 22,
"blueShopRight": 23,
"pinkShopLeft": 24,
"sWallTBL": 24,
"pinkShopRight": 25,
"arrowUp": 26,
"arrowDown": 27,

View File

@ -221,22 +221,22 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"279": {"cls":"enemys","id":"grayPriest"},
"280": {"cls":"enemys","id":"greenGateKeeper"},
"300": {"cls":"terrains","id":"ground"},
"301": {"cls":"terrains","id":"grass"},
"302": {"cls":"terrains","id":"grass2"},
"303": {"cls":"terrains","id":"snowGround"},
"304": {"cls":"terrains","id":"ground2"},
"305": {"cls":"terrains","id":"ground3"},
"306": {"cls":"terrains","id":"ground4"},
"307": {"cls":"terrains","id":"sand"},
"308": {"cls":"terrains","id":"ground5"},
"309": {"cls":"terrains","id":"yellowWall2"},
"310": {"cls":"terrains","id":"whiteWall2"},
"311": {"cls":"terrains","id":"blueWall2"},
"312": {"cls":"terrains","id":"blockWall"},
"313": {"cls":"terrains","id":"grayWall"},
"314": {"cls":"terrains","id":"white"},
"315": {"cls":"terrains","id":"ground6"},
"316": {"cls":"terrains","id":"soil"},
"317": {"cls":"terrains","id":"ground7"},
"318": {"cls":"terrains","id":"ground8"}
"301": {"cls":"terrains","id":"sWallT","name":"薄墙-上","cannotOut":["up"],"cannotIn":["up"]},
"302": {"cls":"terrains","id":"sWallL","name":"薄墙-左","cannotOut":["left"],"cannotIn":["left"]},
"303": {"cls":"terrains","id":"sWallR","name":"薄墙-右","cannotOut":["right"],"cannotIn":["right"]},
"304": {"cls":"terrains","id":"sWallB","name":"薄墙-下","cannotOut":["down"],"cannotIn":["down"]},
"305": {"cls":"terrains","id":"grass"},
"306": {"cls":"terrains","id":"sWallTL","name":"薄墙-上左","cannotOut":["up","left"],"cannotIn":["up","left"]},
"307": {"cls":"terrains","id":"sWallBR","name":"薄墙-下右","cannotOut":["down","right"],"cannotIn":["down","right"]},
"308": {"cls":"terrains","id":"grass2"},
"309": {"cls":"terrains","id":"sWallTR","name":"薄墙-上右","cannotOut":["up","right"],"cannotIn":["up","right"]},
"310": {"cls":"terrains","id":"sWallBL","name":"薄墙-下左","cannotOut":["down","left"],"cannotIn":["down","left"]},
"311": {"cls":"terrains","id":"ground2"},
"312": {"cls":"terrains","id":"sWallTB","name":"薄墙-上下","cannotOut":["up","down"],"cannotIn":["up","down"]},
"313": {"cls":"terrains","id":"ground3"},
"314": {"cls":"terrains","id":"sWallLR","name":"薄墙-左右","cannotOut":["left","right"],"cannotIn":["left","right"]},
"315": {"cls":"terrains","id":"sWallBLR","name":"薄墙-下左右","cannotOut":["down","left","right"],"cannotIn":["down","left","right"]},
"316": {"cls":"terrains","id":"sWallTLR","name":"薄墙-上左右","cannotOut":["up","left","right"],"cannotIn":["up","left","right"]},
"317": {"cls":"terrains","id":"sWallTBR","name":"薄墙-上下右","cannotOut":["up","down","right"],"cannotIn":["up","down","right"]},
"318": {"cls":"terrains","id":"sWallTBL","name":"薄墙-上下左","cannotOut":["up","down","left"],"cannotIn":["up","down","left"]}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 20 KiB