Questions tagged «maps»

地理区域的视觉表示,显示物理特征。

5
如何在2D地图中检测相连的(但逻辑上不同的)水体?
我有一个二维六角形网格图。每个十六进制单元格都有一个高度值,用于确定它是水还是海洋。我正在尝试一种确定和标记水体的好方法。海洋和内海都很容易(使用洪水填充算法)。 但是像地中海这样的水域呢?与较大的水体相连的水体(“海”和“海湾”的区别仅在于洞口的大小)? 这是我要检测的示例(图像中间的蓝色水域,尽管在技术上已连接,但其标签应与左侧较大的海洋体不同): 有任何想法吗?

2
部分可观察的游戏地图-A *是否合适?
我对游戏开发知之甚少,我正在努力寻找寻路算法。 考虑以下设置:代理位于2D地图上,必须找到通向全局已知对象的最短路径,但仅具有有关其本地视野范围内的障碍物的信息(即,仅已知直接障碍物,地图的总体布局未知) )。 而且,每次移动到相邻的正方形都是昂贵的,并且寻路算法应将移动的数量减至最少。 计算效率也非常重要,比准确性更重要。 A *是否适合此用例?

3
一个简单的地图,四个生物群落以及如何分布它们
这是一个基本概念:我有一个Rogue风格的游戏,也许是Dwarf Fortress风格的游戏,它具有随机生成的游戏世界,并且周围散布着多个地牢入口。我已经基本涵盖了地牢,但是我被困在了整个世界的一个方面。 所说的“世界”被视为屏幕的2D地图,应该具有斑点状分布的四个不同主题或生物群落-草原,沙漠,雪地和沼泽,每个主题都有自己的屏幕总数。假设地图为8x8,可提供64个独特的屏幕。其中一半可能是草原,四分之一的沙漠,沼泽和积雪各占四分之一: 减少调色板似乎使积雪和沼泽的颜色相同。最初,底角有八个挡雪板,中间有一个交错的八挡沼泽区。抱歉,请忽略位置标记。 我能得到的最好的是一些蛇形的形状,并且常常与荒谬的组合(例如沙漠在雪地中蛇形)(反之亦然)结合在一起。我一辈子都想不出如何使它变得漂亮又过时,更不用说让它具有气候意义了吗?那么如何像样机一样生成生物群系图? 好的,根据要求:世界确实没有比那个例子大得多,而我需要的只是散布确定主题外观的斑点的方法,但有雪不能触及沙漠的额外限制。屏幕不滚动,并且如果屏幕设置为“沙漠”,则屏幕上将无草。

8
如何为地图生成创建平铺的固体噪声?
大家好,我试图弄清楚如何在代码中生成可分割的分形(对于游戏地图,但这无关紧要)。我一直在尝试修改GIMP附带的Solid Noise插件(我对如何该代码有效),但我无法让我正常工作。 到目前为止,我修改过的代码(Java) GIMP的固体噪声模块,我的代码基于(C) 这是我想要实现的目标,但这 就是我得到的目标 因此,如果任何人都可以看到我做错了什么,或者有建议我可以做些不同的事情,我将不胜感激。提前致谢。 如果我要问的是很多事情,或者是人生中的巨大失败,我深表歉意。

5
为2D游戏创建地图的最佳方法?
对于主观的“最佳”关键字,我深表歉意。 我和我的朋友已经开始创建2D冒险游戏。它是自上而下的口袋妖怪或塞尔达风格(只是透视图)。我们一直在讨论创建一个大型世界地图的方法,玩家可以在不拖累我们机器的存储能力的情况下进行遍历。 我们的第一个冲动是在要加载内容的播放器周围创建一个大地图和一个圆圈。我们认为这不会持续很长时间,因此决定将地图划分为多个部分。首先,我们有四个大的部分,但是意识到我们可以将其分解为许多小部分。 我从SNES播放了一些《塞尔达传说》,发现在移动地图期间,此时可以加载内容。我的意思是,我们不只是检查矩形区域中要加载的数据,而是将地图分割成许多微小的块,以便在从地图部分移动到地图部分时加载和卸载数据。 今天,他告诉我他想创建一个简单的2D数组贴图[WIDTH] [HEIGHT],其中包含游戏中每个网格的数据,并且是我们不需要的数据的恒定保存到磁盘的操作。 我不确定这些想法,并认为我可能会在这里。与该主题有关的任何链接,资源或教程都将不胜感激,并且可以直接回答我们有关如何有效实现的问题。
16 game-design  2d  tiles  maps 

3
如何在n个玩家之间平均分配十六进制网格?
我正在制作一个简单的基于十六进制网格的游戏,我希望地图在玩家之间平均分配。该地图是随机创建的,我希望玩家拥有大约相等数量的单元,且区域相对较小。例如,如果地图上有4个玩家和80个像元,则每个玩家将有约20个像元(不必精确定位)。另外,每个玩家的相邻单元格不得超过四个。也就是说,在生成地图时,最大的“块”不能超过四个单元。 我知道这对两个或三个玩家来说并不总是可能的(因为这类似于“为地图着色”的问题),我可以为他们做其他解决方案(例如创建可以解决问题的地图)。但是,对于四到八名球员,我该如何解决这个问题?


1
为XNA创建3D地图?
有谁知道使用XNA而不使用任何引擎但不限于外部应用程序(如Tiled for 2D maps)的不错的3D地图教程(如何导入和使用地图)? 我在这里做了搜索搜索,但没有找到任何有关xna 3d地图的信息,只有2d。 PS:我正在寻找可以免费在线阅读的材料。 除了Ricket所做的贡献之外,我非常想知道与此主题相关的任何其他内容。 最好的祝福。
15 3d  xna  c#  maps 

3
在哪里可以找到游戏的真实地图数据?
我想用类似Ingress的概念来构建游戏,其中游戏地图会覆盖在真实的地图上。 在哪里可以找到类似应用程序的地图数据?我如何(通常)将自己的游戏对象集成到该地图中?游戏对象需要实时移动,因此在地图上将它们作为静态标记是不够的。 我以为可以使用Google Maps,但据我所知,要使用Google提供的官方API创建自己的图形样式(就像Ingress所做的那样)是不可能的。
14 maps  realtime 

4
基于二维非平铺的地图编辑器
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 6年前关闭。 我目前正在为iPhone开发一款相对简单的,自上而下的2D冒险游戏,并且想知道为我的游戏创建地图的最简单方法是什么。我认为我需要某种可视化编辑器,该可视化编辑器可以立即给我反馈,并可以将世界上的所有对象准确放置在所需的位置。然后,我可以在游戏的编辑器中加载我创建的世界的已保存表示。 因此,我正在寻找一个允许我执行此操作的简单地图编辑器。我游戏中的所有对象都是由两个三角形构成的简单纹理矩形。我需要做的就是在地图上放置不同的矩形/对象,并为其赋予纹理。我正在使用纹理地图集,因此能够将纹理的一部分分配给对象将很有用。然后,我需要能够从保存的地图表示中提取所有对象,以及它们使用的纹理(图集)的名称/标识符以及纹理图集的区域。 我看过一些基于图块的地图编辑器,例如Tiled和Ogmo,但它们似乎无法执行我想要的操作。有什么建议么? 编辑:一个更具体的示例:类似于GameMaker关卡编辑器,但随后以方便的格式添加了导出功能。
14 2d  iphone  maps  levels  editors 


2
渲染图块时如何处理凹凸不平的图块?
这是我不确定要处理的地图。如您所见,顶壁比底壁和侧壁要大得多(这也是我的角落的问题,这些角落是奇怪的形状(更像是L,然后是正方形),以及比我当前的瓷砖大40x40px )。 我还附加了我要用于瓷砖的瓷砖板,以向您展示与其余瓷砖相比,边角和顶部的外观。 我在想的是,如果我使用图块的宽度和高度而不是设置的WxH,我也许可以使用与我相同的数组绘制它们?我不知道这将如何运作,但是具有不同值的方块会成为玩家/ NPC无法踩到的方块,那么这可能不是问题,再次我甚至不确定那是否可行解。 我的代码,以防您想了解我当前的处理方式:Map.java(pastebin)(edit:im 未处理它,意味着我目前在处理地图) tl; dr-如何获取2d外观的地图并更改为其他大小的地图?还是有更好的方法来做我想做的事情?谷歌搜索时应该寻找一种方法的名称吗?
13 2d  java  tiles  maps 

6
一组图块边界的高效算法
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我有一个已知的有限大小的瓷砖网格,可以形成地图。地图内的某些图块放置在称为“区域”的集合中。该区域是相连的,但对其形状一无所知。在大多数情况下,它是一个相当规则的斑点,但它可能在一个方向上被拉长,甚至可能有孔。我有兴趣找到该领土的(外)边界。 也就是说,我想要一个列表,列出所有与区域中的某个区域相关但未在区域中的区域。找到这个的有效方法是什么? 额外的困难是,我的图块是十六进制的,但是我怀疑这并没有太大的区别,每个图块仍标记有x和y整数坐标,并且给定一个图块,我可以轻松找到它的邻居。下面是一些示例:黑色是领土,蓝色是我要查找的边界。 这本身并不是一个难题,用伪python的一种简单算法是: def find_border_of_territory(territory): border = [] for tile in territory: for neighbor in tile.neighbors(): if neighbor not in territory and neighbor not in border: border.add(neighbor) 但是,这很慢,我想要更好的东西。我在整个领土上有一个O(n)循环,在所有邻居上有另一个循环(虽然很短,但仍然),然后我必须检查两个列表的成员资格,其中一个列表的大小为n。这给定了O(n ^ 2)的可怕比例。我可以通过使用集而不是边界和地区列表来将其简化为O(n),以便快速检查成员资格,但这仍然不是很好。我希望在很多情况下,由于面积和线比例缩放的原因,领土很大但边界很小。例如,如果区域是半径为5的十六进制,则其大小为91,而边框的大小仅为36。 谁能提出更好的建议? 编辑: 要回答以下一些问题。区域的大小范围从20到100左右不等。形成区域的图块集是一个对象的属性,而这个对象需要所有边界图块的集合。 最初,领土是作为一个街区创建的,然后大部分都是一块一块地获得。在这种情况下,确实最快的方法是保留一组边界并仅在获得的图块上更新它。有时,可能会对该地区进行重大更改-因此需要重新计算。 我现在认为,执行简单的边界查找算法是最好的解决方案。这带来的唯一额外复杂性是确保可能需要每次都重新计算边界,但不超过此数目。我非常有信心可以在当前框架中可靠地完成此操作。 至于时间,在我当前的代码中,我有一些例程需要检查该区域的每个图块。不是每回合,而是在创作时以及随后的创作中。即使它只是完整程序的很小一部分,也要花费我的测试代码运行时间的50%以上。因此,我渴望尽量减少重复。但是,测试代码涉及的对象创建要比程序正常运行(自然)要多得多,因此我意识到这可能不太相关。

3
二维网格地图上的道路/河流生成
这是一个新手问题,但是在这里: 我的地图是2D网格,我想生成道路和河流。从起点到终点的路线一定不是瓷砖数量的最佳路线。相反,它们应该具有一定程度的随机性(回合)。 是否有针对这种情况的标准算法? 干杯! 更新: 这是在网格上使用权重并使用jgrapht库应用最短路径算法(Bellman-Ford)的结果。毕竟,我接受了多纳兹的回答。 http://pastebin.com/AGQGK5ik

5
2D关卡设计/编辑/保存问题[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我考虑过要制作一个像SuperMario这样的简单2D Sidescroller游戏。然后我想知道如何保存,加载或创建游戏关卡。我想到的第一件事是绘制一个简单的块状png来表示水平,这使玩家可以行走的所有部分都具有特殊的颜色(也许是淡紫色)。我将以块或图块的形式导入级别,以便检查碰撞。 所以我的问题是: 有更好的方法吗? 有哪些专业方法? 我应该使用Tiles和基于Tile的地图编辑器来做到这一点吗?(出于某种原因,我不喜欢这种方法,但是我想我是否会使用它的最佳方法) 基于图块的水准仪,您将如何认识坡度,以及如何检查坡口是否发生碰撞?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.