加工塔防的更新
JavaScript(18), 处理-JS(9)John Resig足够慷慨提及加工塔防,我决定通过添加大缺失的功能:塔升级和不同类型的蠕变来简要庆祝今天下午。
闲逛,然后如果你对细节感到好奇,那就回来了。
爬行
现在有四种类型的蠕变:正常,fiz,buzz和fizbuzz。如果你是程序员,那可能就足以让你发生在他们发生的时候,但如果没有它只是一个微薄的笑话。在Waves上发生的FizBuzz蠕动是通过十五的,在波浪上发生的嗡嗡声蠕动已被五个(除了十五的那些除以那些被十五的人),在Waves上出现在三个(可被十五的那些)除外,在所有其他波浪上发生正常蠕变。
以下是这些新类型蠕动的差异:
var.fizcreep.=功能(海浪){var.FC.=蠕动(海浪);FC.。颜色=颜色(0.那255.那255.);FC.。尺寸=FC.。尺寸*1.3;FC.。生命值=FC.。生命值*2;FC.。价值=FC.。价值*1.5;FC.。速度=FC.。速度*0.75;返回FC.;};var.Buzzcreep.=功能(海浪){var.公元前=蠕动(海浪);公元前。颜色=颜色(100.那150.那50.);公元前。速度=公元前。速度1.5;公元前。生命值=公元前。生命值。75.;公元前。尺寸=公元前。尺寸0.9;公元前。价值=公元前。价值1.25;返回公元前;};
var.fizbuzzcreep.=功能(海浪){var.FBC.=蠕动(海浪);FBC.。颜色=颜色(255.那100.那150.);FBC.。尺寸=FBC.。尺寸1.5;FBC.。生命值=FBC.。生命值10.;FBC.。价值=FBC.。价值*10.;返回FBC.;}
换句话说,Fiz有很多惠普,很慢。Buzz很快,但用较低的HP,FizBuzz是极其强硬的老板。此外,它们每个都有自己的波代码:
var.fizcreepwave.=功能(设置){var.FCW.=蠕动Wave.(设置);FCW.。spawn_creep.=功能(){fizcreep.(这。海浪);}放。蠕动_variety.=“fiz蠕动”;返回FCW.;};var.Buzzcreepwave.=功能(设置){var.FCW.=蠕动Wave.(设置);FCW.。spawn_creep.=功能(){Buzzcreep.(这。海浪);}放。蠕动_variety.=“嗡嗡声蠕动”;返回FCW.;};
var.fizbuzzcreepwave.=功能(设置){var.FCW.=蠕动Wave.(设置);FCW.。其余的=1;FCW.。spawn_creep.=功能(){fizbuzzcreep.(这。海浪);}放。蠕动_variety.=“fizbuzz蠕动”;返回FCW.;};
几乎只是Botherplate的原始蠕动波的延伸,除了FizBuzzcreepwave只产卵只会爬行(因为它很难杀死)。
塔升级
塔升级有点令人生气,完全是因为我使用HTML小部件汲取了大部分UI(因为文本渲染支持对于画布限制了我达到的决定)。无论,他们都在工作。要升级塔,请单击它,然后使用右侧显示的升级按钮(其当前统计信息下方)。
两座塔升级有点不同。首先让我们看看导弹塔。
公吨。升级=功能(){如果(放。金子> =这。upgrade_cost.){放。金子- =这。upgrade_cost.;这。upgrade_cost.=这。upgrade_cost.*2;这。损害=这。损害*1.5;这。set_range.(这。范围+0.5);}}
它的射击率根本不改善,但其范围随着每次升级而大大增加。它的损坏不会像激光塔一样快速增加,但由于其初始损坏的初始损坏较高了这并不重要。
接下来,在激光塔上一瞥。
LT.。升级=功能(){如果(放。金子> =这。upgrade_cost.){放。金子- =这。upgrade_cost.;这。upgrade_cost.=这。upgrade_cost.*1.5;这。损害=这。损害*2.0;这。set_range.(这。范围+0.25);这。reload_rate.=这。reload_rate.-10.;}}
激光塔的损坏速率很快,其范围也向上移动了一点。此外,其重新加载率下降10毫秒,每次升级(它始于250毫秒的重新加载率),这是一种方便的改进。如果您设法将激光塔升级二十五次,那么每次处理渲染循环时都会发出新的激光。然后,帧率仅为每秒60帧,因此它实际上可以通过仅限二十四个升级来解决其有效的射击率。
未来
嗯,我从来没有真正打算继续在PTD上工作,但它有点沉闷的游戏,我认为我会让任何不幸的人都稍微令人兴奋地找到它。再一次,我真的没有明确的持续工作的意图,但如果有人特别感兴趣,可能会发生。
我可能想要实施的东西,没有特别的顺序:
更多塔式类型。可能涉及小椭圆(嘎嘎作响的东西)和大椭圆(大炮)。另外一些战术塔不太难以实现(减慢,损坏,塔式增强剂等),也会为游戏增加一些兴趣。
更多类型的蠕变波。有时释放蠕变。有时有修复蠕变类型。
改变入口正方形的数量,加倍或三倍的蠕变数。
更多街机类型元素,例如必须是玩家控制等的强大塔。
很高兴有一个高分的板,虽然它是绝望的不可能信任,因为Firefox的任何人都能打开控制台并刚提交分数。您可以对这些事情进行比较棘手,从塔/剩余金数等等,否则预期的分数等等,但无论反作弊的复杂程度如何,我都无法想象通过“五分钟浏览”测试JavaScript程序员。这肯定是开发JavaScript游戏的弊端之一。
用于蠕动的Pathfinding AI。如果蠕变偶尔这样的蠕变,这将是很好的,而不是直线走。
我真的很享受支持立即显示多个塔杀戮地区。看到您的塔楼的完整覆盖范围。
无论如何,希望游戏现在有点比较有趣。