Articles of 策略

如何为策略游戏创建相机?

如何为战略游戏制作相机? 想一下魔兽争霸3的风格,这样你就可以降低摄像机天使,并以3D格式来观看世界。 我需要有一个坐标系,你把每一个单位,建筑等,在其中,然后使用相机的algorithm渲染一定的坐标之间的一切? 编辑:为了更清楚的问题提高。 当游戏地图大于玩家相机的视图时,如何渲染策略游戏的graphics?

2D星舰战斗,基于方位和速度(vector)命中机会?

思考一个二维战略游戏,在那里你移动你的星空轮stream转,并在彼此的枪支。 而不是传统的“范围”降低命中机会的方法,我想到的是一些相互投射vector的系统来计算相对方位和速度来计算命中概率。 也就是说,一艘快速的小型船只比一艘缓慢的大型货船更难打,但是另外还有一个相对的方向(即时的目标:是直接朝向你的X / Y方向飞行的目标,还是非常窄的目标,低的目标取决于速度)。 使用atan2来获得相对的方位(角度)很容易,但是如果这个角度是330到30度,那么它怎么会变成一个上升趋势,如果它不同(例如)?

将寻路与全球人工智能目标相结合

我正在做一个使用Java和LibGDX的回合制战略游戏。 现在我想编写AI。 我还没有写AI代码。 我只是devise了它。 人工智能将有两个组成部分,一个侧重于战术和资源管理(创建部队,确定谁具有战略优势,检测重要目标等)以及一个单独的组成部分,重点是将工作分配给每个单位,检查其可能性并移动单元。 现在我面临一个重要的问题。 动作发生的地图是基于网格的地图。 每个地形都有不同的运动成本。 我读了关于寻路,我认为A *是一个很好的select,以确定两点之间的好路线。 但是,假设我有一个运动= 5的单位(即,它可以移动5个运动代价= 1的方块)。 我的战术AI在我单位的距离d = 20瓦(曼哈顿距离)处发现了一个目标。 我的问题是: 单位无法一次达到目标。 所以人工智能将不得不存储一个位置列表,并执行各种转换。 我不知道如何解决这个问题。 PS。 在我的单位代码中,我有一个名为selectionMarks的列表,它存储了单位可以在这个回合中所有可能的地方。 这个地方是使用getSelectionMarks函数recursion计算的。

基于SDK的开源游戏,适用于Android?

我想创建一个使用SDL2的游戏,并且可以在很多平台上运行,至less在Android上。 我想在开始之前看到一些其他小型video游戏的开源代码,特别是他们如何处理触摸屏事件等。 有什么建议么? PS 我将创建一个基于回合的策略游戏

统一 – 将地图上的各种形状分解为单独的对象?

好吧,我昨天以匿名方式提出这个问题,所以我不能编辑它,所以我正在重新编辑它。 简短版本 :我有一个黑色边框( 彩色地图 )的透明地图 ,我希望这些边框形成的形状成为Unity中的单个对象。 它甚至可能,如果是,如何? 长版 :我想做一个与省和国家的大战略types的游戏。 但是,我不是一个真正有经验的graphics和Unity程序员。 我已经有了一个地图,这些边界是由这些边界定义的,每个省都有一个独特的颜色(一种标识符)。 有了这个,看起来简单而复杂,所以我希望每个省都能发出一个与选定的地图types(外交,地形,领域等)相对应的颜色。 显然,这只是一个简单的质地很难做到的,所以我需要制作对象,而这正是我的经验不足使我无法继续下去的地方。 有什么我可以做的(在统一和/或Photoshop中),可以使省份成为对象而无需手动隔离,导入和匹配(作为一个谜题)每一个? 我已经看过无数的问题和答案,但仍然无法解决我的问题。 我现在正在思考如何取消这个项目。

在策略游戏中构建计时器

我有一个基于networking的战略游戏,你在哪里建立一个城市。 编码是顺利的,但我挂了我的建筑需要多长时间建造。 我想让用户玩,但让他们玩足够长的时间,让他们不得不回到游戏中。 目前我已经知道每栋建筑物的基础建造率是由建筑物水平呈指数增长的。 我可以通过改变基础构建速度来调整时间,但是我想知道是否有更好的,或者更广泛接受的方法。 我担心,在达到下一个城市级别之前,在10层建筑上进行113天的建设,用户不得不重新开始,这将阻碍进一步的发挥。

如何解决单位堆叠的战斗以减less数值优势

我刚开始devise一个策略游戏,玩家的军队由一堆单位组成。 对于我的devise,我打算重现以下行为以进行多轮次的全面战斗(为简单起见,假设两个堆栈是相同的单位): 1对完整的堆叠:单个单位被杀死,整个堆叠几乎没有通知。 半堆vs全堆:半堆被杀,堆满维持明显的伤害。 几乎完整的堆栈与完整的堆栈:完整的堆栈胜利,但几乎被消灭。 如果涉及到随机性,两者中的任何一个都可能获胜,尽管较大的有统计学上的优势。 我的第一个方法是把数据加起来,把每个堆叠作为一个单位,解决战斗,然后计算有多less个单位被杀死。 这并没有产生预期的结果,因为即使是一方的微弱的数值优势,也会产生巨大的利润。 原因是每回合之后,较大的堆叠会杀死更多的敌人而不是更小的敌人,扩大下一回合的能量差异。 这个不同的指数增长,直到较小的堆栈迅速消失。 作为第二种方法,我将每个单位分别作为一个战斗(我想避免的)来处理,这会产生更好的结果。 但是现在我对如何解决战斗有很多select。 应该是一对一还是一对,还是应该让单位联合起来呢? 我应该平均或随机地配对吗? 我是否应该把不加配备的单位留作“后备”,否则所有单位都应该至less打一次?

什么样的数据结构用于行星人群?

我正在为我的空间战略游戏构建原型,这个游戏是关于帝国建筑types游戏的。 游戏中最重要的元素之一是各种行星和人口群体。 在安置虚幻引擎4之前,我已经看过Unity和Amazon Lumberyard,但是我不确定存储关于人口和行星的信息的最佳方式是什么。 就目前而言,行星是一类物体,它们的特征作为variables存储(在那里没有问题)。 问题出现在人口上,因为每一个不同的人口群体都将具有独特的特征(即物种特征,派别alignment,教育水平)和他们拥有的游戏对象(武器,盔甲,工业机械,贸易货物)。 把人口拥有的物品与他们联系起来,把人口群体和他们的居住地联系起来,这样我就能计算出如下的东西: 对于Y行星上的X派,他们的人口(教育×工业机械×行星矿物评级)是什么产物? 我认为将人口作为一个存储在星球类中的结构来实现,但是如果我需要将人口转移到运输船,然后转移到另一个星球,或者在运行时增加新的人口组,那么这似乎是个问题。

在2D“sidescrolling”战略游戏中寻找path

我一直在想一个实时策略游戏,在平台游戏types的地图上播放。 这些地图中可以碰撞的部分将由方形瓷砖组成。 我已经完成了自上而下的基于瓦片的游戏的A *path查找,但是我不确定如何布局我的瓦片地图,以便于寻找简单的path。 我想到了一些例子,但我不确定是否正确的方式去做,所以我想我会把它扔在这里,看看是否有人知道他们在做什么可以给我一些提示。 我想到的第一个解决scheme是使用一个二维数组存储所有的瓷砖和空的空间,类似于我最肯定的在自顶向下的基于瓦片的策略游戏中所做的。 2D网格在背景中是不可见的,但是确实存储每个网格部分是否是空的,或者是否具有拼贴。 喜欢这个: 在这个例子中,我不确定我将如何查找山丘,或者在这个具体的例子中,确定墙壁太高而不能穿越。 可以说,花花公子可以跳过1瓦高块,但2瓦太多了。 我将如何通过寻路algorithm有效地确定? 我想到的另一个例子是将寻路节点放置在可遍历的地形上,如下所示: 每个节点可能能够给出如何进入下一个的指示或命令(比如需要跨越一个间隙,或者更快地进入而不是结束等)。 现在我想通过代码来做到这一点,而不是在devise时手动放置它们。 这可能是一个更好的解决scheme,但是我在这个游戏中想到的是具有可破坏性的地形。 说爆炸发生,并留下这样一个大洞: 突然之间,我放置的那些节点将不起作用。 我需要重新制作它们。 在这种情况下,2D网格听起来像更好的select,因为我可以将该块的值从完全翻转为空。 所以希望这两个例子是有道理的,我想就哪个可能是最好的select提出一些意见,或者即使有其他解决scheme,我没有想到我会很高兴听到它! 如果有帮助,我使用Unity。 我只是想尽早将这个devise选项提前,因为以后不得不把它拆开是一件痛苦的事情。 谢谢!

在基于六角网格的游戏中寻找path

我正在用六角格子制作一个TBS。 玩家可以使用网桥将单位从一个hex移动到另一个,这将随机生成。 我为我的网格使用了三次和轴向坐标系, 在这里有很好的描述。 我不知道如何让hex理解与另一个连接,然后计算单位的最佳path。 我不知道如何处理这个问题 – 我应该在我的hex类中为桥接器创建6个插槽,然后计算path,还是应该使移动系统以某种方式运行,然后使用桥接器作为“阻止器”?