- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在用 Java 开发一个小型 2D RTS,它将不依赖于任何非标准库。
我无法正确回答的一个关键问题是如何实现这些单元,以便每个单元都能独立运行,就像 RTS 中的正常情况一样。
我想到了两种方法:
1) 将它们实现为线程。由于线程与单元非常相似,具有生命周期并且独立运行,因此它们应该是一个很好的选择。
问题:如何维护单位 AI 的其他重要方面,例如瞄准和攻击敌人或在移动时为空闲动画旋转炮塔?
我正在考虑给每个单元子线程来处理这个问题(同样,因为它们应该是独立但并发的),但我担心这是一种低效的方法。我不受程序中计算限制的限制,但我想知道处理 future 开发的最佳方式。
2)“回合”。每个单元都有一组在每个回合中应考虑执行的操作,并且回合由迭代所有现有单元的非常快的 TimerTasks 触发。
问题:可能会导致代码笨重?
我倾向于第一种方法,但在深入研究之前,我想知道我的方向是否正确,或者我是否更有可能搬起石头砸自己的脚。
总结我的问题:我应该使用线程、计时器或其他方法来实现用 Java 编码的小型 RTS 中的单元吗?任何意见将不胜感激。
最佳答案
在单独的线程中实现它们可能会导致竞争条件,除非您希望将特定单元绑定(bind)到它恰好运行的任何核心,否则我会远离这种情况。
我更喜欢你的第二种方法,每个单位每回合都执行其操作。如果你把转弯切成足够小的切片,这就不会有问题。
你可以做的一件事是让“背景代码”与你的第二种方法(基于非常快速的回合)一起操作,以获得“重要”单位统计数据(HP、位置、moveFlag、attackFlag、deathAnimationFlag等)。然后,有一个用于动画的单独线程,它可以“轮询”或“订阅”单元的位置和状态以绘制正在发生的情况。如果绘制线程稍微落后统计线程一毫秒,没问题,对吧?
关于java - 在小型 RTS 中实现单位的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16449836/
我正在对使用 GHC 编译的 haskell 程序的内存消耗进行基准测试。为此,我使用以下命令行参数运行程序:+RTS -t -RTS .这是一个示例输出:> . 根据 ghc 手册,输出显示: 程序
在《魔兽争霸 3》或《帝国时代》等游戏中,AI 对手在 map 上移动的方式几乎是无限的。 map 很大,其他玩家的位置也在不断变化。 这类游戏中的 AI 寻路是如何工作的?在这样的设置中,标准的图搜
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在用 Java 编写 RTS 游戏,遇到了一些多态性问题。为了描述我的问题,我将列出游戏中的一些对象/类:(我将在括号内说明它们中的每一个应该能够做什么) 坦克(可以移动,可以攻击) 塔(可以攻击
我正在为 Epic Flash 游戏设计大赛 http://www.youtube.com/watch?v=bpFBraUbHyo&list=UUfkxvxrvpNxXvdKusYS0NfQ&inde
当我运行 ./MyProgram +RTS -N4 时,我希望我的程序自动检测到它正在 4 个核心上运行,并创建 4 个 Spark 来处理数据集。现在,每次我想更改此选项时,我都要重新编译,这很烦人
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我正在尝试为我的 RTS 游戏实现多人游戏。它不是回合制的,所以我认为我应该使用 UDP,对吧? 对于应该从客户端发送到服务器的内容,我也有点困惑。游戏中显示的每个对象(建筑物、树木、单位等)都在 G
关于如何将脚本集成到游戏中,我已经访问了几个教程和链接——但其中大部分对我来说并没有在流程中及早开始。我正在努力思考有效脚本游戏的基本结构。以下是基础知识: 我正在使用 C++ 开发一款基本的 2d
对于 rts 中的单元集合来说,什么是好的数据类型?我正在为 an api that lets you write bots for the strategy game Starcraft2 in P
我很好奇什么样的算法可以根据它的城市、建筑物,当然还有附近城市和建筑物的半径来计算国家的边界线? 游戏《万国崛起》图片: 如何用线条或三角形带渲染这个形状(例如宽度为 5 米)?如何有序地从边界线
寻找一种算法,用于确定在像星际争霸这样的实时战略游戏中作为一个小队一起移动的单位组。我目前关注的方向是一种聚类算法,但很难找到哪个算法最有效,因为单元作为一个整体在移动,而不仅仅是静止不动。任何帮助都
我有一段代码可以读取串行端口 CTS 线的当前状态,然后应用程序根据那里的值进入适当的模式。 使用此处描述的零调制解调器电缆: http://www.lammertbies.nl/comm/info/
我正在用 C# 编写 2D 太空 RTS 游戏。单人游戏作品。现在我想添加一些多人游戏功能。我在谷歌上搜索了一下,似乎只有一种方法可以让数千个单位在没有强大网络连接的情况下连续移动:只通过网络发送命令
我正在制作一个实时太空战略游戏克隆,当时它没有任何多人游戏选项。我想为它添加多人游戏。 游戏本身相对较长:完成一个游戏需要大约 10-15 个小时的游戏时间。这很长,我不想强迫玩家不间断地玩它或由
我想开始修补 RTS AI,但我很难找到一个好的工作环境,即一个已经创建的游戏。我看过 Spring RTS 和 Bos Wars,但它们似乎不利于创建简单的示例。 我并不完全反对自己编写游戏环境,只
我必须回答以下关于 6502 汇编语言的问题: “在堆栈上,有以下值(顶部元素在前):0x01, 0x02, 0x03, 0x04, 0x05, 0x06地址 0xc000 是指令 jsr 0xABC
我一直在考虑一款多人 RTS 游戏。我似乎无法解决的部分是保持单位运动同步。如果我将单元 A 移动到 XY 点,我必须将其传回中继到其他客户端的服务器。 我很好奇通信会是什么样子。你能告诉服务器我要将
对于 ghci ,我可以限制 ghci 可以使用的内存 $ ghci +RTS -M10m -RTS 当我编译整个程序时,我可以 $ ghc -rtsopts a.hs 然后 $ ./a +RTS -
我有一个 Haskell 程序,它处理一个文本文件并构建一个 Map (包含数百万个元素)。整个过程可以持续2-3分钟。我发现调整 -H 和 -A 选项会对运行时间产生很大影响。 有documenta
我是一名优秀的程序员,十分优秀!