本文是对pcgbook(http://pcgbook.com/)的阅读笔记,笔者如果出现错误,欢迎指正

1.1 PCG的定义

PCG,基于过程式内容生成(procedural content generation),是一种通过有限或间接的用户输入来创建 游戏 内容的算法。即PCG指的是由电脑软件独自创造游戏内容或和一名或多名玩家或设计者一同创造游戏内容。
Kowalski, (2018). Strategic Features and Terrain Generation for Balanced Heroes of Might and Magic III Maps. 1-8. 10.1109/CIG.2018.8490430.
内容
内容包含关卡(levels)、地图(maps)、游戏规则(game rules)、构造(textures)、故事(stories)、元素(items)、任务(quests)、音乐(music)、武器(weapons)、交通工具(vehicles)、性格(characters)等
内容不包含游戏引擎及NPC,由于在游戏领域的人工智能和智能计算方面,CI和AI也用于角色行为方面的演讲比用于内容生成方面的更多。与进行学习如何玩游戏的AI所进行区分。

游戏
这里的游戏指的是视频游戏、电脑游戏、棋盘游戏、卡牌游戏、拼图等
内容生成相同必须考虑到它所生成的游戏的设计、负担和约束。这和衍生物以及计算机图像不同,他们不需要考虑游戏设计的约束。
生成内容的一个关键要求是他必须是可玩的,例如可以达到生成的级别、可以登上生成的楼梯、可以使用生成的武器、可以赢得生成的游戏。

过程式生成
过程式和生成意味着我们在处理一些 创造某些东西的算法或计算机程序
PCG方法:可以被计算机进行运行(或许会有人的帮助),将会输出一些东西
PCG系统:将PCG方法作为其中一部分的系统,例如自适应游戏或AI辅助游戏设计工具

以下可以视为使用过PCG的事物:

  • 一款工具,为动作冒险游戏(例如塞尔达)在没有任何人输入的情况下创建新的关卡。每当这个工具运行的时候,将会有新的关卡被创建。
  • 一个系统,在太空设计游戏中创建新武器的系统。以响应玩家的行为,每名玩家可以获得与别人不同进化版本的武器。
  • 一款程序,可以独自生成具有完整性、可玩性和平衡性的棋盘游戏。(以一些已有的游戏作为起点)
  • 一款游戏引擎中间件。能迅速使植被填充游戏世界。
  • 一款地图设计工具。允许用户为策略游戏设计地图,同时不断评估所设计的地图的游戏属性,并建议对地图进行改进,使该地图更加平衡和有趣味性。

以下不被视为使用过PCG的事物:

  • 一款策略游戏的地图编辑器,只允许用户进行放置和删除元素,不采取任何主动或自行进行任何生成
  • 棋盘游戏的人造玩家。
  • 一款集成了自动生成植被的游戏引擎

1.2 使用PCG的原因

  1. 减少艺术家及设计师的人工成本。
  2. 增强个体的创造力,使没有大公司的小团队甚至业余爱好者也能创建出内容丰富的游戏。
  3. 使新型游戏成为可能。
    1. 如果能以播放的速度生成游戏,就可以无限制生成内容。
    2. 可以根据玩家的口味和需求量量身定制。通过PCG与玩家建模相结合,通过使用神经网络来对玩家就单一游戏元素的响应进行建模,以创建适合玩家的游戏
  4. 可以更好地理解设计

1.3 使用PCG的游戏

Elite,解决空间问题的早期游戏之一,存储了种子号,用于在程序里生成八个星系,每个星系256个星球,每个都有独特的性质。
Rogue,早期的地牢游戏,每次游戏开始会随机生成关卡。
Diablo,暗黑破坏神,角色扮演类的RPG游戏,由程序随机生成不同类型、数量、位置的元素和怪物。
_Spore _,玩家通过程序动画技术设计生物,然后将这些个性化的生物填充程序设计的星系。
Civilization IV,文明4,一款基于回合的策略游戏,通过随机生成地图构建独特的体验
Minecraft,我的世界,广泛地使用了PCG技术来生成整个世界及其内容。
Spelunky,2d平台的roguelike独立游戏,利用PCG生成游戏关卡的变化
Tiny Wings,2d游戏,具有过程式的地形和纹理生成系统,给每次的游戏不同的外观。

1.4 PCG的愿景

  1. 多层次、多内容的PCG,即对于给定的游戏引擎及一组游戏规则,内容生成器能生成游戏的所有内容,使内容能高质量、完美地组合在一起。例如,给定某个流行的角色扮演类游戏的引擎和规则集,该内容生成器能生成背景、任务、文字、元素、武器、植被、地形、图片等。通过这样的方式,形成一个连贯的,稳定的游戏世界。
  2. 基于PCG的游戏设计,即在创建游戏的过程中,不仅依赖过程性的内容生成,而且PCG是游戏的绝对核心部分。如果将内容生成部分所移除,游戏将不再存在。
  3. 生成完整的游戏,不仅能够生成给定游戏的内容,而且能生成游戏本身的生成器。包括规则、结构、图形以及关卡、文字等。

1.5 PCG的必要属性

我们可以将PCG的实现看作是内容生成问题的解决方案。一个内容生成问题。不同程序之间的必要属性是不相同的,但仍然存在一些不要考虑权衡的地方。如速度和质量之间,表现性/多样性金额可靠性之间
以下为PCG常见的必要特性:

  • 速度:对速度的要求千差万别,从几毫秒到几个月,取决于内容生成是在游戏期间还是游戏开发期间。
  • 可靠性:合理性。保证生成的内容符合给定的质量要求。对于某些类型的内容而言,这很重要。如地牢如果没有出口或入口会是灾难性的失败,而如果生成一朵看起来有点怪的花,只是看起来有点怪,不一定会破坏游戏。
  • 可控性:需要内容生成器在某种意义上是可控的,以便用户或算法(例如玩家自适应机制)可以自定生成某些方面内容。控制可能会存在一定的维度。比如一个光滑的长方形岩石,一辆可以急转弯和多种颜色的汽车。
  • 表现性和多样性:需要生成一组不同的内容,以免内容看起来是一个相同的主题。如在某种极端情况下,在关卡中总是生成相同的元素,仅随机改变单个石头的颜色。而在另一种极端情况下,完全随机的组装组件,会产生混乱及不可播放。所以需要平衡表现力,在不影响质量的前提下生成不同内容。
  • 创造性和可信度:在大多数情况下,我们希望内容看起来不像是程序内容生成器设计的。

1.6 PCG的分类

将有多个维度对PCG进行分类

1.6.1 在线和离线

  • 在线的话,可以在玩家进行游戏的时候生成无限的变化,使无限地进行游戏成为可能。
  • 离线的话,是指在游戏开发期间或游戏会话开始之前,生成环境和地图等复杂内容。也可以进行内容的创建及共享(指将生成的内容上传到中央服务器)。

1.6.2 必要和可选

PCG可以用来生成并完成一个关卡所必要的游戏内容,也可以用来生成可选的辅助内容。必要内容和可选内容的主要区别在于,必要内容已被保证始终准确,而可选内容不必。可选内容如第一人称设计游戏不同类型的武器生成,或超级马里奥里的辅助奖励关卡。必要内容如超级马里奥关卡的结构。

1.6.3 程度和范围的控制

通过不同的方式控制PCG产生的内容:

  • 使用随机种子对生成器进行控制
  • 使用一组参数进行多维度的控制

1.6.4 泛型和个性

泛型内容:PCG的范式,内容在不考虑玩家行为的情况下生成。商业化的游戏会以一种通用的方式处理PCG。
个性内容:自适应、个性化地以玩家为中心的内容生成。如根据玩家的水平分配不同的游戏强度、根据玩家以前的武器使用及偏好进化武器等

1.6.5 确定和随机

在确定性的PCG中,给定相同起点和方法参数或相同的随机种子,可以再次生成相同的内容。
而在随机性的PCG中,重新创建相同内容基本上不可能

1.6.6 建设性 和 生成及测试

在建设性的PCG中,内容是一次性生成的,如roguelike游戏。
而另一种PCG,在不断循环中进行生成及测试,直到生成完善的解决方案。

1.6.7 完全自动生成 和 混合设计者输入

在一些PCG的使用中,允许设计者或玩家的优先输入,通过调整算法的参数来控制或指导内容的产生。

1.7 PCG的内涵

Khaled等人提出了PCG的四种内涵:

  1. PCG作为工具。类似程序员的开发环境或设计师的CAD,给予设计师更强大的能力。
  2. PCG可以创建新的生成材料,即物质
  3. PCG可以独立进行设计,对于部分或整个游戏进行自主的创建。不仅要设计游戏的内容,还要设计游戏的规则
  4. PCG作为领域专家,对游戏进行批判或修改。

PCGBooK第一章 阅读笔记相关推荐

  1. 西瓜书第一章阅读笔记

    西瓜书第一章阅读笔记 第一章 绪论 1.机器学习基本术语 2.归纳偏好 3.所有学习算法一样优秀? 4.补充资料 第一章 绪论 1.机器学习基本术语 记录:对一个事件或对象的描述,也称为"示 ...

  2. Introduction to modern cryptography 第一章阅读笔记

    文章目录 前言 1.1 密码学以及现代密码学 1.2 私钥密码的设定 (1) 一些定义 (2) 密码方案的语法 (3) Kerckhoffs原理 1.3 一些密码方案 (1) Caesar's cip ...

  3. 大道至简第一章阅读笔记

    大道至简的第一章中开头就举出了一个家喻户晓的故事-愚公移山,这个故事可以很容易的看出原始需求,即:"惩山北之塞,出入之迂",项目目标:"毕力平险,指通豫南,达于汉阴&qu ...

  4. animal farm 第一章阅读笔记

    chapter 1 Old Major's dream. paragraph 1  //Mr Jones is the mastor of the Manor Farm.That night  he ...

  5. 计算机网络第七版第一章阅读

    计算机网络第七版第一章阅读 第1章 概述 1.1 计算机网络在信息时代的作用 1.2 互联网概述 1.2.1 网络的网络 1.2.2 互联网基础结构发展的三个阶段 1.2.3 互联网的标准化工作 1. ...

  6. 西瓜书第三章阅读笔记

    西瓜书第三章阅读笔记 第三章 线性模型 1.机器学习三要素 2.基本形式 3.线性回归 3.1 模型 3.2 策略 3.3 求解算法 4.对数几率回归 4.1 模型 4.2 策略 4.3 求解算法 5 ...

  7. 【食品化学与营养】第一章 绪论 笔记

    [食品化学与营养]第一章 绪论 笔记 1.1 食品化学的定义 食品化学的定义 什么是食品 什么是化学 什么是食品化学 食品化学的发展历史 食品化学的研究方法 1.2 食品化学的研究 食品化学 食品化学 ...

  8. Flash 第一章 课堂笔记

    Flash 第一章 课堂笔记 第一部分 动画是一个范围很广的概念,通常是指连续变化的画面按照一定顺序播放,从而使人产生运动错觉的一种艺术. 视觉暂留现象是什么意思? a) 视觉印象在人的眼中大约可保持 ...

  9. 现代控制理论第一章学习笔记

    现代控制理论第一章学习笔记 控制系统的状态空间表达式 1.1状态变量及状态空间表达式 1.2状态变量及状态空间表达式的模拟结构图 1.3状态变量及状态空间表达式的建立 1.3.1从系统框图建立状态空间 ...

最新文章

  1. “以史为鉴”-企业信息化的梳理-前言
  2. 读写App.config配置文件的方法
  3. The Genymotion virtual device could not obtain an IP address
  4. Atitit php序列化 php的serialize序列化和json序列化
  5. 前端性能优化 Web前端应该从哪些方面来优化网站?
  6. winxp上传文件到服务器,通过SQLServer的xp_cmdshell在服务器之间传送文件
  7. EF 线程内唯一对象
  8. css ltimg gt只适应,css3动画,CSS3实战小技巧--使用CSS变量实现波浪动画
  9. [转载] Python ascii()函数
  10. 爱情六十六课,自我救赎
  11. UDS协议之诊断会话管理服务 0x10
  12. ArcGIS for Desktop 10.2安装破解与使用图文详解
  13. 使用Python-Flask框架开发Web网站系列课程(四)构建前端
  14. linux测坏道脚本,linux测试硬盘坏道
  15. android6.0 cta认证,手机cta认证要求有哪些?
  16. 旅行青蛙分析(Android篇)
  17. 【转载】测试面试知识点
  18. php生成云图,教程:用Python生成词云图
  19. 每日一题:现在你在玩一款游戏,叫做节奏大师。它有三种判定
  20. CS231n笔记-CNN网络结构

热门文章

  1. 安科瑞企业综合能效管理系统 时丽花
  2. 简明教程:只需三步成功“硬刷”BIOS为SLIC 2.1完美激活Windows 7 / Vista / XP三大系统
  3. 使用C语言打印99乘法表
  4. 消息通知中台:websocket 网页通知插件
  5. 知识图谱综述思维导图
  6. A、B、H、S、N股 各是什么意思
  7. java读取word文档中的文字和图片,doc和docx兼容版
  8. 云服务器ECS,你真的懂吗?
  9. CF K. City
  10. 前端开发基础——常用处理函数