在Swift中使用Perlin噪波编写程序生成的2D地形的早期尝试

当玩家在环境中移动时,我提到的第二个游戏会创建更小的世界“块”。 在继续探索的过程中,创建城市和建筑物,道路和森林,危险废物石棺和未来派废弃的实验室。 实现空间中不同元素的这种“现实”分布的一种方法是应用称为Perlin Noise的函数。 噪声函数可以描述为以下函数: […]在某些空间中获取一个坐标并将其映射为-1和1之间的实数。请注意,您可以为任意维创建噪声函数。 […]您可以绘制一维噪声函数的图形,就像绘制一个变量的任何旧函数一样,也可以考虑噪声函数为3D空间中的每个点返回实数。 如果您想知道,那摘录来自本文,我发现它是许多程序员在此问题上的首选参考文章。 请记住,如果您仅打算将其用于游戏编程实验,则不建议您进一步研究Perlin Noise背后的数学理论。 考虑到这一点,我可以继续进行自己的Swift实验。 它很大程度上是基于简单,逐步但在互联网上发现的效率低下的Perlin Noise伪代码。 我不仅知道第二个Swift例子(紧跟着这个例子)。 但这是我知道的唯一一个Swift例子,它没有渲染到图像中的像素。 实际上,这是一种使用(2D)噪波函数的不同值将元素按网格模式放置在屏幕上的功能。 并使用某些游戏将它们匹配到不同对象的方式,以加载不同的精灵: 首先,我尝试生成一个位图图像,该位图图像带有一个与2D数组中每个浮点数相对应的灰度彩色像素,我使该数组与屏幕大小相同,并以从0到1的灰度将每个像素着色:…

使用Swift使用AI构建井字游戏

另一个可以使用的框架是GameplayKit。 GameplayKit在去年的WWDC上推出,并提供了有用的API,用于实现您在游戏中发现的一些常见元素,例如创建随机数,为对手提供人工智能或在障碍物附近寻路。 它们是非常有用的工具,可以使您的工作负担很重,并使游戏开发人员可以专注于使游戏变得有趣的方面。 我强烈建议您阅读《 GameplayKit编程指南》,以了解有关如何利用此框架构建游戏的更多信息。 对于我们的简单游戏,我们仅将框架的一小部分包含在内,以使计算机对手获得一些“智能”。 启动Xcode 启动Xcode并从iOS模板创建Game项目。 将游戏命名为TicTacToe,并确保将语言设置为Swift。 在创建项目的过程中,Xcode会创建一个SKScene文件(代表您的游戏初始视图)以及一个视图控制器文件,该文件会初始化游戏场景并在启动应用程序时处理屏幕上显示的内容。 如果立即运行该应用程序,您将看到显示的Hello World标签,以通知您一切正常可用。 此外,如果单击视图,则太空船将添加到单击的位置。 我们不再需要标签或太空飞船的行为,因此让我们删除该代码。 切换到GameScene.swift文件,删除didMoveToView中的代码并触摸touchesBegan函数。 让我们花一点时间,重点介绍“场景编辑器”的某些功能。 视图的中心是场景显示,井字游戏板周围的黄色轮廓表示我们的游戏可见端口。 我们可以更改视口的大小,甚至可以添加摄像头,使我们可以实时查看游戏中更多可见部分。…