[预告&半直播] 还原度最高的《植物大战僵尸》
scratch吧
全部回复
仅看楼主
level 13
嗯,就是这样,做了个还原度极高的植物大战僵尸。目前只做了一点基本的机制。
一楼祭天。
2024年08月16日 11点08分 1
level 13
所有贴图都是基于囧姨发的gif合集描成的矢量图,目前已经准备好了所有植物的贴图,僵尸的贴图只准备了普僵、路障、铁桶和旗帜。动画全部采用简单的程序动画(只能改变位置、缩放和亮度等)
音频、背景等许多素材均提取自pvz年度加强版,文本我准备大致以pvz汉化第二版为准,修改细节(例如:忧郁蘑菇 => 忧郁菇)。
所有数据均来源于植吧前辈们整理出的各路资料,以及.net版和pvz emulator的源码
2024年08月16日 11点08分 2
为什么要描图呢,直接用fla导出的图像序列不好吗…况且这个飘来飘去的动画属实有点怪
2024年08月16日 12点08分
@遧傂鼝 光囧姨的gif就有将近100MB,加上其他一些动画我都不敢想得多大……另外白边和分辨率的问题也很难绷,我自己按需求导出一遍还不如重画一遍
2024年08月16日 14点08分
@☞看破◆苍穹☜ 分辨率这一点确实,但既然已经使用了草坪贴图,植物贴图质量不会更差;我之前整过49植物去掉空闲动画一共大概600多造型,单个植物平均不到100KB。就算加上僵尸行走以及啃咬,应该也到不了100MB。主要是我觉得在有现成素材的时候还自己画一遍有点太浪费开发时间了
2024年08月17日 02点08分
另外我挺好奇能不能实现套路窝瓜、套路巨人等一系列操作[滑稽]
2024年08月17日 02点08分
level 13
虽然目前只做了个开头,刚做好四种植物,但我还是先把特别鸣谢放在这:感谢各位植圈大佬提供的帮助,七列大喷(音乐),零度,向量,渐强等等许多人,@不在宝前等植吧的前辈们留下来了珍贵的数据,以及pvz wiki的编写者们。
感谢.net版和pvz emulator,感谢asm vs zombies,感谢指针表,感谢pvz toolkits,感谢囧姨整理的gif合集,感谢……
sc这边,感谢(工具人)允某帮我计算指数衰减插值公式,酷可mc、simple等人提供了关于sc一些奇怪特性的帮助,一些实用插件(如图层排序算法的指路),我忘了具体都有谁了……
2024年08月16日 11点08分 3
本来想把这群人都艾特一遍,感觉太麻烦了。。。而且跨圈艾特感觉有点别扭(
2024年08月16日 11点08分
居然是零度和渐强,神[真棒]
2024年08月17日 11点08分
level 13
我好不容易搞出来的gif在手机上一看怎么这么诡异。。。
2024年08月16日 14点08分 4
level 6
我记得pvz有人搞过完成度很高的呀?[疑问]
2024年08月16日 21点08分 5
arkos做的那个吗,那个且不说各种机制和数据都是瞎写的,单论完成度也只能说根本没法玩。。。
2024年08月17日 00点08分
@☞看破◆苍穹☜ 毕竟在某营代码一多就崩也是没办法……
2024年08月17日 02点08分
level 6
nb!!(`・ω・´)
pvzer狂喜[吐舌]
2024年08月17日 11点08分 6
level 6
话说数值都差不多么[疑问] se和ize玩家表示对数值很敏感_(:з」∠)_
2024年08月17日 11点08分 7
数值是等价换算的,由于sc特性(以及我的偷懒)会有一些较小的差异
2024年08月17日 15点08分
话说现在还有人用se这词吗(
2024年08月17日 15点08分
@☞看破◆苍穹☜ 顺带一提,sc多半是打不了超多炮的,能够稳定实现的最精确的操作可能就是空炸了,精舞那种精度的操作哪怕用按键精灵(甚至注入脚本)也不太可能稳定复现
2024年08月17日 15点08分
level 13
做好了土豆地雷,又画了个铲子(这个铲子只能拿起来,还没做铲除功能)
另外修缮了一下框架,兼容60帧了(貌似不开编译卡到爆。。。不知道是bug还是单纯的性能问题)
又封装了一些鼠标相关的功能,现在可以检测鼠标右键和改变光标样式了(支持tw和ccw,原生sc没有这些功能)
顺带一提,土豆的啃食判定是:土豆地雷只有在状态为pm wait(生长)时才能受到啃食伤害,也就是说可以像原版一样通过pss(一个bug)卡出耐啃王牢雷[滑稽]
2024年08月17日 12点08分 8
level 7
您用的是英文的啊,我也在用
2024年08月17日 15点08分 9
level 13
实现了铲除功能。
我一直以为铲子是根据每个植物的大小挨个特判的,一测试才知道是按格判定的。。。
另外拿起铲子、放下铲子、铲除、音效这些玩意拆开写在了两个不同的地方,史山预定
2024年08月18日 14点08分 10
level 13
寒冰射手和减速效果做好了。
顺便整理了一下框架:原先有一个单独的角色专门用来播放音效,现在我把它给删了,音效由各个克隆体自己播放,能有效避免音调错乱的问题。其实“所有音效由一个角色播放”是从冬狼那继承来的传统,冬狼整个游戏就仨音效来回用。。。
另外现在支持60帧了。
不过现在最大(甚至最绝望)的问题是性能。场上种一堆豌豆、十多个僵尸的情况下,开着编译都已经跑不满60帧了。。。
将来无尽模式同屏最多大约一百多僵尸,我都不敢想会卡成啥样。。。。。。
2024年08月18日 19点08分 11
level 13
把能想到的地方都优化了一下,但差别似乎不大。。。
好消息是帧率似乎有望稳在30,坏消息是只是“有望”。。。
开始做撑杆了。
2024年08月19日 11点08分 12
level 13
现在艾维斯幻吧的热度恰好等于大帝,望周知
2024年08月22日 10点08分 13
level 13
sc pvz alpha2 已发布于共创世界。
2024年08月22日 16点08分 14
level 13
这个大嘴花的动画做得我欲仙欲死。。。
但看见成果还挺爽的(
双发则是几分钟就做完了,最简单的一集。
顺带一提改了撑杆动画,奔跑状态下的撑杆会一跳一跳地表示它速度快。
现在性能已经相当成问题了,随便一演示都得狠狠掉帧,这个视频里几十个铁桶几十个豌豆从60帧掉到稳不住40帧。
我能想到的优化方案是用二维数组粗略保存每个植物和僵尸的位置供粗判断,不需要让所有植物/子弹/僵尸每帧都遍历整个对象池。但sc做数据结构的效率懂的都懂,我也不敢说这玩意真能起到什么明显的优化作用,最终不负优化我就谢天谢地了。。。
最要命的是我不敢给出“两者不相碰”的必要条件,我给出了可不敢保证它必要,万一最终因为这个优化阻断了本来该有的碰撞判定可就坏菜了。所以这个优化我还是不敢做。
另一个办法是按行保存每行植僵的索引,这样理论上讲遍历量可以缩减到1/5左右。。。
大概吧。
判断所在行在碰撞检测中是很早就进行的一个判定,如果行不符合直接就会continue掉这个对象,就算减少了遍历量我也不敢说它就能省多少性能。况且维护这个列表本身就需要不少额外的开支。就怕忙得满头大汗最终被迫回滚,而且sc这玩意用不了git之类的东西,为了回滚,改的过程中不能动任何其他东西。
2024年08月25日 21点08分 15
1 2 尾页