桌游基础知识>>嗜好游戏如何介绍编码概念
爱好游戏的好处是千差万别的。 一项特别有趣的好处是,业余爱好游戏如何教授基本的编码概念。 我发现这不仅吸引了游戏玩家,而且还是一名职业游戏设计师,游戏设计老师和两名年轻游戏爱好者的父母。
这些年来,我教过各种视频游戏设计课程。 但是我不是程序员或编码员。 自从我完成任何CGI或PERL脚本以来已有十多年了。 kes。 但是我可以根据所应用的逻辑以及不同数据之间的关系等等来谈论这个话题,因为我有游戏经验。
对我而言,没有什么游戏比《 魔术:聚会》更受此影响。 我坚信,如果您可以玩魔术:聚会(或几乎任何其他收藏或生活的纸牌游戏),那么您就可以很好地理解编码及其背后的逻辑。 即使您从未接触过一点代码(即使您从未在所有那些零中都看到过矩阵),也了解了基础知识。 足以真正减少许多基于视觉的拖放式游戏设计程序(例如Game Salad,Game Maker或Stencyl)的学习曲线。
这是我将研究的四个关键编码概念。 我将逐个概念地展示业余爱好游戏如何帮助他们学习:
- 操作顺序
- 简单表达
- 布尔表达式
- 条件语句
如果您是一名顽固的程序员,希望您能体会到我正在使用更广泛的笔触来展示这些概念以及它们在游戏中的表达方式。
操作顺序
几乎每个游戏都包含回合顺序和玩家回合中的操作顺序示例。 游戏通常按顺时针方向进行,一个玩家完成一个回合,然后按顺序前进到下一个,直到满足条件为止,例如完成回合中的所有动作。
在特定的玩家回合中存在更复杂的操作顺序。 许多游戏都具有玩家回合的功能,将其分解为按特定顺序执行的更多特定步骤。 有时,这些步骤会进一步细分为自己的一系列步骤。
在流行的瓷砖游戏《 Carcassonne》的新版本中,规则手册以非常清晰的方式说明了操作顺序,并在彩色的大块中逐步标记了它们。 步骤1是第一个绿色块,然后是步骤2的蓝色块和步骤3的红色块。 实际上,规则手册甚至通过加粗涉及的条件( 必须 , 可能 )来突出显示某些步骤所依据的条件。

简单表达
与游戏相关,我使用一个简单的表达来表示执行特定的游戏功能以完成“等式”或表达一个真实的陈述,使您可以实现目标。 如果您执行A + B,则得到C。或者,如果您完成任务并使用兽人卡返回城市,则可以获得物品卡和四枚金币。 其中一些比其他的更微妙,并编入叙述中,例如在玩主题合作游戏(如Arkham Horror或Pandemic)时。
设计师Kane Klenko设计的出色的Fuse游戏出色地展示了这些表情-从字面上看-甚至没有通过使它们成为游戏玩法的关键单元而意识到它。 玩家正在共同努力,通过掷骰子并将骰子分配到代表炸弹部分的卡片上来实时化解炸弹(炸弹有10分钟,并且在玩家做出决定时计时器不会停止)。

要完成一张纸牌,玩家必须满足纸牌上的要求。 他们必须使用不同的骰子组合使卡片上的表达式有效-甚至有人要求放置的骰子创建有效的数学方程式。 将适当的骰子放在适当的位置,则表达式为真。 表达式为真后,卡片就完成了,玩家可以继续移动到下一张卡片。
布尔表达式
广义上讲,布尔表达式是条件语句的子集-实际上是下一步 ,因此看起来我在超越自己,但与我同在。 布尔表达式查找单个状态或值,以查看它是True还是False —二进制互斥比较。 每个状态都取决于特定的结果或响应。 如果状态为True,请执行此操作。 如果为False,请执行此操作。
游戏中充满了布尔表达式。 一些内容非常清楚地说明,例如在具有复杂互动的游戏中具有许多功能,例如Magic:The Gathering 。 如果发生特定事件, 则会触发许多功能。 因此,如果状态“事件确实发生”为True,则该功能将触发。 如果为False,则该异能不会触发。
卡还可以具有许多特征 ,这些特征可以创建一种速记语言来帮助确定此True或False状态。 特征是无意义的描述符-直到另一个游戏功能正在寻找该特定描述符来满足布尔表达式:如果它们具有该描述符,则该表达式为True,然后执行此操作。 如果没有描述符,则为False。

在Goblin Glory Chaser中,它的生物牌类别旁边列出了两个关键特征: Goblin和Warrior 。 就他们自己而言,它们什么都不是。 但是,如果玩家有另一张牌说“您所有的地精都获得了先攻”,那么地精荣耀追逐者将获得先攻,因为他具有地精的特质。 因此,布尔表达式为True并满足条件,因此该能力将触发。
另外两个能力(Renown和以下能力)均基于布尔条件。 只有在尚未知名的情况下,名望才会触发-此功能可以查看卡的名誉状态是True还是False。 第二种功能以相同的方式工作,检查卡的声望状态是True还是False。
条件语句
布尔表达式只是条件语句的一种。 存在其他条件,例如在 , 直到或如果另一个事件触发某种反应时运行的规则或特性。 考虑典型的游戏,即默认的游戏玩法。 一切顺利,然后进行BAM,打牌或具有特殊能力的角色决定做某事。 因此,您必须遵守标准规则, 直到新规则另有规定为止 。
史蒂夫·杰克逊游戏公司(Steve Jackson Games)的Munchkin是一个很好的例子,该游戏使用条件语句来操作,覆盖和干扰自己的规则集。 实际上,在规则中,有一个插图描述了卡片上的文本与规则中的文本之间发生冲突时发生的情况。 它列出了一系列条件- 除非出现这种情况, 否则请遵循标准规则。 除这些情况外 ,卡片上的文字会覆盖规则表中的规则。

并且有一堆带有特殊文字的卡片,告诉您何时可以使用该卡片。 通常,纸牌需要某种触发才能发挥作用-要满足条件语句(例如在发生另一种游戏效果之后 )。 其他人列出了覆盖游戏默认规则的所有方式(以标准方式播放, 直到遇到“双手作弊”,然后将所有内容扔出窗外……)

Munchkin还展示了另外两个重要的编码概念。 同步数据并编写简洁的代码 。 芒奇金(Munchkin)是一名营销和销售大亨,拥有23套核心产品 , 6套豪华产品以及大约数以千计的特殊促销卡和物品。
每个Munchkin组合都可以完全独立地进行演奏, 但也可以组合使用 。 在地球上怎么可能? 同步数据和干净代码。 在某个时候,某人必须决定提出一种通用语言来描述某些游戏术语和效果-您是否获得了经验或水平? 我们称它们为转弯,回合或阶段吗? 他们是角色还是玩家或玩家角色?
重要的是要有一个重点明确的通用语言,不需要原始程序员在场进行翻译-这样其他人可以坐下来使用代码。 Munchkin的原始设计师不必设计每张卡和每套卡片……代码足够干净和灵活,任何人都可以编写Munchkin卡。 而且他们做到了-史蒂夫·杰克逊游戏在其网站上接受卡片提交!
调试
我什至会提出一种业余爱好游戏免费教授的奖励概念…… De-Bugging 。
作为游戏设计师,游戏测试教会了我很多有关调试的知识。 整个游戏测试过程都基于调试。 就像电子游戏一样,棋盘游戏也要通过Alpha和Beta测试-有时对公众开放,有时则不开放。 但是他们总是会发现错误,错误,系统损坏,能力不平衡,数学不准确以及其他问题。 使系统崩溃的原因。
有时候,我不得不回到我的“游戏设计代码”,逐行仔细地讲一下,然后找出错误之处。 这是否有意义,或者相当于我应该有一个句号的分号?
这是必不可少的过程,因为没有什么是100%准确的,第一次尝试是100%完美的。 我从未设计过一款游戏,它的第一尝试就是去打印机,然后被运出门。 与编程相同。 事情会改变的。 您必须适应并找到新的解决方案和解决方法。 您必须简化代码。 解决问题。 查找您甚至不知道存在的问题的解决方案,或者通过解决其他问题而创建的问题。
你有它…
所以你去了。 希望我不仅能够分享我对游戏的热情,而且能分享它在学习中的众多价值之一—在这种情况下,对嗜好游戏的理解和欣赏如何与编码和编程的基本概念有很多相似之处。
我只是刮擦了表面,只玩了一些游戏。 可以使用许多出色的游戏-之所以选择我在这里选择的游戏,是因为它们易于访问并且易于阅读并以文章格式进行描述。 作为一名教育者,从幼儿园到高中的学生有很多游戏可以用来展示这些概念。
乘车票,休息日,代号,卡坦岛定居者,大流行,禁忌岛,七大奇迹,鹤楼,东京都国王-几乎任何游戏功能元素都至少展示了这些编码概念之一。 如果您有兴趣找到这些游戏,建议您与当地的游戏商店联系,或者如今越来越多的书店(如Barnes&Noble)都在出售游戏。
。
杰伊·利特(Jay Little)是屡获殊荣的游戏设计师,老师和业余爱好游戏爱好者。 多年来,他曾与多家知名发行商和多家知名商标合作,包括美国职业棒球大联盟和《星球大战》。 他还在威斯康星州Menomonie的UW-Stout教授游戏设计和设计思想,并广泛旅行与全国各地的听众分享他的游戏经验和激情。