2D关卡设计/编辑/保存问题[关闭]


12

我考虑过要制作一个像SuperMario这样的简单2D Sidescroller游戏。然后我想知道如何保存,加载或创建游戏关卡。我想到的第一件事是绘制一个简单的块状png来表示水平,这使玩家可以行走的所有部分都具有特殊的颜色(也许是淡紫色)。我将以块或图块的形式导入级别,以便检查碰撞。

所以我的问题是:
有更好的方法吗?
有哪些专业方法?
我应该使用Tiles和基于Tile的地图编辑器来做到这一点吗?(出于某种原因,我不喜欢这种方法,但是我想我是否会使用它的最佳方法)
基于图块的水准仪,您将如何认识坡度,以及如何检查坡口是否发生碰撞?

Answers:


10

对于2D MMO,我们使用http://www.mapeditor.org/。我们使用几层作为背景,背景装饰,与播放器处于同一级别的对象以及播放器前面的对象。以及仅带有一个红色正方形的另一层标记冲突。

我不确定这种方法或软件是否适用于2D侧滚动器,但值得一看。


+1。这是一个很棒的工具。它也是开源的,因此您可以根据需要扩展它。
Janis Kirsteins,2010年

那真的是一个很好的工具,我测试了它,将它导入我的游戏没有一个单一的问题。
Simiil 2010年

1
好的,所以现在我想知道如何制作基于非平铺的关卡,就像蠕虫中的世界一样,但是我想我有一天会在一个新问题中提出这个问题
Simiil 2010年

6

常见的方法可能是仅输入一个字符串

0,0,0,0,0,0,1,1,1,0,0,0,2

其中0将是一个障碍,您可以在1上行走可能是峰值,而2可能是终点

您只需通过一个文本文件(或将其硬编码到游戏中)读取它,并绘制与该数字关联的相对块,并让您的colision逻辑来处理它(但是已设置)。

显然,您可以选择所需的任何格式,也许0表示绘制5个可移动块。

这只是可以实现的一种方法。

http://www.smudgedcat.com/tut_tiledlevel.html, 此链接是使用XNA框架在c#中的示例。它会给您一个大概的想法(它不包含斜率,但是可以使用类似的东西来定义这种情况)

关于马克


这与“ Excite Bike”在任天堂上的自定义地图完全一样。 vc.nintendolife.com/games/nes/excitebike
Stephen

5

替代文字

许多游戏使用名为Mappy的开源应用程序。它具有自己的格式,支持多层和其他功能。您可能想将几种类型的数据与给定的图块相关联。


我认为游戏中的关卡编辑器方法非常普遍。 开发人员模式是如何设计非常流行的游戏《辫子》的关卡的内部说明。游戏具有一种开发模式,可以在其中构建/修改关卡。这些关卡本身具有一个由图形图块覆盖的碰撞层:

替代文字


我个人不建议这样做,但是Allegro的2D演示程序使用了某种类型的3D建模格式并将其转换为自定义的游戏内格式。优点是可以建模非常光滑,连续的表面。(这是基于2D物理的滑板游戏。)

要编辑Allegro演示游戏的关卡数据,我们使用免费的开源工具Blender。您可以在这里获得:

http://blender.org

以下是逐步说明,说明其工作原理:

1)将文件ademo_export.py放入Blender脚本文件夹中。它是导出脚本,它将从.blend格式转换为演示游戏使用的.txt格式。在unix下,路径为:

〜/ .blender / scripts / ademo_export.py

2)加载.blend文件混合器。在unix下,从带有level.blend文件的目录中键入以下内容:

blender -w level.blend

(-w是使用窗口模式,我更喜欢。)

3)编辑关卡。在菜单中的

帮助->脚本帮助浏览器->导出-> Allegro演示游戏等级

您会发现一些有用的提示。

4)保存文件(在提交之前使用压缩)。从导出菜单中将其导出为.txt,选择Allegro演示游戏级别。

5)使用level.txt更新level.dat,新的关卡应该出现在游戏中。


2

“专业”方法可能会涉及非常详细的地图编辑器(可能使用C#),这将使他们对所有内容都拥有完全的控制权。

主要有两种方法:一个比较容易做到,但没有那么有效。

  • 您可以使用地图编辑器;要么自己写,要么找到nhnb提到的诸如mapeditor之类的已有对象。编写自己的书对于学习经验会有所帮助,但对于成品来说则没有那么多。
  • 您可以只将数据键入文本文件。这比较简单,但是再次阅读并不容易。您可能可以从地图编辑器中获得相同的信息,但这将是自动化的。不利的一面是,您不能添加任何特殊效果(例如某些图块(不是图块类型,而是图块(13,45)))来执行特殊操作。

2

我也有类似的想法(即重新开始写游戏是一种业余爱好-工作和其他承诺...)

我会认真考虑在游戏/应用程序中开发“地图编辑器”的途径。

如果您的游戏超越了自己的PC,那么社区内容将是一个巨大的福音。

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.