移相器开拓者

新项目为饥饿的开发人员带来了新的机会。 我们在布雷克(Blake)的所有站点都使用相同的Javascript框架,该框架已经并且将继续为我们服务。 从Flash的废墟中汲取灵感的Caper,它基于CreateJS框架,它使内容团队可以在iPad成立初期为孩子和父母创建有趣而充满活力的活动。 但是,时间在移动世界中飞速发展,如今的电话正变得与过去十年中的计算机一样快。 它为具有更多活动部件,更复杂的游戏机制和更高分辨率图形的应用程序打开了市场。 当一个新的机会摆在我们的桌子上时,我们就抓住了机会。 通过一个小的研发阶段,我们决定使用Phaser。 Phaser在HTML5游戏世界中赢得了自己的名声,将Javascript作为一种可行的游戏语言在当今以移动设备为中心的世界中崭露头角。 因此,利用从Caper中学到的经验教训,我们已经开始研究Jester,这是我们即将发布的新项目活动的全新活动框架。 Phaser的主要吸引力之一来自我们在CreateJS和Caper手上遭受的割伤和挫伤,尽管最终结果是团队创建有趣活动的强大工具,但花了很长时间才能达到目的。 不断发展的框架的后果之一就是遗留代码。 在前进的过程中,我们需要继续满足早期的经验教训。 这意味着要么持续重建,要么谨慎谨慎地进行改造。 考虑到数以百计甚至数以千计的数学和阅读游戏,我们的决策着重于后者。 遗留代码是每个开发人员在职业生涯中必须处理的事情,这就像神秘的错误和对我们代码猴子的最后期限造成的压力一样不可避免。 我们几乎不习惯使用或遗忘了我们太害怕接触的类,而且由于影响大量的旧代码,因此正在不断努力更新核心引擎,事实证明这很困难。 尽管对于我们正在努力的团队来说,这仍然是一个关键问题,但是重新开始的吸引力实在是一个很好的机会。 Phaser提供的社区是该引擎框中的又一个重要标记。…

RoguePG-程序生成(哈!)

好吧,我不认为在上一篇文章后会这么快地发布帖子,但是我在这里。 我花了很多时间阅读程序生成,并参考了一篇写得很好的关于一种方法的教程。 不幸的是,经过大约1-2个小时的阅读后,我意识到我正在学习的方法只能以程序方式生成正方形的房间(无方差,很无聊),并且每次都必须将地图重新​​加载到游戏中玩家进入新房间的时间! 我感到有些沮丧,但是后来我想起了Phaser v3示例文档中列出的一个很好的示例,该示例与我想要的非常相似。 起初有点令人生畏,但通读它完全有回报。 怎么运行的 实际的过程生成代码对我来说有点丢失,并且可能值得冗长地发表自己的文章,因此我将在此处进行链接。 实际上随机生成连通的房间从而构建地牢非常方便。 我最终要做的是(紧跟本教程之后),生成了所有由x,y坐标组组成的房间,并手动将瓷砖随机放置在目的地。 听起来需要做很多工作,但实际上大约需要30行代码。 我们知道每个房间都需要拐角,因此每个房间的每个拐角处都有墙砖。 那部分很简单。 另外,由于我的墙壁实际上没有任何变化,因此我们可以对所有墙壁本身使用1个图块。 然后,由于地砖存在一些差异,因此我们称为weightedRandomize函数。 此功能可将图块坐标中图块矩形区域的索引随机化。 最后但并非最不重要的是门。 值得庆幸的是,生成代码中有一个帮助程序方法,该方法将列出每个房间的所有门坐标。…