制作没有图形的游戏?

9

制作一个没有任何图形但是有意成为图形化的游戏是否可能或者建设性?

我对制图一窍不通,所以我想写出游戏的框架然后让一个制图程序员/艺术家来完成其余的部分。我可以编写所有主要类及其交互,以及游戏的所有主要功能/部分。

如果可以,那么我应该怎么做才能更容易地将图形集成到游戏中(每个绘制的对象都应该有一个Draw、Rotate、Collide等方法)?


8
买一本游戏编程方面的书籍。 - Marcelo Cantos
成为“擅长”图形编程的关键在于了解API。如果您能够构建复杂的系统,那么图形编程并不难;在许多简单的API中,它就像是bitmap.Draw(coordinates)一样容易。 - dash-tom-bang
7个回答

7
我曾经玩过NetHack(ASCII字符)、Castle of the Winds(俯视图形)和Diablo(2D但从角度观察)。它们的游戏玩法都相似。它们都是基于瓷砖的,都有类似的装备、法术、战斗、探索、随机地图等等。然而,图形质量不断提高。
游戏Adventure是一款基于文本的冒险游戏,使用文本命令如“向北走”、“看看”、“拿石头”等。然后,King's Quest系列游戏(全部为图形化)开始采用步行方式,但仍需输入命令。在后来的游戏中,你可以通过标准菜单图标进行“查看此处”、“走到这里”、“拾取物品”等操作,而无需再输入命令。

这并没有直接回答你的问题,但以下是一些游戏示例,它们的玩法类似,但随着时间推移增加了图形特效。


1
嘿,不要忘记《Zork》和所有其他Infocom游戏。"最好的图形是你脑海中的那些"或类似的话。 - dash-tom-bang

7

一些游戏使用MVC(模型-视图-控制器)模式。如果您也这样做,那么可以通过多个视图(基于文本的,2D,3D)来实现MC部分。


6

一个非常好的例子可以证明没有图形也可以实现什么是 《矮人要塞》。这是一个用大量ASCII字符表示的难度和复杂程度惊人的游戏。也有一些粉丝创建了可视化工具(等距3D,完整的3D世界)。所以,确实可以在不必麻烦地编写复杂图形方面制作优秀的游戏。


4

使用占位图形。在Gimp中,任何人都可以画出方框和棒人。

或者直接使用Google,它会为您提供一个庞大的图库,您可以免费在游戏中使用,或者至少在获得适当的图形之前“借用”。


我也在谈论所有的图形编程。整个物理系统。这不仅仅是艺术问题。 - cam
@cam:如果你把图形和物理效果都去掉了,还剩下什么? - Matti Virkkunen
哈哈 :( 是啊...好吧,网络编程和游戏结构。环境中所有事物之间的互动。这更像是一个模拟游戏,因此虽然图形和物理学很重要,但它们并不构成整个游戏的全部。 - cam

3

从非游戏开发背景来看,用户界面几乎总是开发的最后一部分。如果您保证会有图形出现,那么一定要适应这个要求。

您甚至可以考虑使用插件类型方法,在没有图形的情况下运行游戏,并使用插件适应图形版本。


1
把用户界面(UI)放在最后一部分可能适用于大多数应用程序,但只适用于少量的游戏。当然你可以"盲目"地编写所有逻辑并对其进行单元测试,但不幸的是乐趣没有单元测试。而这才是最重要的。 - Matti Virkkunen
你可以开发一些基础类,这些类包含可重写的方法,例如 Draw 等等,然后他可以从这些类派生并在自己的代码中实现图形相关的内容。或者你也可以将你的类实现为 partial 类型,这样他就可以轻松地扩展它们以适应绘图方法。 - James
1
@James:我想说的是,你可以测试所有的逻辑,但游戏的重点在于乐趣,而你不可能在没有玩过它的情况下测试出这一点。 - Matti Virkkunen
@Matti:对于开发者来说,游戏的意义在于使其运行。 - James
@Matti:老实说,那更像是Alpha/Best测试。对于实际构建游戏(OP所说的),你不需要测试“有趣因素”,这只有在游戏接近完成或完整时才能真正测试。 - James
显示剩余3条评论

3

总体而言:

您可能想看看这个:

游戏编程维基

这应该能让您入门。

具体来说,您设想的是什么样的游戏?

更新:

既然您不想进行任何图形编程,您可以为可绘制对象提供一个draw()方法存根,并将这些留给您的图形开发人员。

我认为您需要Move、Rotate和Checkcollision方法来进行基本功能测试,但是由于您只想构建游戏系统的基础,简单的setpositon方法可能已经足够了。

您应该允许对象存储它们的位置(如果适用,则为方向)。

另一种方法是在游戏世界中构建对象列表和它们的位置。这将使您能够开发交互事件处理程序(例如On GunFired、OnHit、Ondie等),并在某种测试平台中对其进行测试。


一个带有FPS类型动作的二维瓦片游戏。 - cam
我想知道如何将“俯视2D”和“第一人称”完美结合在一起... - axel_c
@axel_c:你在吹毛求疵。我猜FPS是指射击游戏的一个通用术语。 - sum1stolemyname
1
好的,只需一直显示角色的鞋子,让他在迷宫中向老鼠扔东西。你从上方以2D视角看到老鼠,但你仍然是第一人称视角,并且可以射击(投掷)物品.... - user253984
射击游戏的简写形式是 shmup,而不是 FPSFPS 意思是 第一人称射击游戏,其中 第一人称 是关键。 - dash-tom-bang
1
@ dash-tom-bang:OP写道:“FPS类型的动作”,意思是一群怪物向玩家奔跑,唯一的生存方式就是杀死它们!这里关键是“类型”。 - sum1stolemyname

2
当然可以。那些开创了“冒险/角色扮演”游戏类型的游戏没有图形,但仍然非常有趣。以下是一些很好的例子:
  1. 巨型洞穴
  2. Zork

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接