Quantcast
Channel: 英特尔开发人员专区文章
Viewing all 583 articles
Browse latest View live

基于可信计算和SGX技术的软件保护白皮书

$
0
0

背景情况

互联网产业的飞速发展产生了海量数据,同时,处理器的计算能力也伴随着摩尔定律而不断提升,这些因素都间接推动了深度学习技术在人工智能领域的普及,促进了语音识别、图像识别等技术的快速发展和产业化推进。1997年,IBM的“深蓝”超级电脑战胜国际象棋世界冠军卡斯帕罗夫,标志着人工智能领域发展迎来了一个里程碑时刻;2016年,谷歌的“AlphaGo”击败围棋世界冠军李世石九段,进一步加速了人工智能的普及,并彻底引爆产业发展。

目前,人工智能已在多个领域开花结果。谷歌、微软、苹果、亚马逊等世界巨头,以及国内的百度、阿里、腾讯等领先企业纷纷结合自身业务情况开展了相关的研究,并在自动驾驶、智慧医疗、虚拟现实等场景下取得了丰硕成果,也为企业发展注入了新的力量,可以说,人工智能是引领企业未来发展的战略性技术突破。

与此同时,由于人工智能包含了企业的核心算法和数据,凝聚了企业的智力成果,包含相关成果和知识产权的软件如果被不法分子破解,进而窃取关键算法和重要数据,将给企业带来无法估量的损失。因此相关企业对人工智能的成果保护工作愈发重视,主要从两个方面开展工作,一方面是依赖于国家的知识产权保护规定,通过申请专利进行保护;另一方面是通过一些软件保护的措施,防止核心算法和数据被窃取。对于前者,各国规定不一而同,如美国专利局支持人工智能算法通过专利进行保护,而包含中国在内的部分国家,尚不支持智力活动的规则和方法申请专利;对于后者,保护形式多种多样,保护强度也差别较大。因此,对于那些资源有限、经费有限的企业,在专利保护制度尚不能有效保护的条件下,更依赖于软件保护的方式。


加速智能、创新系统和物联网解决方案开发

$
0
0

尊敬的(先生/女士):

"加速智能、创新系统和物联网解决方案开发"英特尔在线研讨会将于北京时间2018年6月21日上午10: 00 开始,期待您的准时参加!

无论您是一名设备制造商、系统集成商,亦或是嵌入式应用程序开发商,总能找到适合您的内容!

您正在寻找更短的系统更新或验证周期?需要更快的软件堆栈集成和优化?想要高效地提供新功能,可以访问云连接器和传感器,以实现智能驾驶、感知计算等解决方案?

那么您需要的正是这样一款跨平台工具套件:英特尔® System Studio,利用英特尔® 凌动®,酷睿™ 和至强® 处理器。

开发多平台计算机视觉解决方案,探索新的OpenVINO™ 工具包(Intel® Computer Vision SDK)借助英特尔® 平台,让您的愿景成为现实——从智能相机和视频监控到机器人技术、交通工具等等。

加入我们,参加北京时间6月21日上午10点开始的在线研讨会,与英特尔资深技术工程师和并行科技应用总监一起,学习如何利用英特尔工具和技术加速上市时间,提高系统和物联网应用的性能和效率,增强系统的可靠性。

讲师介绍

Fiona Zhao
英特尔技术工程师

为开发人员提供英特尔® 软件工具的技术咨询和培训,熟悉英特尔的人工智能软件解决方案,包括 Intel® MKL-DNN, Intel® OpenVINO™ 和 英特尔® 性能库。

 

 

乔楠
并行科技应用总监

带领团队搭建了超算网格产品体系和服务体系。前任英特尔有限公司中国高性能计算团队经理,专注于服务器应用软件的性能推进。

 

 

若有疑问,请联系:
李金星  邮箱:lijinxing@itcgb.com
电话:010-64410820

 

 

集成英特尔® 处理器显卡版本 2.0 助力加速深度学习推理

$
0
0

前言

本文第一版发表于 2017 年 5 月,推出了首款面向英特尔 GPU(英特尔文档和本文亦称英特尔® 处理器显卡,因为这些 GPU 借助英特尔 CPU 家族集成至系统芯片 (SOC))的开源深度学习核心函数库 – 面向深度神经网络的计算库 (clDNN) GitHub*。一年后,发生了很多事情。下面探讨的有关迁移至边缘的 AI 推理的趋势只会加速发展。云服务提供商正在添加 AI Edge(Amazon Web Services (AWS)*、AWS Greengrass*、Microsoft Azure* IoT 等),而且我们发现汽车新增了添加 AI 工作负载的智能扬声器,虽本地运行,但能与云环境进行通信。作为边缘推理的 AI 加速器,英特尔 GPU 具备出色的普适性和性能,推动了很多行业发展。主要亮点 — 2017 年 6 月:Apple 推出 Core ML* AI 框架,该框架使用 macOS* 中经过调优的 Metal 性能着色器 (MPS) 内核在英特尔 GPU 上加速 CNN;2017 年 11 月,Amazon Web Services 推出 AWS DeepLens AI 开发套件*,该套件在英特尔 GPU 上使用英特尔® 深度学习部署工具套件(英特尔® DL 部署工具套件)和(本文所介绍的)clDNN 库运行深度学习算法;2018 年 3 月,Microsoft* 推出面向 Windows* 的 WinML AI 框架,演示在英特尔 GPU 上运行的计算机视觉功能。在英特尔开发方面,clDNN 库现在支持更多 AI 拓扑结构,且借助优化图对性能进行了调优。近期(2018 年 5 月)推出了英特尔® OpenVINO™ 工具套件 — 之前以英特尔® 计算机视觉 SDK(英特尔® CV SDK)的 Beta 形式推出,OpenVINO 实现了多项性能和可用性增强。下文已更新为在各种使用 clDNN 库并从英特尔® 奔腾® 到高端英特尔® 酷睿™ SOC 的英特尔 GPU 上运行 OpenVINO 中的深度学习部署工具套件时所实现的最新性能数据。

简介

本文将介绍近期发布的英特尔® 软件开发工具,它跨各种英特尔系统芯片集成了英特尔® 处理器显卡解决方案,可加速边缘设备(比如智能摄像头、机器人、自动驾驶汽车等)中的深度学习推理过程。本文将特别介绍英特尔® 深度学习部署工具套件(通过OpenVINO™ 工具套件提供),以及这些工具如何帮助开发人员提升性能,更重要的是提升产品中 AI 推理的性能功耗比。本文还将介绍面向深度神经网络的计算库 (clDNN),它是用 OpenCL™ 语言编写的开源版本的神经网络内核优化。

目标受众

旨在通过英特尔® 处理器显卡最大限度地提高深度学习性能的软件开发人员、平台架构师、数据科学家和学术人员。

注:本文的人工智能 (AI)、机器学习 (ML)、深度学习 (DL) 可交换使用。我们更多地使用人工智能。本文将重点介绍人工智能中的深度学习,更具体地说是多层神经网络形式的机器学习,称为深度学习。

AI 背景信息以及迁移至边缘

人工智能 (AI) 研究领域在过去的 60 年时断时续,缓慢发展。但过去 5 年来,随着支持使用大量数据源、计算引擎的增长,以及基于神经网络的现代化算法开发,AI 领域快速发展。机器学习和多层深度学习将 AI 推进至现代生活的各个领域,因为它可应用于多种用途,包括计算机视觉、识别与分类、自然语言处理和预测。在许多生活领域中,这些基础任务可帮助优化决策过程。

正如数据科学家 Andrew Ng 指出,AI 将成为下一代电力:

“就像 100 年前电力几乎改变了一切,今天我很难想象未来几年有哪一个行业不会因 AI 而发生巨大变化。”

AI 浪潮已席卷至在服务器上运行的云环境。尽管 AI 越来越多地在云环境中的使用,但目前趋向于在边缘执行 AI 推理。相比于仅依靠云环境,这种设备趋向于在本地执行机器学习主要源于对更低延迟、持久可用性、更低成本和解决隐私问题的需求。我们正在进入 AI 设备时代,包括手机、PC、汽车、机器人、无人机,以及冰箱、洗衣机等嵌入式设备。Andrew Ng 指出,各行各业的公司都在探索 AI 战略。另外,AI 领域瞬息万变,每周都会推出独创的拓扑结构。这要求产品开发人员精心设计,使其产品能够灵活修改 AI 软件。

英特尔® 处理器显卡用作边缘 AI 推理解决方案

英特尔处理器显卡(英特尔® 核芯显卡、英特尔® 锐炬® 显卡和英特尔® 锐炬® Pro 显卡)可帮助在固定功能加速和可编程性之间实现良好的平衡,为所有新兴 AI 工作负载提供良好的性能功耗比,同时灵活地支持客户采用最新 AI 拓扑结构。具体来说,英特尔处理器显卡可提供以下特性:

普适性

作为英特尔系统芯片的一部分,英特尔处理器显卡已发运至超过 10 亿台设备,包括服务器、PC 和嵌入式设备。这使它成为了应用广泛的机器学习算法运行引擎。

可扩展性

随着 AI 嵌入至所有产品,功耗和性能的设计点将会有很大差异。英特尔处理器显卡支持多种性能功耗比产品,包括英特尔凌动® 处理器、英特尔® 酷睿™ 处理器和英特尔® 至强® 处理器。

媒体领导力

超过 70% 的互联网流量都是视频。在设备中,人工智能最大的一项用途是计算机视觉。除了 AI 计算之外,还将同时采用编码、解码和处理视频。英特尔® 快速视频同步技术基于英特尔处理器显卡的专用媒体功能,可提高媒体应用的性能和能效,特别是能够加速解码、编码和视频处理等功能。请访问 英特尔快速同步视频页面了解更多信息。开发人员使用 英特尔® Media SDK英特尔® Media Server Studio 时,API 将支持访问这些媒体功能以及面向 Windows* 和 Linux* 的硬件加速的编解码器。

强大灵活的指令集架构 (ISA)

处理器显卡 SIMD 执行单元的指令集架构 (ISA) 非常适合深度学习。该 ISA 通过 SIMD 乘法累加指令为 32 位 FP、16 位 FP、32 位整数和 16 位整数提供丰富的数据类型支持。在理论峰值期间,可在每个执行单元的时钟上完成这些操作。此外,ISA 还提供丰富的子寄存器区域寻址功能,支持高效共享交叉通道,从而优化卷积实施,或支持高效的水平扫描减法操作。最后,ISA 提供高效的内存块加载,以快速加载数据块,从而优化卷积或优化通用矩阵乘法实施。

内存架构

使用独立显卡加速深度学习时,每次执行的输入和输出数据必须从系统内存传输到独立显存,会导致延迟和功耗翻倍。英特尔处理器显卡在芯片和 CPU 集成在一起。这种集成有利于 CPU 和处理器显卡共享系统内存、共享内存控制器,以及共享部分缓存层级结构。这种共享内存架构可实现高效的输入/输出数据传输,甚至可以实现“零拷贝”缓冲区共享。另外,英特尔还提供包含其他封装集成 eDRAM 的 SKU 产品。

英特尔® 深度学习部署工具套件

为了轻松有效地利用英特尔处理器显卡的硬件资源,英特尔提供可通过 OpenVINO 工具套件获得的深度学习部署工具套件。该工具套件采用经过训练的模型,并可根据特定端点设备的特性进行定制以达到最佳运行状态。另外它还提供统一 API 将推理和应用逻辑集成起来。

深度学习部署工具套件包含两个主要组件:模型优化器和推理引擎(图1)。

Model flow Deep Learning Deployment Toolkit
图 1.通过深度学习部署工具套件的模型流程

模型优化器

它是一种跨平台命令行工具,可执行静态模型分析并调整深度学习模型,以在端点目标设备上实现最佳执行。具体来说,模型优化器可:

  • 视作训练的网络在特定于框架(比如 Caffe* 框架)的格式下的输入
  • 执行网络层的水平和垂直融合
  • 裁剪网络中未使用的分支
  • 量化权重
  • 以网络内部表达 (IR) 作为输出 — 生成描述整个模型的两个文件:
    • 拓扑文件 – 一种描述网络拓扑的 XML 文件
    • 训练数据文件 – 一种包含权重和偏差二进制数据的 .bin 文件

生成的 IR 用作推理引擎的输入。

推理引擎

它是一种可提供统一 API,将推理和应用逻辑集成起来的运行时。具体来说,它可:

  • 以模型优化器生成的 IR 作为输入
  • 优化目标硬件的推理执行
  • 交付推理解决方案,节省嵌入式推理平台的空间

深度学习部署工具包可以优化在 CPU、GPU 和 FPGA 等不同硬件单元上运行的推理。为实现 CPU 加速,它使用 MKL-DNN 插件英特尔® 数学核心函数库(英特尔® MLK)的域,包含加速常用图像识别拓扑结构所必需的功能。使用面向英特尔® 深度学习推理加速器(英特尔® DLIA)的插件可支持 FPGA 加速。关于 GPU,深度学习部署工具套件包含 clDNN— 一种 OpenCL 内核库。下一节将介绍 clDNN 如何帮助提高推理性能。

Performance Improvement Using the OpenVINO Toolkit

深度神经网络计算库 (clDNN)

clDNN 是一种内核库,用于加速英特尔处理器显卡的深度学习。基于 OpenCL,这些内核可加速常用拓扑结构中的许多常用函数调用(AlexNet、Visual Geometry Group(VGG)、GoogLeNet、ResNet*、Faster-RCNN*、SqueezeNet* 和 FCN*,现在支持更多)。为了给开发人员提供最大的灵活性和最高的可实现性能,英特尔正在提供:

1.完整的开源库,以便开发人员和客户将现有内核用作模型来构建或创建可运行深度学习的特定于硬件的内核。

2.计算扩展,以向开发人员展示完整的硬件功能。

在网络编译期间,clDNN 将工作流优化过程分为以下三个阶段。

Model flow from topology creation to execution
图 2.从拓扑创建到执行的模型流程

网络编辑和clDNN的 3 个阶段

第 1 阶段网络级别

融合是在 DL 中优化图形最有效的一种方法。在 clDNN 中,我们创建了两种方法来执行融合 - 一种可以在单个加速器(朴素推理客户端)上自动运行,另一种是让更有经验的数据科学家进行调整,以跨多个加速器(融合基元集)运行。更详细地说:

  • 朴素推理客户端 — 有一个工作负载,希望它在一个加速器上运行。在这种情况下,用户可以在网络编辑期间请求 clDNN 执行融合。
  • 融合基元集 — 采用这种方法时,具有模型调整经验的用户在其应用中使用模式匹配进行图形编译,以平衡不同加速器的工作。对于这种方法,我们公开已经融合的基元。

目前 clDNN 支持 3 种融合:支持激活的卷积、支持激活的完全连接,以及支持激活融合基元的去卷积。其他融合正在开发中。

网络级别优化的另一部分是填充实施。选择用作数据存储的 OpenCL 缓冲区需要填充,有两种方法,一种是在内核中添加条件,另一种是输入数据周围为缓冲区提供提供一个框架。第一种方法会消耗整个寄存器预算,从而限制卷积内核的可用寄存器,进而对性能产生负面影响。

实验表明,在缓冲区周围添加适当的对齐框架会提供更好的性能结果,如下所示:

考虑包含两个基元 A 和 B 的网络。B 包含等于 2 的填充:

Padding Example
填充示例

Padding with frame
添加大小为 2 x 2 的框架

Reordered primitive
要添加框架,我们需要添加重排序基元

A primitive fused with B

第 2 阶段.内存级别

只要定义了拓扑并提供了数据,网络就可以进行编译。网络编译的第一步是确定激活布局。在 DNN 中,存储在隐藏层中的数据被定义为 4D 内存块。在 clDNN 中,用 4 个字母定义布局描述:

  • B - 批次中补丁的数量
  • F - 特征图或通道的数量
  • X - 空间或宽度
  • Y - 空间或高度

Example of a memory chunk
图 4.内存块示例

 B F Y X layout
图 5.大多数情况下最佳布局为 BFYX

如果数据类型为半精度 (fp16),批次大小大于或等于 32,且卷积使用拆分参数(像 AlexNet 卷积中的深度拆分),那么 clDNN 布局为 YXFB。

Y X F B layout
图 6.YXFB布局

在内存级别优化期间,选择每个基元的内核之后,clDNN 运行权重优化,将用户提供的权重转化为适合所选内核的权重。卷积权重存储在:

Weights  in I S_I Y X_O S V 1 6
图 7.IS_IYX_OSV16 中的卷积权重

对于完全连接的网络,根据数据类型(fp16 / fp32)的不同,权重可以转化为以下一种:

Memory layouts for optimized fully connected primitives
图 8.优化型全连接基元的内存布局

第 3 阶段.内核级别

为了在英特尔处理器显卡上有效地支持现代拓扑结构,需要重点完成卷积实施。为此,clDNN 使用输出块支持英特尔处理器显卡上的每个线程一次计算多个输出。块的大小取决于卷积步长的大小。如果块大小大于步长,clDNN 将使用混编技术重新使用邻域内的权重和输入。这种方法使 AlexNet 卷积内核上产生了 85% 的性能峰值。所有读取和写入都使用更优化的 block_read / block_write 函数。类似的方法可用来高效运行去卷积和池化基元。

性能数据

英特尔 SOC 中的集成 GPU 性能

GoogleLeNet comparison benchmark

ResNet comparison benchmark

AlexNet comparison benchmark

上述运行的显卡

显卡集成至
英特尔® 核芯显卡 505英特尔® 奔腾® N4200 CPU @ 1.10 GHz - Windows
英特尔® 核芯显卡 630英特尔® 酷睿™ i5-7600 CPU @ 3.50 GHz -GT @1150 MHz - Windows
英特尔® 锐炬™ Plus 显卡 650英特尔® 酷睿™ i7-7567U CPU @ 3.50 GHz -GT @1150 MHz - Windows
英特尔® 锐炬™ Pro 显卡 580英特尔® 酷睿™ i7-6770HQ CPU @ 2.60 GHz -GT @950 MHz - Windows

所有英特尔平台均通过英特尔® OpenVINO™ 工具套件中的英特尔深度学习部署工具套件运行。

英特尔锐炬 Pro显卡可提升峰值性能,而英特尔核芯显卡可提升性能功耗比。

能效

在一些功耗受限的工作负载中,相比绝对性能,更重要的是要最大限度地提高性能功耗比。由于降低时钟速率会导致功耗线性下降,但电压一致,因此GPU 性能功耗比会随着频率降低而线性增加。在低功耗状态下,英特尔核芯显卡可以更高的每瓦 FPS 运行,同时保持较低的频率。不同的英特尔® 处理器产品的漏电率和电源行为各不相同,例如,英特尔 “Y skus” 的第六代和第七代处理器,比如采用英特尔® 核芯显卡 515 的英特尔® 酷睿™ m7-6Y75 处理器的峰值性能较低,但性能功耗比更高。在功率和性能点中选择合适的英特尔 SOC 并选择相应的频率,开发人员可进行调整以满足各种工作负载和功耗要求。

结论

由于机器学习,特别是过去几年深入学习领域的巨大进步,人工智能的应用越来越普遍。边缘的所有设备都在进行迁移以实施某种形式的 AI,出于成本、延迟和隐私问题,AI 将越来越多地在本地执行。英特尔处理器显卡为加速深度学习工作负载提供了一个很好的解决方案。本文介绍了优化的 CNN 内核的深度学习模型优化器、推理引擎和 clDNN 库,可帮助开发人员将支持 AI 的产品推向市场。

附录A. clDNN 库中的基元列表

面向深度神经网络的计算库 (clDNN) 是一款用于在英特尔® 核芯显卡和锐炬™ Pro 显卡上加速 DNN 推理的中间件软件。该项目包括通过 C 和 C++ 接口在英特尔 GPU 上实施 CNN 基元。

clDNN 库实现了一个基元集:

  • 计算基元
    • 卷积
    • 去卷积
    • 全连接(内部产品)
    • 元素智能
  • 池化
    • 平均
    • 最大
    • ROI 池化
  • 归一化
    • 跨渠道/渠道内 LRN
    • 归一化
    • 批量归一化
  • 激活
    • 修正线性单元 (RelU)
  • 辅助
    • 裁切 (Crop)
    • 串联
    • 简单 NMS
    • Prior box
    • 检测输出
    • 重新排序
  • Softmax

通过这个原始集,用户可以构建和执行最常见的图像识别、语义分割和对象检测网络拓扑结构。部分业经验证的拓扑结构包括:AlexNet、VGG(16,19)、GoogLeNet(v1,v2,v3)、ResNet(50,101,152)*、更快的 R-CNN*、Squeezenet*、SSD_googlenet*、SSD_VGG*、PVANET*、PVANET_REID*、age_gender*、FCN* 和 yolo*

参考资料

有关更多信息或如何开始使用,请访问以下链接下载工具或资源库:

将深度学习部署工具套件作为 OpenVINO 工具包组件的一部分下载或独立下载

获取 clDNN 开源的 GitHub 链接

第九代英特尔® 处理器显卡的计算架构

Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more information, see Performance Benchmark Test Disclosure.

《星际迷航*:舰桥船员》与虚拟现实新趋势

$
0
0

the bridge of a Star Trek spaceship

《星际迷航™:舰桥船员》是展示虚拟现实 (VR) 游戏如何充分利用 CPU 和 GPU 功能提供沉浸式游戏体验的最新示例。这款游戏是游戏领域最新科幻游戏系列的一部大作,同时展示了英特尔《沉浸式虚拟现实体验指南》中描述的许多关键概念,值得深入探讨。

最成功的 VR 游戏可让人躲进另一个感觉真实的世界。英特尔® 开发人员专区读者了解过 Arizona Sunshine* 和 Lone Echo*,这两款游戏很好地说明了成功的 VR 游戏可以通过遵循指南中新标准,打造出色的沉浸式游戏品质。这两款游戏巧妙地创造了太空、深井等交替现实的虚幻场景。在本篇文章中,《星际迷航:舰桥船员》将提供另外一个角度。

延续传统的最新作品

《星际迷航*》 1966 年在网络电视首映后 50 多年来,这部科幻影视系列不断(大胆)发展和完善。原初系列在播放三季后停播,但联合制作、分拆系列、小说、漫画、杂志、展览和 13 部电影让《星际迷航》成为科幻历史上最负盛名的游戏之一。

粉丝们曾经不顾一切地在现实生活中体验《星际迷航,包括长途跋涉地参加集会,在慈善拍卖会上竞拍临时参与 TV 和电影制作的机会。但直到现在也只有少数幸运者能有此体验。《星际迷航:舰桥船员》视频游戏被称为“现实全息甲板”(《星际迷航:下一代》中船员实践他们的狂想的地方),它以 2009 年重新上映的《星际迷航》为动作背景,模拟驾驶联邦星舰的体验。

《星际迷航: 舰桥船员》由 Ubisoft 娱乐公司 Red Storm Entertainment 开发,最初于 2017 年春季发布,VR 版本仅限于 Windows* 和 Oculus* Rift,以及 Sony PlayStation* VR。当年晚些时候发布了非 VR 版本。游戏发生在 Vulcan 星球被摧毁之后;船员的任务是为少量幸存的 Vulcan 族人寻找适宜居住的新家,从 Klingons 占领的太空区域开始。和电影和电视节目中的剧情一样,他们要设计航线和驾驶舰船、准备和操作武器,并控制舰船的能量和维修舰船。玩家可以是本地玩家,也可以是在线玩家,除舰长以外的所有人可以通过电脑控制。

此 VR 版游戏让粉丝能够前所未有地接近《星际迷航》体验的中心,他们可以直接站在舰桥上。带上头盔,您就可登上 U.S.S. Aegis 星舰,进入指挥中心,映入眼帘的是熟悉浩瀚的太空。最多可有 4 位玩家,分别扮演舰长、工程师、舵手和战术官。可以使用单人选项,但体验会大不相同;船员之间的交互是游戏的一个重要方面。

许多 VR 游戏将玩家带入此前从未见过的世界,没有任何现有参考框架,也不能立即进行比较。但对《星际迷航:舰桥船员》来说,玩家并不是“到达前所未有的游戏领域”,因为他们将“进入一个非常熟悉的世界,他们对这个世界的具体样子有着固定的想法。”在这个世界中,粉丝们会非常在意船舱门所发出的噪音等细节。“规则”是否适用?此外,这款游戏能否实现粉丝们所期望的“身临其境”的体验?下面我们来一探究竟。

Star Trek spaceship Aegis in space
图 1.USS Aegis《星际迷航:舰桥船员》令人眼花缭乱的外景中呼啸而过。

虚拟现实的现实

不仅令玩家感到安全,还会令他们想继续畅玩游戏的英特尔 VR 游戏制作指导方针主要分为三大类:

  • 物理基础
  • 基本现实
  • 独具创新

安全第一

物理基础建立在安全、舒适和封闭的现实世界之上。安全涉及物理和社会两个方面,确保玩家在与虚拟世界互动的过程中安全无虞,并且能够意识到虚拟世界中的行动所带来的社会后果。舒适性与人体工程学有关,如贴合良好的耳机和易于使用的控制器,并避免出现可怕的晕动病。遮挡真实世界是为了防止对 VR 体验造成干扰,这一点很容易被忽视。

英特尔游戏技术工程师 Cristiano Ferreira 解释了如何避免 VR 最早出现的问题之一:晕动病。他说:“除非满足特殊条件,否则大大的“禁止”标志会突然加快玩家的移动节奏。”他提到这样的条件是将角色放置在车辆周围明显静止的区域。在《星际迷航:舰桥船员》中,船员各自站在甲板的静止区域内。还有一个选择,就是参考首次公演的原初系列,让舰长坐在椅子上。

Ferreira 解释说:“您想在现实中感受到一种踏实的落地感,让自己获得安全感进入完全沉浸的体验之中。”他还举例说明了不安全环境中令人感到不安的特征。“如果 VR 游戏区附近有一只狗跑来跑去,或者附近有突出物,你就知道我在说什么,这可能会让人感到害怕。”

新世界的基本现实

指导方针将基本现实划分为以下子类别:图形完整性、逼真的音效、响应迅速的世界,和直观的控制。

《星际迷航:舰桥船员》的某些方面展现了指南中所提到的“神秘山谷”的概念。神秘山谷指的是这样一种理论,即当“人类复制品无限接近并不存在的现实,相比漫画,它们会令观察者更加反感。”幸运的是,《星际迷航:舰桥船员》没有犯这个错误,出现令人不安的超现实主义人物。游戏中的人物显然是人物,不令人毛骨悚然,也不是机器人。Ubisoft 还通过避免令人不安的漏洞、故障和其他用户体验卡顿打破虚拟幻想,确保图形完整性。指导方针中的其他建议是保持沉浸感的关键。Ferreira 说:“在尝试现实主义的游戏中,不切实际的条件会很快将玩家带回现实。”

players interacting on the bridge
图 2.玩家主要通过舰桥控制进行互动,从而确保人身安全。

英特尔发现,广受好评的 VR 游戏通常让玩家与场景之间保持高度的互动。支持与周围环境互动和导航是 VR 游戏获得成功的关键因素,比如 Arizona Sunshine*Lone Echo*。在《星际迷航:舰桥船员》中,角色坐在座位上会降低交互性,但游戏完全满足玩家对船员工作方式的期望,每个角色都站着或坐在特定的位置从事与其等级相关的工作。在原初系列中,舰桥上的动作包括按按钮、移动手柄和执行命令。《星际迷航:舰桥船员》中的互动程度是对星际迷航宇宙一种刻意的怀旧,它符合星际迷航迷对真实和虚拟的期望。

虽然舰桥场景唤起了怀旧情绪,但其空间场景真正达到了前所未有的游戏领域,图形美轮美奂,音效悦耳动听,让玩家沉浸在想象世界的非凡场景之中。Ferreira 说:“VR 的美妙之处在于能够体验带有一丝现实的虚幻世界。它让人类能够进入前所未有的体验。”游戏可以打破物理定律,创造现实世界中所没有的视觉效果,并在保持基本完整性的同时,通过迷人的音频增强视觉效果。《星际迷航:舰桥船员》成功实现了这种美妙体验。

响应速度和直观控制是保持基础现实主义的最后两个关键因素。Ferreira 兴奋地说,直观的舰桥控制“就像你身体的延伸”,而且在太空中导航、发射武器或神奇防护罩时会达到预期的响应速度。“从这个意义上说,你的确是在与游戏场景互动,”他说。游戏成功的一个关键因素是关注度,它会让玩家在任何情况下都能感受到力量和活跃。

Engineering consle
图 3.工程控制台的响应性和直观性,完全符合指导方针。

满足期望,独具创新

是英特尔 VR 指南的第三类是独具创新,而且《星际迷航:舰桥船员》的航程是基于该航线而设定的。在 VR 指南中,英特尔通过以下要点定义独具创新:

  • 顺利载入,完成从真实到虚拟的所有重要过渡。
  • 无处不在的互动性,重视玩家的期望。
  • 注重 VR 交互,突显这个世界的独特性。

由于大多数玩家都将体验到《星际迷航》的基本前提和背景,因此载入涉及简单的任务,确定游戏的使命和控制。差异化的角色扮演为剧情和玩家的反应提供了选择,鼓励玩家开始新的任务。环境(和互动程度)与预期一致,这要归功于它坚持现有的《星际迷航》模式。每位船员的控制都非常简单,使用方便,不会感觉为难,但同时也错综复杂以保持吸引力和趣味性。游戏包含详细的教程,是顺利载入过程的一部分,这意味着玩家过渡到虚拟世界,然后在虚拟世界中移动,这期间不会出现任何不和谐的卡顿和中断。

由于游戏本身的性质,交互性无处不在。船员不是简单地打退一波又一波的太空入侵者,而是要进行控制、解释命令、设计航线和制定战略。难度越高,奖励越多,责任也越大,但每次互动都合乎逻辑并符合相应的类型和系列。

例如,工程角色将可用能量分配给防护罩、发动机和相位器,而且舰船看到动作时能量的需求会相应增加。一名优秀的工程师会在行动时表现得冷酷、镇定自若,就像中尉指挥官 Montgomery Scott 或 Geordi La Forge 等传奇人物。玩家会仔细研究他们的资料!

战术官负责扫描仪和武器,包括相位器和鱼雷。像电视剧和电影中的一样,扫描到敌方舰船后,控制系统只瞄准引擎、防护罩或武器。这种瞄准动作只有在敌方防护罩下降时才有效。然而,在舰船工程师的扫描帮助下,聪明的战术官可以隔离敌人的防护罩频率并破坏它们。

Tactical console
图 4.战术控制台可以监视敌方武器和防御,并将各个系统隔离起来以展开攻击。

舵手负责设计航线和驾驶舰船。他们处理的控制包括脉冲和扭曲驱动、速度、航向和航线。如果所需的速度超过可用能量所允许的速度,舰长可以选择命令工程部重新选择舰船。

Navigation console
图 5.航程设计好后,舵手将舰船转向黄色航线。

舰长与船员访问的信息相同,但也可以控制主屏幕上显示的内容,可以重复控制,以便在不同的放大倍率下查看或显示舰船外部或目的地的视图。舰长的控制可以通过电子方式向相应的船员发送命令。舰长也可以口头传达指令。玩家无论是扮演 James Tiberius Kirk 还是 Jean-Luc Picard,游戏都会让舰长完全控制这艘舰船。

指导方针中提出的首要性概念非常重要,这个游戏很好地证明了有效的基本交互。正如指南所述,“强调 VR 独特功能并将其用于基本交互的软件将能更有效地保持用户对游戏的兴趣和持续畅玩游戏。”

斯坦福大学虚拟人类交互实验室主任 Jeremy Bailenson表示,开发人员如果希望借助基本交互获得成功,应该问自己一个基本问题:在实际情况中,这种交互是不是比较罕见、不可能实现、太危险或太昂贵?当佩戴着令人垂涎的星际舰队徽章驾驶星舰时,所有这些要素都会一一得到验证。粉丝们希望进入到这个宇宙的内部,并且会仔细考量他们对其如何运作以及如何交互的期望。

一项已完成的使命

与所有固定的 AAA 游戏一样,更强大的系统规格可为《星际迷航:舰桥船员》提供更流畅的图形渲染和更高的帧速率 — 真实沉浸式 VR 体验的关键。Ferreira 在英特尔负责的其中一项工作就是为游戏开发人员分析游戏,帮助他们确定需要进行性能改进的地方。Ferreira 说,常犯的错误是过多地注重不会对故事情节产生作用的视觉效果,比如镜头眩光、运动模糊、强制景深或色差。他说:“必须时刻注意 GPU 的运行情况,以预防和提前解决性能问题。“使用英特尔® 图形性能分析器(英特尔® GPA)等帧分析工具可以帮助您了解内部的运行情况,您会惊讶于某些后期效果对帧预算所产生的重大影响。”您也可以充分发挥出自己的潜能。

《星际迷航™:舰桥船员》是一款成功的 VR 游戏,因为该游戏谨遵英特尔虚拟现实指南中的已知最佳实践,打造出色的 VR 体验。您如果考虑创建新的 VR 游戏,可立即下载本指南,为自己创造绝佳的成功机会。

资料来源

增强现实之路上的挑战与权衡

$
0
0

原文由 Intel Game Dev 发表于 VentureBeat*:增强现实之路上的挑战与权衡。请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

在过去几年间,接触过虚拟现实的任何人,无论是虚拟现实开发人员、虚拟现实用户,还是对这个行业感兴趣的普通民众,都一致认为全息甲板(Holodeck*)是一个出现频率过高的词汇。全息甲板是热门电影《星际迷航》提出的概念,现在常用来比喻想象中的虚拟现实技术终端。

远大的愿景有一定的作用,但是也会为我们带来伤害。现实情况是,我们距离实现全息甲板视觉还有很长的路要走,这也没什么。虚拟现实已经发挥了多种实际用途,近期推出的解决方案不会欺骗我们的所有感官,使我们完全搁置自己的疑惑。多数虚拟现实用户和业内人士似乎已经接受了这一点。我们一致认为,短期内将产生卓越的产品解决方案,满足人们对全息甲板的部分期待,其他的期待便只能寄托于《星际迷航》和其他科幻小说。

令人意想不到的是,许多人相信增强现实1能够实现“虚拟现实全息甲板”的愿景,通过硬件和软件的神奇组合,交付轻薄、时尚的眼镜,不是将我们带到任何想象中的世界,而是赋予现实世界任何可以想象的增强感觉。此外,许多人相信这在短期内可以交付。

沉浸式技术领域(增强现实、虚拟现实)内的解决方案通常会依赖常用的基础技术,增强现实在许多方面面临更大的难题。增强现实可以被视作一整套棘手的技术难题,每个难题都会引发更深的困惑。

如同虚拟现实,增强现实包含一个输入输出循环,必须以足够快的速度执行该循环,才能使结果与周围世界和用户的直觉相吻合,在某种程度上欺骗用户的意识和潜意识。此外,为了与周围环境相吻合,解决方案可能需要与周围的信息源进行通信,并从中获得信息。解决方案需要执行的流程的复杂性可能因用例的不同而有所差异。解决方案需要采用方便用户穿戴或携带的外形,并与他们的环境相协调。

这使得挑战变得尤为严峻。可以想像的大量输入和输出、每个必要输入输出的深度、处理指定任务的复杂度以及解决方案实体(价格、外形等)的理想属性使这个问题变得错综复杂。

增强现实解决方案的属性

如欲了解增强现实面临的具体技术挑战,请参阅被称作“增强现实属性”2的以下图解,它展示了增强现实解决方案所具备的各种属性。几乎可以肯定的是,它还不够完整,但是足以显示需要解决问题的范围之广。我把它们分为 4 大领域:

  • 感觉:视觉、听觉、取样和获得用户周围世界状态的其他方式。
  • 处理:理解所有数据,了解它在当前计算任务、仿真和/或应用环境中的意义,并规划接下来的行动。
  • 增强:收集处理流程的输出,并将其呈现给用户的感官,以增强他们对环境的感觉。
  • 实体化:交付该解决方案的设备的物理表现属性。

不可否认,这是一个过度简化的分类,每个区域内的子类别只是一个许多业内人士都可以添加的子集。从某种程度上来说,这就是问题的关键:我们的解决方案距离实现上述所有目标还有很大的差距,更别说以出色、低成本、隐蔽的方式实现了。

Attributes of Augmented Reality

更为棘手的是,对于该领域的大量问题,根本不存在解决方法。我把这些问题分为 3 个不同的类别:

功耗、性能和时间三者缺一不可的问题对于在硅谷工作的多数人,这是最容易理解的问题。对于问题的已知解决方法,您只需想清楚“摩尔定律什么时候能允许我们在一定的功耗范围内实时地完成这个目标?”

需要通过科学突破来解决的问题。这是一类更具挑战性的问题,通常情况下需要取得多个突破,以打破现有技术的限制。近年来的示例包括基于图像的由内而外的 6DOF 追踪和波导显示技术。光场 显示是一个深入探索当今前沿研发领域的示例。虽然很难预测何时才能解决这些问题,但是人们相信,在这个领域内,许多杰出人士正在世界各地的实验室攻克这些难题,为取得进展而努力。

需要取得设计、用户体验和社会标准方面突破的问题。有时,我会遇到一些人,他们认为如果我们解决了前两类的问题,那么第三类问题将迎刃而解。但是,我个人认为第三类问题是最难解决的。纵观多个技术转型,我们发现设计社区采用新模式时,存在一种“最大吸收率”现象,如人们花费 5 年时间来尝试 3 指滑动、旋转手势和其他触控屏 UI,最后才做出选择,并将其应用于当今多数智能手机中。

同样地,社会单位也存在类似现象,人们需要一点时间来适应技术(真实或感知的)对他们生活的渗透。(谷歌眼镜* 从中得到了惨痛的教训)。

专业化对比博而不精

在遥远的未来,我们可以以极高的质量、经济、无缝地交付所有虚拟现实属性,但是在此之前,我们将不得不有所取舍,以构建临时解决方案。这是一件好事。我坚信在该领域内取得成功需要把极少的事情做到极致,而不是以妥协的方式完成许多事情。

增强现实解决方案有可能处理点解决方案设备中的特定问题。解决方案将在某些属性上做出妥协,以使其他属性超出用户的期望。我们将看到解决方案在现有的屏幕上做出改进,而不是取而代之。如同虚拟现实解决方案,增强现实解决方案也将利用现有设备的功能(PC、游戏机、智能手机等)。

培养一个有利于取得进展的环境

如果我们认为解决方案需要做出不同的权衡,以形成针对特定问题、客户群或外形的多样化最佳解决方案 - 我们期待推出大量的解决方案,以尝试不同类型的增强现实 - 那么,应该如何助力它们的发展?

第一步是承认“增强现实全息甲板”不会在短期内实现,临时的专用解决方案不仅尚可,还有可能是最适合的。第二步是通过开放的平台和标准培养一个支持构建众多实体解决方案的环境。最后,行业需要协作,因为竞争对手可以解决一个领域的问题,与其他人共享该解决方案有助于思想的交流碰撞。通过这些努力,我们最终可能会实现“增强现实全息甲板”,但是到那时,增强现实已经被我们使用了多年。

关于作者

Kim Pallister 是英特尔虚拟现实卓越中心的负责人。本文中的观点仅代表作者本人的看法,并不代表英特尔公司的观点

脚注

1.我将避免讨论虚拟现实/混合现实术语。出于本文的目标和增强现实海报的说明属性,我将涵盖所有解决方案使用空间元素补充用户环境的示例,无论解决方案尝试如何无缝或真实地将它们整合至环境中。

2.致谢:我要感谢 Ziba Design 的工作人员,最初我在白板上展示设计,他们帮助我以更连贯的方式进行展示。同时,非常感谢 John Manoogian III,他创建的卓越的认知偏差规范为我提供了很多启发。

独立于架构的自旋等待循环

$
0
0

为了充分利用当今多核处理器的功能,游戏开发人员正使用更高级的任务处理系统使工作分散到线程池的多个线程之中。随着线程数量的增加,诸如任务队列锁和其他共享资源结构上的线程之间发生争用的可能性也会增加。有多种解决办法,但是自旋等待循环是常见的结构。

while (!acquire_lock())
{
	// Spin for a specific number of iterations
	for (int i = 0; i < max_spin_count; i++)
	{
		// Pause intrinsic
		_mm_pause();
	}
}

本文使用了 The _mm_pause 指令,因为它可以提示处理器调用线程位于自选等待循环中。这将暂停下一条指令的执行,不再需要处理器,也不会使用部分管线,因此降低了能耗。

_mm_pause 指令在多数前几代英特尔平台上拥有相似的延迟。由于存在这种历史一致性,许多开发人员在调整自旋循环时会考虑到这一点。但是,从第六代智能英特尔® 酷睿™ i 处理器产品家族开始,pause 指令的延迟增加了多个数量级,旨在为许多场景提供更好的节能机会。

由于延迟发生了变化,以上固定数量的自旋循环将消耗比之前高一个数量级的周期,这将对您的应用性能造成不利影响。为了避免未来的指令架构变动引起任何问题,对所有自旋等待循环进行检查,以确保未使用固定数量的 pause 指令实施它们。可以对上述自旋等待循环进行以下适当修改:

while (!acquire_lock())
{
	// __rdtsc intrinsic is used to read the time stamp counter
	// This allows the loop to run for a fixed number of cycles
	uint64_t prev = __rdtsc();
	do
	{
		// Pause intrinsic

		_mm_pause();
	}
	while ((__rdtsc() - prev) < max_spin_time)
	}

尽管上述自旋等待循环非常简单,软件开发人员一般会使用更高级的自旋循环(支持指数退避等),但是它展示了如何使软件变得更强大,以应对未来指令延迟的架构变动。

 

请参阅以下文章,进一步了解 _mm_pause 指令与自旋等待循环:有益于功耗与性能的睡眠循环

如欲获取关于英特尔® 架构编程的更多信息,请参阅以下软件开发手册:《64 位和 32 位英特尔®架构软件开发人员手册》

可爱的猫与宇宙飞船:《Stardrop》的创作者如何克服职业倦怠

$
0
0

原文由 Intel Game Dev 发表于 VentureBeat*:可爱的猫与宇宙飞船:《Stardrop》的创作者如何克服职业倦怠。请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

Cat in Spaceship

Joure Visser 已经花费了两年时间来创作《Stardrop》,现在他陷入了僵局。他想抓紧完成游戏故事下一节的创作,但是他没有办法集中精力。尽管这位现居新加坡的独立开发人员几乎从不休假,但是他知道现在应该放慢脚步。

《Stardrop》是一款第一人称科幻冒险类游戏,主角是靠拆卸废弃太空飞船获取资源的救援特工 Aryn Vance。某一天,她和她的搭档决定调查一个奇怪的呼救信号,很快他们便卷入呼救信号背后的惊天秘密。现在,玩家可以通过 Steam 的抢先体验计划来获取《Stardrop》的前三章,Visser 和他的团队希望在今年晚些时候完成游戏创作。这是一个好消息,因为《Stardrop》在去年的英特尔® 进阶游戏开发人员大赛上荣获了最佳 3D 图形游戏奖项。

尽管《传送门》*《看火人》*为游戏故事提供了灵感,但是在最开始,世嘉*的《异形*:隔离》促使他创作《Stardrop》。在玩这款恐怖求生游戏时,他想知道如果没有遭受食肉怪物追捕的暴力场景或紧张气氛,游戏体验会是什么样子。

从那时起,他构建出一个非常适合该项目的故事和宇宙。有趣的是,您不会在游戏中看到任何坏人或战斗器械。从一开始,讲述一个“更人性化的故事”便是 Visser 的目标之一。

他还表示:“在一天快要结束时,希望有一款游戏能陪伴着您,让您更加欣赏生活中的某些事物,这才是最重要的地方。”

《Stardrop》并不是 Visser 首次尝试以叙事为主的游戏。他在 PC 模组场景中积累了原始经验,最值得一提的是,他参与了《1187》的创作,这是一款《半条命* 2》模组,在 Valve 受欢迎的特许经营内讲述了一个全新的故事。这帮助他在 Monochrome 谋求了一份工作,此后的 4 年间,他参与了僵尸射击游戏《传染病》*的创作,然后离开公司开展自己的项目。

作为一名独立开发人员,Visser 面临了一系列挑战,尽管如此,他相信自己做出了正确的职业选择。《Stardrop》的多数工作都由他一力承担,包含大量的编程、设计工作和创作。但是,他也组建了一个为他提供支持的小型团队,包括一名 3D 模型师、一名作曲人和几位配音员。

在他们的帮助下,2016 年,他在 Kickstarter* 上成功发起了一项众筹活动,筹集了约 14,000 美元。虽然这些钱不足以支撑整个开发过程,但是它帮助 Visser 度过了《Stardrop》作为付费抢先体验游戏发布之前的艰难时光。

Visser 表示:“就像打了一场硬仗,因为独立开发人员面临太多困难了,尤其是现在。”

Spaceship

对抗职业倦怠

2017 年的秋天,Visser 面临了迄今为止最大的障碍:职业倦怠。唯一的解决办法便是给自己放一个长假。

在那段时间,他发现 4 岁的女儿没有任何 PC 游戏可玩。因此,他决定根据女儿的偏好制作一款简单的沙盒类游戏,玩家可以化身一只可爱的小猫,在游戏世界里到处跑。这款游戏深受女儿的喜爱。

在他创作游戏的前几周,Visser 的妻子建议对游戏进行美化,这样他就可以在 Steam* 上出售游戏了。这个编外项目最终演变为《Play with Gilbert》,并在当年 11 月底发布。

Visser 表示:“我没有意识到,这正是我所需要的。创作《Play with Gilbert》是一种纯粹的乐趣,因为我没有什么可失去的。……我为女儿创作了这款游戏,然后它成为其他小孩也可以玩的游戏。”

大众对《Play with Gilbert》的反馈远远超出了他的预期(目前,多数玩家给予了它积极评价),销售游戏的收入为他提供了急需的资金。制作数字小猫游戏还带来了其他意想不到的副作用:这段经历使他积累了关于 Unreal Engine* 4的宝贵经验,该引擎也为《Stardrop》提供支持。

当他继续开始工作时,该科幻游戏中无法解决的一些技术问题突然变得豁然开朗。

Visser 表示:“我重新开始处理《Stardrop》,我的感觉是,哇,我对 Unreal*的了解果然加深了。真是太酷了。”

《Play with Gilbert》发布之后,Visser 和他的家人收拾好行李,前往荷兰和西班牙看望他的父母。他把这次旅行称为姗姗来迟的旅行。他们在国外呆了 3 个月。Visser 无法完全对《Stardrop》置之不理,最终,他对下一章进行了原型设计。但是这段假期对他帮助极大。

这位刚刚满血复活的开发人员返回家中时,他已经准备好再次投身《Stardrop》之中。

Stardrop Game

展望未来

《Stardrop》对于 Visser 拥有多个层面的意义。他尝试讲述一个能引起情感共鸣的故事,这在游戏中并不常见。他想要将他的独立游戏开发事业推上顶峰,这样有助于他建立声望。他希望《Stardrop》也能帮助他的同事扩大他们的事业。

至少,Visser 希望《Stardrop》能够畅销,这样他便可以继续以此为生。

他表示:“如果我足够幸运,并且能够把工作完成得足够好,我相信它具有很大的现实可能性。”

代码示例:使用 Unreal Engine* 进行并行处理的一种方法

$
0
0
文档:下载(英特尔软件 Github)
许可:英特尔示例源代码许可协议
面向……而优化 
操作系统:Windows® 10(64 位)
硬件:需要 GPU
软件:
(编程语言、工具、IDE、框架)
Microsoft Visual Studio* 2017、Unreal Engine* 4、C#
前提条件:

熟悉 Visual Studio、Unreal Engine API、3D 图形、并行处理。

教程:Unreal Engine 4 - 并行处理鱼群

简介

该项目的理念是展示如何使用 Unreal Engine* 对游戏进行并行处理,以及如何使用游戏引擎执行与游戏相关的物理。在这个领域内,现实感是成功的一个重要标志。为了模拟真实世界,许多动作需要同时发生,这需要并行处理。代码和随附的文章(参见下面的参考文献)介绍了群集算法的开发,并通过应用以鱼群的形式展示该算法。该应用可以单线程或多线程运行,以查看性能的差异。  此外,通过在 GPU 上执行物理计算提升性能。本文还介绍了算法的整体复杂度以及增加鱼的数量对工作效率的影响。

  1. 群集算法概述
  2. 算法实施概述
  3. 单线程、多线程或 GPU

入门教程

群集算法概述

在本示例中,一个群集被定义为一群鱼。算法需要考虑每个成员的聚集、队列和分离。  如果每条鱼都与鱼群中的其他鱼均保持一定的距离,经过计算得出,该鱼在一个鱼群里“游动”。鱼群的成员只能以群集成员的身份行动,不得单独行动,它们拥有相同的参数,如速度和方向。

  • 聚集:鱼在一个被定义为“聚集半径”的范围内搜索近邻。对所有近邻的当前位置进行求和,并将结果除以近邻数量,得出近邻群集的中心。鱼需要朝着该方向游动,以实现聚集。为了确定鱼的运动方向,从之前获得的结果中减去鱼的当前位置,然后对得到的向量执行规范化。
  • 分离:鱼在一个被定义为“分离半径”的范围内搜索近邻。为了计算单条鱼在特定分离方向(相对鱼群)上的运动矢量,对近邻的位置差值和各自的位置进行求和。将结果除以近邻数量,然后进行规范化,并乘以 -1,以改变鱼的初始方向,使其朝着与近邻相反的方向游动。
  • 队列:鱼在一个被定义为“队列半径”的范围内搜索近邻。对所有近邻的当前速度进行求和,然后除以近邻数量。对得出的结果进行规范化。
  • 转向:鱼只能在特定的空间内游动,空间的边界已被指定。必须察觉鱼穿过边界的运动。如果鱼碰到边界,鱼的方向将变为相反的矢量,从而将鱼限制在定义的空间内。

对于鱼群中每条鱼,4 个基本行为原则合为一体,以计算每条鱼的总位置值、速度和加速度。必须在每一帧计算每条鱼的所有值。

在该算法中,引入了权重系数的概念,以增加或减少这 3 种行为模式(聚集、分离和队列)的影响。权重系数并未应用于转向行为,这是因为不允许鱼游到定义的边界之外。因此,转向拥有最高优先级。此外,该算法规定了最大速度和加速度

算法实施概述

使用双缓冲来计算鱼群中鱼的状态。鱼状态存储于 N x 2 大小的阵列中,N 为鱼的数量,2 为状态副本的数量。使用两个嵌套循环实施该算法。在内部嵌套循环中,针对 3 种行为类型(聚集、分离和队列)计算方向矢量。在外部嵌套循环中,根据内部嵌套循环的计算结果计算鱼的最新状态。这些计算结果也基于每种行为类型的权重系数值和速度与加速度的最大值。本文详细介绍了上述每种循环,还介绍了用于计算每条鱼位置的计算着色器。

单线程、多线程或 GPU

如前所述,示例可以在单线程或多线程模式中运行,借助 ParallelFor便可轻松实现这一目标。  取决于 isSingleThread Boolean 变量的状态,ParallelFor 可用于两种模式中的任意一种:

ParallelFor(cnt, [&agents, currentStatesIndex, previousStatesIndex, kCoh, kSep, kAlign, rCohesion, rSeparation, rAlignment, maxAccel, maxVel, mapSz, DeltaTime, isSingleThread](int32 fishNum) {

由于需要在每一帧计算每条鱼的位置和近邻的位置,增加鱼的数量将导致计算量飙升。相比单线程模式,在多个线程上运行的应用更胜一筹,这点不足为奇。通过使用 GPU 进一步分配工作,性能得到了更大的提升。再次提醒,文章更详细地介绍了上述内容。

参考资料

Nikolay Lazarev,Integrated Computing Solutions 公司,Unreal Engine 4 - 并行处理鱼群,2018 年

更新日志

创建于 2018 年 3 月 20 日


代码示例:使用 Unity* 进行并行处理的一种方法

$
0
0

文件:

在 GitHub* 上下载:
许可:英特尔示例源代码许可协议
面向……优化 
操作系统:Windows® 10(64 位)
硬件:需要 GPU
软件:
(编程语言、工具、IDE、框架)
Microsoft Visual Studio* 2017、Unity* 5.6、C#
前提条件:熟悉 Microsoft Visual Studio、Unity* API、3D 图形、并行处理。
教程:使用 Unity* 进行并行处理的一种方法

简介

该项目的理念是展示如何使用 Unity* 在游戏中进行并行处理,以及如何使用游戏引擎执行与游戏相关的物理。在这个领域内,现实感是成功的一个重要标志。为了模拟真实世界,许多动作需要同时发生,这需要并行处理。创建两个不同的应用,然后将它们与在单个内核上运行的单线程应用进行比较。代码和随附的文章(参见下面的参考文献)介绍了群集算法的开发,并通过两个应用以鱼群的形式展示该算法。第一个应用在多线程 CPU 上运行,第二个应用在 GPU 上执行物理计算。

  1. 群集算法的实施
  2. 编码差异:CPU 对比 GPU

入门教程

群集算法的实施

在本示例中,一个群集被定义为一群鱼。算法需要考虑每个成员的聚集、队列和分离。如果每条鱼都与鱼群中的其他鱼保持一定的距离,经过计算得出,该鱼在一个鱼群里“游动”。鱼群的成员只能以群集成员的身份行动,不得单独行动,它们拥有相同的参数,如速度和方向。

该群集算法的复杂度为 O(n2),其中,n 为鱼的数量。为了更新单条鱼的移动,算法需要查看环境中的所有其他 n 条鱼,以确定鱼是否可以 1) 留在鱼群;2) 离开鱼群;或者 3) 加入新鱼群。单条鱼可能单独“游”一段时间,并有机会加入新鱼群。这需要针对每条鱼执行 n 次。

算法可以被简化为:

对于每条鱼 (n)

查看所有其他的鱼 (n)

如果鱼之间的距离足够近

应用规则:聚集、队列和分离

数据被存储于两个缓冲区内,以表示每条鱼的状态。交替使用这两个缓冲区进行读写。需要这两个缓冲区在内存中维持每条鱼之前的状态。然后,使用该信息计算每条鱼的下一个状态。在每一帧前,读取当前读取缓冲,以更新场景。

该应用的基本流程为:

  1. 初始化场景。
  2. 针对每一帧更新场景
    1. 读取当前的读取缓冲
    2. 计算场景
    3. 渲染场景
    4. 写入当前的写入缓冲
    5. 交换缓冲

编码差异:CPU 对比 GPU

单线程和多线程应用的主要编码区别体现在如何调用群集计算上。请记住,每一帧都会调用 n 次该计算。单线程应用使用常规的 for 循环,而多线程应用使用 Parallel.For 类。

为了得到最佳性能,将物理计算的任务转移至 GPU。为此,在 GPU上使用并执行“着色器”。使用着色器为场景添加图形效果。本项目使用了“计算着色器”。通过 HLSL(高级着色器语言)编写计算着色器。计算着色器复制 Calc 函数的行为(如速度、位置、方向等),但是无需计算旋转。

使用 Parallel.For 函数的 CPU 调用面向每条鱼的 UpdateStates 函数,以便在绘制每条鱼前,计算其旋转并创建 TRS 矩阵。使用“四元数”类的 Unity 函数 Slerp 计算鱼的旋转。

请注意,随附的文章指出了使用 GPU 时需要考虑的其他方面:

  • GPU 上的随机数生成
  • 在 GPU 和 CPU 之间交换与共享数据
  • CPU 优于 GPU 的案例

参考资料

Jeremy Servoz,Integrated Computing Solutions 公司,《使用 Unity 进行并行处理的一种方法》https://software.intel.com/zh-cn/articles/an-approach-to-parallel-processing-with-unity,2018

更新日志

创建于 2018 年 3 月 20 日

赢得关注:作为独立游戏开发者参加第一场比赛

$
0
0

最优秀的独立游戏开发人员会运用与开发游戏相同程度的适应性来推广游戏。我们强烈建议您参加各种展会、开发人员大会、研讨会和社交活动,以快速启动促销活动、扩大网络并获得灵感。即便您只提供最简短的演示或概念验证演示,参加这类活动也可以让您获得更多的知识和经验,帮助您更深入地行业,并让您的游戏产生具备更高的市场影响力和地位。

如果您的预算少,这并不容易,但请您尽量留出一些预算参加各种活动和节日,巴西制作人兼Little Red Running Hood*横版游戏合伙创始人 Roger Paffrath 很乐意接受这样的建议。在 indiegames.com 开发游戏的他表示: “毫无疑问,[参与活动]是向他人展示您的游戏并与其他开发人员和媒体进行交流的最佳方式。”

作为Zack Zero*的开发者,Crocodile Entertainment 的 Crocodile Entertainment 曾表示,自己的一大遗憾就是没有尽早开始推广自己的游戏。“通过质量保证测试后,在游戏发布前不到一个月的时候,我们开始考虑公关问题…如果时间可以倒流,我们一定会提前建立媒体关系。”

gamedevelopment.tutsplus.com上,Divergent Games 游戏设计师兼项目经理 Robert DellaFave 建议,所有独立开发人员都应该将参加各种活动作为推广计划的重要组成部分。“很多人都认为游戏开发人员是默默无闻的幕后工作者,但您要知道,参加各种公共活动是推广游戏的最佳方式之一。我保证,这些活动会让您有所收获。

寻找适合您的活动

决定参加哪些活动可能不是一件容易的事情,因为可选择的活动有很多,不同活动的出行成本和时间投入各不相同。不太正式且经常举办的游戏开发活动几乎到处都是,包括印度巴西等。比较正式的活动包括在上海举行的中国游戏开发者大会或在旧金山举办的大型游戏开发者大会 (GDC)。从洛杉矶的IndieCade到伦敦的 Rezzed,从巴黎游戏周到德国的 Gamescom,如果您环球旅行,您可能每周都能参加一个活动。

英特尔软件合作伙伴营销经理 Patrick DeFreitas 表示:“我推荐游戏开发人员参加游戏和开发活动,显然有很多这样的活动可供选择。他建议新手们可以访问 GameConfs.com,这个网站以日历的形式显示按国家划分的游戏相关活动。

认真、明智地作出选择。如果您的预算紧张,您可以从数百个全球游戏开发活动中选择一个参加, 与数十位同行 PC 开发人员进行交流,并与经验类似的开发人员进行面对面交流。如果您在活动上进行展示,可能会引来很多当地开发人员的关注,这样的话,只需投入时间便可起到推广游戏的作用。

或者您可以在较大规模的游戏行业活动中与游戏玩家进行交流,如 PAX、GDC 和 DreamHack。这些活动提供了更大的范围,并吸引了成千上万的参与者 - 但挑战是不要迷失在人群中。

Figure 1

图 1:GDC 等大会将介绍最大游戏公司的最新工作进展。

英特尔® Buzz Workshop的参与人员之间可以亲密交流,这使其成为与清理游戏代码和优化编程等技术元素相关的重要信息来源。您还可以了解有关分销渠道、消费者指标和其他业务主题的更多信息。这些研讨会的参与者人数通常限制在几百名,因此您不会不知所措。

Figure 2

图 2:英特尔® Buzz Workshop 为您提供绝佳的交流机会,但不会让您不知所措。

关键在于从这些活动带来的可能方面来考虑活动和会议。如果您是刚刚开始,则可能要首先参加当地的活动,因为参加当地活动的成本较低,更便于参加。当您准备投资更昂贵的活动时,先做好研究。Andreea Vaduva 是秘密平台游戏《Black the Fall》*的营销、公关和社区经理,该游戏是在匈牙利布加勒斯特开发的,以反乌托邦共产主义专政为背景。这款游戏进行了广泛推广,在 LinkedIn.com 上的一篇文章中,Vaduva 回忆自己一年参加 10 个活动,并建议使用 Promoter 应用“日历”进行研究。她表示:“在将游戏提交参赛或接受邀请之前,请务必在线查看有多少与会者,其他开发者对此有何评论等等。鉴于《Black the Fall》在 Gamescon 2016 上赢得了最佳独立游戏奖,这是一个很好的建议。

大型活动让您有机会与最大的竞争对手进行交流。您还可以结识到对您想要推广的游戏非常欣赏的工作室高管和发行商。您的目标是了解真实的行业概况,而不是您在网上或通过社交媒体看到的行业概况。在这些活动中,您可以了解该行业的未来规划,了解游戏主机课程中的一些明星,并进行交流。您可以针对行业状况以及您的游戏适用于哪些地方发表自己的个人观点,并在游戏快完成时获得一些联系方式。

不要浪费时间—提前规划

如果只有您自己负责规划,优点是很容易控制时间安排,缺点是一切事情都需要您自己处理。您必须规划自己的社会媒体形象、播放游戏演示的技术和您的个人日程表。

大多数独立游戏开发人员都会随身携带笔记本电脑(其中包含其游戏的代码),以便灵活调整日程安排。笔记本电脑和个人设备都可以使用,但需要去除设备上的所有个人信息,例如奇特的铃声,有趣的浏览器历史记录,令人尴尬的照片或混乱的桌面。另外,务必要始终备份。

如果您属于团队的一份子,则需要弄清楚如何划分自己的时间,以便最大限度地扩大覆盖面。团队中的一两名成员可能会带着包含游戏代码的笔记本电脑参加各种会议,而其他人则参加与其开发角色相关的讲座和课程。例如,旧金山的 GDC 和英国布赖顿的开发大会都围绕视觉艺术、编程、音频和商业等方面展开专家对话和演讲。您可能希望让其他人深入研究一个主题,而您着重研究知名发言人的关键主题。

您肯定不希望参加不惜一切代价追查某个人的活动。经验丰富且受欢迎的会议主持人已经安排好了时间表,并且可能有管理员或助理,以确保时间安排保持这种状态。只是为了跟踪他们捕捉完美时刻的那种活动不值得参加。这是浪费时间,很可能以失望告终。制定尽可能高效的规划,不要寄希望于运气。

不过,如果您的目标是见到某种 类型的人,即使没有预先安排的会议,参加活动肯定也是有价值的。如果您刚开始进行推广,设法在流媒体社区及其数百万粉丝中展示自己的游戏,您可以带着自己的游戏参加 TwitchCon等活动。

Figure 3

图 3:TwitchCon 是一个绝佳的场所,可让您在刚开始推广之时获得别人的注意。

在 TheNextWeb.com 上,Lauren Hockenson 记者 TwitchCon 的广播员 Alley 描述为“Twitch 成功案例库”。她偶然遇见了曾学习游戏设计的广播员 CohhCarnage,他未完成游戏设计的学业,而成为了一名全职的直播播主,现已与英特尔、Razer、Aorus 和 Madrinas Coffee 达成赞助协议。他表示从未见过像播音员 Alley 那样目标明确的人。

他表示:“你见到的每个人都对你的游戏很感兴趣。每个人都很亲切友善,并喜欢 Twitch。这和我之前参加的活动完全不同。”

您可能找不到最大的播主,但您可以将游戏展示给许多小播主,这些播主将在其频道中大力宣传,推广您的游戏。不要忘记,小播主将来也可能大红大紫,与他们及早建立关系对您有益。

展示您的游戏代码

您最希望展示能够表现您游戏愿景的代码示例。您展示的不一定是最终版本,甚至不是一个完整版本,但必须让别人了解您的目标。您必须为别人提供足够的信息,以便向听众传达您游戏的价值。您需要足够的示例才能向发行商展示您的愿景,并且您需要一个足够大的演示,以便让开发人员提出意见,评判您是否实现了自己的愿景。开发商和发行商了解游戏开发的过程,已经习惯了观看未完成的游戏,所以您无需担心自己展示的内容不是最终成品。

DellaFave 表示,销售和推广游戏是一件宜早不宜迟的事情。他建议:“不要等到最后一课,请遵循以下一般规则:当您的代码可以展示游戏的基本机制和外观时,就要开始推广游戏”。

请注意举办活动的国家是否有内容限制。您的演示内容不能违反游戏内容方面的当地法律或企业准则,尤其当您参加准许儿童和青少年参加的公开活动,并且您的游戏包含仅针对成人受众的材料时。认真担起这一责任。

如何加入展台

在游戏活动中租用空间的费用超出了大多数独立游戏开发商的预算。与大公司合作或申请加入专用的独立游戏展台(如 GDC 的 Indie MEGABOOTH) 是一个很好的选择。加入展台可让您获得一定地位,节省开支,并为您结识朋友和日程安排等方面奠定坚实的基础。您必须事先准备好才能获得准许,因此您需要拥有一个包括主要游戏公司代表在内的个人网络,以确保您了解截止日期、承诺等级和内容限制。

如果您能做到这一点,那么可能会产生很大影响。游戏 Last Life 的创始人 Dustin Hendricks 是横向卷轴平台游戏 Trial by Viking*的开发者。他买下了 GPC 的展台空间,并介绍了 GamaSutra.com 的体验。“通过观看别人演示,了解他们的难题并[听取]人们的建议,我相当于节省了三个月的优化时间。”

Figure 4

图 4:Indie MEGABOOTH 非常适合小预算推广游戏。

确保将您的住宿、交通和餐饮费用编入预算,不要认为主办方允许您加入展台相当于为您和您的团队提供一场免费活动。另外,不要认为会有足够的免费食物来满足您的需求。

Indie MEGABOOTH 需要您提前提交游戏以供考虑。这是常见做法,而截止日期的额外延长可能会大幅提升您的创造力。

如果紧迫的截止日期还起不到激励作用,请考虑赢得某一类别的利害关系。例如,一年一度的英特尔® 进阶游戏开发人员大赛可以为类别获胜者提供很好的宣传机会,例如在 PAX West 上展示。获胜者将获得推广材料所需的新营销内容,发布新闻稿、推文和更新登录页的绝佳理由。

Figure 5

图 5:赢得英特尔® 进阶游戏开发人员大赛意味着获得现金和营销支持以及认可。

您将获得丰厚的回报。Humble Hearts 的 Dean Dodrill 决定为一年一度的 Dream.Build.Play大赛锁定其内容,对他的动作角色扮演 (RPG) 游戏《尘埃:幸福的轨迹》进行优化。他写道:“我的期望很低,因为这是第一次少数测试人员之外的人进行我的实验,当我赢得大奖时,我感到非常惊讶。”三年后,他的游戏已经成为 Microsoft Xbox Live* 街机 (XBLA) 夏季街机赛的主打游戏。

充分利用人际关系

一旦真的参加活动,一定不要害羞。以与众不同的方式展示游戏,以便其他人记住您。在社交媒体上保持活跃,尽可能多地提及其他人、玩家和公司。如果您提到他们,他们很可能会积极响应并分享您的推文。

Phantom Compass 团队整合了 GPC 原型,打造了一款将 RPG 元素和弹球游戏相结合的独特游戏—《王国弹珠台》(Rollers of the Realm)*。一旦参加 GDC,他们就马上开始工作。我们与潜在发行商开会,并向所有佩戴媒体徽章的路人隆重介绍了‘RPG 弹球游戏’。几乎所有人都立即对这个概念产生了兴趣,但却无法明白它的工作原理。他们事后表示:“这是一种开始对话的绝佳方法postmortem。”

比赛是一个充分利用展台时间的很好例子。迷你比赛可以让公众参与到游戏当中来,在活动现场营造出热烈气氛。将这些有行业知名人士或展位访客参与的活动录制下来,这是您可以分享的一种绝佳的新推广资源。

为了让比赛更上一层楼,请考虑一下大型多人手机格斗游戏Gangs of GDC*的开发商 Gamelab,这款游戏专为 GDC 而打造。他们表示,这款游戏就像“可爱的小软糖”,也为移动技术提供了一种鼓舞人心的体验。

发放描述游戏核心特征和理念的 T 恤、名片、游戏钥匙和传单有助于建立长久的关系。确保您的游戏有一些可以让别人记住的东西,不要小气。质量很差的 T 恤或低容量的闪存盘在活动结束后很长时间仍会传达出负面信息。

如果您从未在任何活动中发过言,害怕在人群面前讲话,请花一些时间看看别人是怎么做的。看看他们的准备工作如何,想象一下自己站在那里。遵循别人的方式,并记录一下您如何讲述自己的故事。

Figure 6

图 6:在热情的观众面前介绍您的游戏是一种绝佳的游戏推广方式,成本低廉。

也许您的经历就是您的故事,如果您的灵感来源于此。例如:

  • 一名联邦调查统计局 (FBI) 特工开发了一款以法医学为主题的游戏
  • 一名野外向导构建了一款具有挑战性的生存游戏
  • 一位艺术治疗师展示如何用颜色来描绘情感

您对游戏愿景的热情是您的关键卖点。不过,公开演讲并不适合所有人;如果不适合您,可以考虑用其他方式来传达信息。活动后的派对有很多,包括由大型游戏公司主办的活动,以及由粉丝团和开发者组织的较小型、更亲密的社交活动。将这些活动作为结识志趣相投的人的一种方式。记得带上高质量的名片,不要自己打印名片。在 TinySubversions.com 上发表博客的 Darius Kazemi 曾介绍过一种能够记录您的交谈对象和交谈内容的 系统。保护自己的声誉并保持井然有序,特别是在提供免费饮料的活动上。

Figure 7

图 7:通过参加活动来联络和结交新朋友。记得带上名片,并保持专业精神。

活动后跟进

活动可能已经结束,但这并不意味着您的工作已经完成。如果遇到有影响力的人,并且向他们展示了您的游戏,您应该记下他们的评论。即使他们给出了负面评价,也要花一些时间,以公平、专业的方式与他们交流。无论多么诱人,您都不会希望与他们进行争论或反击。如果有人玩了您的游戏,那么您应该接受他们的反馈。提供数据点不是一种好方式,希望您会在他们的观点中找到建设性的意见。

此外,您可以提供一个礼貌的通知,提醒参加会议的相关方,询问他们是否需要您提供更多支持,以帮助他们扩大知名度。请记住,有影响力的人会在活动中看到很多新的游戏,他们可能还没有注意到您的游戏。

最后,当您回顾活动时,反思这场活动是否成功,以帮助自己规划下一次活动。

DeFreitas 问道:“活动结束时,您是否认为自己作为开发者、企业家或艺术家的工作取得了进展?您觉得参加这一活动后,您的游戏有什么进展或进步吗?如果您的答案是肯定的,那么这场活动真的值得一去。”

资源

英特尔® 开发人员专区

英特尔® 进阶游戏开发大赛

英特尔® Buzz 研讨会系列

脱颖而出:为您的独立游戏扩大客户群

$
0
0

假如您是游戏开发者,有一款自认为非常炫酷的游戏,看到这款游戏的人也有这样认为,那接下来呢?您需要宣传您的游戏。建立爱好者社区,越早越好,最终目标是将他们变成客户。在市场推广过程中,这是营销线索生成的基础。

营销线索生成和关系营销就像约会:吸引对方的注意力、在相互沟通与尊重的基础上确定忠诚关系,然后当时机成熟签订具有法律效力的合同。但与约会不同,您想要的合同并不是婚姻,而是购买合同 — 而且您的目标是尽可能多的签订这种购买合同。

漏斗粉丝

说到这个过程,营销人员经常会提到客户购买路线和销售漏斗。市场营销文献中有各种版本的销售漏斗,这些漏斗的原理都基本相同。它们的目标是使用不同的营销策略,让尽可能多的人进入漏斗(营销线索)的顶部,然后引导他们(购买路线),最终成为客户。转化为客户的营销线索数量就是您的转化率

其中一个漏斗版本是 AIDA 模型:注意,兴趣,决定,行动。这些阶段描述了从未听过您的游戏到最终购买游戏的客户购买路线。各个阶段采用不同的营销策略。

AIDA model

这听起来似乎比较晦涩,但这个框架非常实用,可帮助您成功推广您的游戏。我们把它分解成具体的行动。

吸引注意力:营销线索生成

这是首次接触 — 充满期待的玩家第一次看到您的作品,并从心理上将它添加到“关注”列表中,这是一个神奇的时刻。但不要指望他们会记住您 — 您需要联系他们。这意味着要收集他们的数据、以此建立关系,并将此次接触转化为营销线索。

您希望他们允许您通过电子邮件、网站新闻注册或社交媒体频道上的点赞/关注/订阅选项等与营销线索持续沟通。以下是一些重要策略及使用方法:

渠道合作伙伴

作为一名独立开发者,单独完成这项任务非常困难。无论您最终是否拥有发布商,都需要渠道合作伙伴的支持来帮助实现目标。渠道合作伙伴上市计划通常采取协商合作的方式(可能涉及折扣或独家内容),而不是直接支付,因此它是独立开发者值得一试的有效途径。渠道合作伙伴包括实体零售商比如 Gamestop*,在线零售门户网站 Steam*、Green Man Gaming 和 Humble Bundle,以及硬件制造商。

每种合作伙伴带来的价值各不相同,不过他们都可以提供的价值包括:访问现有客户数据库、销售点促销(在线店面特征或店内货架)、预购活动、产品捆绑,和发布后推广活动 — 所有这些都可以帮助生成销售线索并开始建立关系。

行动号召:使用通过渠道合作伙伴(例如电子邮件或网站)发送的促销信息吸引人们进入您的社交渠道或网站注册。

无论是最终与渠道合作伙伴合作将游戏推向市场,还是自己发布游戏,以下工具和策略都可以帮助您用销售线索填充销售漏斗。

网站

为您的游戏建立一个网站绝对必不可少,它可以是一个专用网站,也可以是您工作室网站的一部分。确保该网站在移动设备和台式机上显示优美的界面,而且您可以捕获电子邮件地址。保持简洁:应用关于用户体验 (UX) 的席克法则,让用户选择变得简单。更多提示与技巧请单击此处

行动号召:通过独家新闻和预先信息等奖励,鼓励访问者注册电子邮件新闻。

社交媒体

关于宣传游戏优点的地方,您首先可能想到的就是社交媒体。社交媒体的管理和内容提供需要资源丰富、规划合理并具有创造性,而且您还需要善于社交 — 回应多人,并始终面带微笑。

Facebook* 等平台提供的分析功能可以帮助您更好地了解您的关注者在哪里以及那些人是谁,有助于您发现机会并更有效地将他们变成最终客户。Followerwonk*、Sprout Social* 和 Hootsuite* 等服务可以帮助您识别营销线索和自动完成社交媒体管理过程。

如果有免费试用优惠,请尽情使用。

行动号召:每个社交帖子都需要可供访问的链接、可供观看的视频预告片、可供分享的意见,或回答问题,以便对话继续。永远不要冷落潜在的客户或影响者。

Facebook Analytics
图 1.  Facebook Analytics 提供的有用数据快照。

付费社交媒体营销活动

让内容在社交网络上有效传播可能很困难,因为社交网络自然希望您付费,以便接触到数百万用户。特定内容片段的付费营销活动可收集页面喜好和关注者,运行成本低,且 Facebook等网络上的定位工具有着非常强大的功能。

行动号召:根据不同的平台,请内容浏览者点赞/关注/订阅。

Kickstarter*

Kickstarter 主要帮助在项目早期阶段为游戏开发提供资助,也是构建社区和生成营销线索的强大工具。任何一个运行过该平台的人都会告诉你,Kickstarter营销活动是一项全职工作,需要仔细规划时间、资源和内容。不过如果做得好,它会为您带来渴望互动和信息的观众。 

营销活动结束后,保持这些关系的活跃度。使用电子邮件更新工具向关注者发送行动号召,并将他们引导至您的社交渠道。回答问题并保持对话。独立工作室 Antagonist 推出的 Kickstarter 回顾总结显示涉及的内容并提出最佳实践。

Through the Woods
图 2.Antagonist 的Through the Woods* 曾在 Kickstarter上成功获得资助。

活动

游戏活动 — 无论是交易还是公开展示 — 让您有机会展示您的游戏,收集联系信息和宝贵的反馈意见,而且运气不错的话还会引发一些社交媒体的关注热议。在活动上发言也可以很好地发现潜在营销线索,而且很容易遇到。如果活动结束之后没有收到一些名片,那一定是方法不对。

如果您在活动中发言,请务必事后将演示上传至 a href="https://www.slideshare.net/" target="_blank">SlideShare*。这不仅可以提升您的个人资料、搜索可见性和排名(顺便说一句,它由 LinkedIn 所有),而且您可以将浏览者直接重定向到您的网站登录页面,并将其转化为销售线索。

行动号召:向遇到的每个人索要电子邮件地址、让他们在社交媒体上关注您、直接分享您的游戏体验或谈论他们自己的在线网络。

视频预告片

可以毫不夸张地说,一篇出色的视频预告片对您的游戏产生影响力非常重要,但在视频结束时添加行动号召同样重要。

行动号召:结束时添加网站网址,让观众在社交媒体上关注您,并添加 YouTube*  结尾覆盖图请观众订阅。

公共关系 (PR)

公共关系就是与媒体和记者建立关系,目的是让他们向受众为您的游戏讲好话。首先研究目标媒体(有相关受众的高价值媒体);接下来使用 MailChimp* 等电子邮件工具发布新闻稿;最后也是最重要的是,不断主动接触感兴趣的各方,把他们变成想要帮助的朋友。

说到邮件本身,请确保您的电子邮件签名包含您的联系信息和标识,此外,如果您已赢得任何游戏奖励或获得赞誉,请添加一条备注。专业提示:为提高收件人打开电子邮件的几率(“打开率”),请在电子邮件中包含视频内容,并在主题行中包含“视频”一词。

可以创建在线新闻包,其中专业媒体人员可以即时获取他们的基本素材,如 BIOS、标识、新闻稿、视频、屏幕截图和艺术作品。独立开发商 Vlambeer 的 Rami Ismail 创建了一款简单免费的在线新闻包解决方案,旨在帮助开发人员更高效地管理公共关系。

行动号召:新闻稿应包含网站网址、社交媒体链接、嵌入式视频和媒体套件链接,这样您的媒体联系人就可以将所有与游戏相关的内容传递给他们的受众。

Young Horses
图 3.Octodad* 的开发人员使用内置 新闻包为 Young Horses 构建的在线新闻包

YouTube* 玩家 /流媒体创作者

YouTube 玩家和流媒体创作者已成为非常重要的沟通渠道。最受欢迎的影响者可能是一群难以捉摸的人,即使他们获得报酬,也很难保证全面报道。不过,仍然值得花时间和精力尽可能多地联系相关影响者,因为可能会因此打开富贵之门。关注较少但特别喜欢您的游戏的人也能帮助您发现商机。可以看看Keymailer这样的工具,它可以为您完成很多繁重的工作。

行动号召:让 YouTube 玩家/流媒体创作者将他们的观众引导至您的主要社交媒体频道。

Keymailer
图 4.检查 Keymailer 和类似的服务,看看它们是否可以帮助接触视频影响者。

数据管理

社交媒体平台为您保留联系人,但需要您自行保存其他联系人。Google Sheets* 是很好的着手点,要经常整理、更新和清空表格。您可以从那里将电子邮件地址导出至电子邮件营销软件,比如 MailChimp

激发兴趣:直接关系

意识通过您分享的信息、进行的对话,以及你培养的关系变成兴趣。您的目标是将每位相关数据已收集的联系人变成持久的关系。关键在于价值交换。把自己摆在领导的位置上 — 如果想让他们与您互动,他们需要一个很好的理由让您腾出宝贵的时间。

价值有多种形式。这里有一些例子:

  • 独家内容:为营销线索提供独家内容。可以是新信息(也可以作为社会货币),也可以是更实际的东西,如商品。
  • 开发者访问:游戏粉丝喜欢直接与开发者沟通,而且认为自己的意见很有价值。尽可能多地亲自和他们沟通,并回应他们。讲述您的故事 — 所有人都喜欢听精彩的故事。
  • 封闭测试/早期访问:让他们尝试早期版本的游戏是您直接与潜在客户联系最有效的方式之一。如果这种体验是积极的,还会推动宣传(很快有更多的人知晓)。

Twitter feedback
Twitter feedback
图 5.独立开发者 Fourattic 对 Twitter 上的大多数关于 Crossing Souls* 的反馈意见作出回应,并努力为其社区提供价值。

如果您真的想脱颖而出,可以更进一步,为您的销售线索创造独特的社区体验。开发商No More Robots 为即将发布的游戏 Descenders做出了这种尝试,通过游戏官方 Discord 频道为 beta 线索创建了自定义元游戏。加入特定团队后,粉丝将成为特殊社区的一部分,可以访问私人 Discord 频道、参加活动并获取专属奖品。

创建宣传者

如果您为自己的销售线索提供价值、接听他们的电话,并为他们提供有价值的信息,不仅能够轻松说服他们购买游戏,还将有机会让他们变成您的宣传者。 

这种忠诚阶梯营销模式和销售漏斗类似 — 涉及从销售线索到客户,再到回头客(客户),最后到达阶梯顶端(成为宣传者)的路线。这基本上意味着他们非常喜欢您的游戏,而且会将此告诉他们的朋友。(宣传也同样适用于预发布阶段。)

换句话说,这就是为何营销人员如何关注口碑宣传的原因。虽然我们不能人们告诉他们的朋友,但我们可以最大限度地制造这种机会。为此,Jonah Berger 教授在其著作Contagious中提出了实用的 “STEPPS” 模式。

STEPPS
图 6.Jonah Berger 用于推动口碑病毒式传播的 STEPPS 模型。

电子邮件营销

研究表明,电子邮件是当今消费者接受营销信息的首选方式。您会发现电子邮件营销方式非常经济、简单,可与数千名关注者保持联系,并向他们发送诱人的内容、优惠信息和行动号召。利用每一个机会 — 网站、社交媒体档案、视频和活动 — 鼓励人们选择访问您的网站,建立您的电子邮件数据库。您也可以购买或租用电子邮件地址,不过最好还是创建自己的列表。在线营销机构 HubSpot 发布的博客提供了一些有用的提示。

使用 AWeber MailChimp等自动化工具,向潜在用户群发送精美的每月新闻电子邮件。花点时间了解如何使用强大的分析工具来跟踪和监控用户的行为,并提高电子邮件打开率、点击率和阅读时间。

社区管理

很多不同的地方都有粉丝的游戏社区,包括 Facebook、Twitter、Reddit 和专业论坛。您不需要积极主动,但需要确保您可以为最重要的游戏社区提供精彩的内容。还需要关注其他提及您的游戏的社区。

只要有机会插入社区对话,都要这样做。通常情况下,人们喜欢游戏开发团队亲自介绍。记住永远保持笑容 — 不要愤怒回应。如果不确定您的回答是否正确,可以暂停,询问其他人,然后再回来准确回答。请记住,一旦发布,所有人都可以看到您写的东西,而这其中的每一个人都可能是潜在客户。

使用数据和分析

收集大量有关销售线索、粉丝和关注者的数据,然后您会容易陷入置之不理的境地 — 可能因为时间不够,也可能是不知道如何下手。从 MailChimpMailChimp 到 Facebook,几乎所有营销平台都提供了很好的数据分析工具和建议,您可以每周计划时间检查粉丝群发生的情况并做笔记,将受益匪浅。只有这样做,才能知道哪些是有效的,哪些没有效果,并想想接下来所要做的。

MailChimp
图 7.报告仪表板上的 MailChimp *电子邮件营销分析示例。

决策时间:重要选择

需要谨记 — 在这个超选择时代似乎与直觉相反 — 营销部门想要让我们的决策变得更容易,并通过减少我们的选择来做到这一点。

我们如何这样做要取决于具体情况。如果这是首次购买,例如购买全新的游戏 IP,潜在客户会事先了解其他人的评价。在互联网向用户敞开评论之门和 YouTube 玩家开始获得六位数薪水之前,专业的游戏记者是真正有影响力的人。现在他们仍然扮演着重要的角色(尤其是 Metacritic 上的评论时,它已成为评价游戏质量的一个标准),而且通常有着庞大或专业的受众。

然而,传统 媒体的力量已被用户评论和视频影响者所忽略。现在我们更倾向于听取同类人的意见。您无法控制人们在评论和流媒体中的言论,但是,如果您尽可能多地与粉丝、关注者和影响者保持良好关系,那么别人对您游戏的好感度会迅速上涨。 

我们喜欢宣传培训。社会认同现象表明,人们之所以模仿他人,是因为在特定的社会背景下这种做法是的。这意味着口碑(好的或坏的)会像滚雪球一样越滚越大。这种口碑以社交媒体上的评论或帖子的形式表现出来。如果您已出色地完成了关系营销且这款游戏很好,那么很有可能会形成好口碑,而且口碑会逐渐扩散。

刺激行动:购买您的游戏

如果您已经把线索变成了关系,会更有利于帮助他们做出决策,而且您的游戏和想象的一样好,那么这一部分应十拿九稳。

销售推广是营销策略的总称,目的是刺激人们做出最重要的购买行为。它包括预购奖励、折扣、增值交易和销售点零售营销。后者是渠道合作伙伴营销,涵盖从实体零售商店货品摆放到产品发布或销售期间作为 Steam 或 GOG.com 首页。实体零售营销是昂贵的业务;但说到网上商店时,如果对您的游戏感兴趣并且能够迈出第一步,那么将有机会登上头版头条。

Green Man
图 8.Green Man Gaming 2017 冬季销售期间的促销活动。

游戏发布和其各种版本之间的另一种营销模式是忠诚循环。当游戏是一个系列且之前的游戏体验很好,买方作出决定更加容易。一旦投资该品牌,他们需要更多 — 因此当涉及到钱包份额购买决定时,他们很有可能会选择您的游戏。

Indie Game
图 9.客户变成回头客的“忠诚循环”示意图。

在实践中,忠诚循环将销售漏斗底部的客户提出来,并在下次触发购买时将其重新放入决策阶段。关于游戏,无论是系列游戏还是您发布的新游戏,触发器可以是您的任何营销活动,从接收电子邮件或阅读社交媒体帖子。您与每位客户所保持的关系将影响他们作为玩家关注您的时长,以及他们是否对您的后续产品发布感兴趣。

除了游戏体验之外,忠诚度还受到诸多因素的影响,包括售后服务,知识库中相关信息的可用性,常见问题解答或论坛,以及通过社交媒体和电子邮件所进行的持续沟通。

每个客户关系都是一个长期的承诺。为您的每一位客户、粉丝和关注者制定最优惠的条款,好让他们随时准备投资您的下一个 DLC 或游戏。您永远不知道什么时候您会再次需要它们。

照顾您的客户,尊重他们,他们也会回报您。

词汇表

  • 电子邮件打开率:打开您发送的电子邮件的收件人百分比。
  • 电子邮件点击率:点击您电子邮件中链接的收件人百分比。
  • 电子邮件阅读时间:收件人阅读您的电子邮件的时间。

资料来源

英特尔® 开发人员专区(英特尔® DZ):https://software.intel.com/zh-cn

 

代码示例:新的 Unity* 实体组件、C# 作业系统和突发编译器

$
0
0

文件:

下载
许可:英特尔示例源代码许可协议
面向...优化 
操作系统:Windows® 10(64 位)
硬件:N/A
软件:
(编程语言、工具、IDE、框架)
C#、Microsoft Visual Studio* 2015、Unity
前提条件:熟悉 Microsoft Visual Studio、3D 图形和并行处理。
教程:全新 Unity* 实体组件、C# 作业系统和突发编译器的游戏开发入门

简介

低、中、高。GPU 设置的标准费用,但为何不使用 CPU 设置呢?如今,最终用户设备的 CPU 潜能可能会大不相同。通常情况下,开发人员将定义 CPU 最小规格,并使用该性能目标来实施仿真和游戏系统。这将使现代主流 CPU 中内置的许多潜在可用内核和功能处于闲置状态。Unity* 中的全新 C# 作业系统和实体组件系统不仅可以让您轻松利用以前未使用的 CPU 资源,还可以帮助您更高效地运行所有游戏代码。然后,您可以使用这些额外的 CPU 资源来添加更多场景动态和沉浸感。在本文中,您将了解如何快速开始学习这些新功能。

Unity 用于解决游戏引擎计算中两个重要的性能问题。它解决的第一个问题是数据布局效率低下。Unity 的实体组件系统 (ECS) 可改进数据存储的管理,在这些结构上实现高性能运算。第二个问题是缺少高性能作业语言和可以在有序数据上运行的 SIMD 矢量化。Unity 的全新 C# 作业系统、实体组件系统和突发编译器技术不具备这些缺点。

Unity 实体组件系统和 C# 作业系统是两个不同的系统,但它们密不可分。若要了解这两个系统,我们来看看用于在场景中创建对象的当前 Unity 工作流程,然后加以区分。

开始

请参见上面的教程链接。

参考

Unity
Unity 实体组件系统文档
Unity 实体组件系统示例
Unity 实体组件系统论坛
Unity 文档
了解高效内存布局
用于演示的船上资产

更新日志

创建时间:2018 年 5 月 17 日

代码示例:合并蒙蔽遮挡剔除分层缓冲区

$
0
0

文件:

下载  下载 2
许可:Apache-2
面向...优化 
操作系统:Microsoft* Windows® 10(64 位)
硬件:N/A
软件:
(编程语言、工具、IDE、框架)
C++、Visual Studio 2015、LLVM
前提条件:熟悉 Visual Studio、3D 图形和并行处理。
教程:合并蒙蔽遮挡剔除分层缓冲区,以实现更快速的渲染

简介

为了加速渲染,动态场景中的高效遮挡剔除是游戏和实时图形社区非常重要的话题。屏蔽软件遮挡剔除 [J. Hasselgren、M. Andersson、T. Akenine-Möller] 提出了一种针对支持 SIMD 的 CPU 进行优化的新算法,该算法剔除了传统遮挡剔除算法剔除的 98% 的三角形。对原始蒙蔽遮挡库的这一更新是对原作的补充,该更新解决了在提交复杂的未排序几何图形时,轮廓边缘可能浸出缓冲区的问题,方法是将场景分割为可以更好地拟合几何图形的局部动态范围并可以同时计算的多个缓冲区。

入门教程

核心蒙蔽遮挡剔除库

添加的代码成为核心英特尔蒙蔽遮挡库的一部分,并已集成到原始源文件中。该库附带 Visual Studio 项目,用于将算法构建为添加到另一个项目中的静态库,用于测试蒙蔽遮挡结果的内部正确性的性能基准测试和验证样本。该库不包含在游戏环境中使用库的样本。

相关样本

可以在此处找到在 3D 工作负载中使用的蒙蔽遮挡库的早期示例。请注意,此示例为维护模式,并且使用最新版本的蒙蔽遮挡库。

参考

合并蒙蔽遮挡剔除分层缓冲区,以实现更快速的渲染

原始蒙蔽遮挡白皮书

更新日志

创建时间:2017 年 3 月 23 日

Unreal Engine* 4/英特尔® VTune™ Amplifier 使用指南

$
0
0

无论您是第一次调整开发代码还是进行高级性能优化,英特尔® VTune™Amplifier 都能将原始分析数据转换为性能洞察。如果您需要确定通过 Unreal* Engine 开发的 PC 游戏代码中的瓶颈、同步点和 CPU 热点,则可以利用图形用户界面对本地或远程目标中的数据进行排序、过滤和可视化,并且开销较低。

在 Unreal Engine* 4.19 中,英特尔® 软件工程师使用 Unreal* 添加了对英特尔 Vtune Amplifier 仪器和跟踪技术 (ITT) 标记的支持。本指南向用户展示了如何利用新集成技术在英特尔 VTune Amplifier 2018 UI 中生成 Unreal Engine 4 (UE4) 的注释痕迹。从Unreal Engine下载 UE4。下载 英特尔 VTune Amplifier的免费试用版。

捕捉 Unreal Engine* 4 痕迹

范围内事件是逐帧分析代码块的累积 CPU 时序。现在可以使用 ITT 事件在英特尔 VTune Analyzer 分析器中捕捉和查看函数或“括号之间”级别的范围内事件。设置范围内事件可以帮助您跟踪标准的引擎统计信息。

首先,以管理员身份运行英特尔 Vtune 分析器。

对于应用,通过添加整个路径选择 UE4 编辑器。

对于应用参数,使用任何必要的设置(如分辨率)指定游戏。在下面的示例中,对 UE4 粒子效果 demo进行分析。确保在应用参数命令行的末尾添加“-VTune”(见图 1)。如果除 -Vtune 开关之外,您还需要命令行参数方面的帮助,请参见 Command-Line Arguments UE4 文档部分。

选中复选框,将应用目录设置为工作目录。如果您需要此屏幕上任何其他设置的帮助,请使用 F1 键访问 Vtune 的帮助系统。

Analysis target tab
图 1.在分析目标选项卡下设置应用、游戏和应用参数。

接下来,移至“分析类型”选项卡并在“算法分析”标题下选择“高级热点”(见图 2)。

将 CPU 采样间隔设置为 1 毫秒。

在本例中,为降低开销,请在“选择基于事件的采样集合提供的详细级别”中单击“热点”。

将事件模式设置为“全部”。

选中“分析用户任务、事件和计数器”复选框。

Setting advanced hotspots
图 2.在“分析类型”选项卡下设置高级热点。

接下来,通过英特尔 Vtune 分析器启动游戏。

在 Unreal Engine 开发控制台中(您可以在工作负载运行时用 ~ (代字号)键打开它),输入“stat NamedEvents”。现在将跟踪范围内事件。请注意,您需要开发版本才能使此功能正常运行。如欲了解更多信息,请参见 UE4帮助系统的构建配置部分。

完成收集统计数据后,停止分析器。

查看 Unreal Engine 4 痕迹

处理结果后,摘要将显示捕捉的主要任务类型统计信息,类似于图 3。

Top task
图 3.为主要任务收集的统计数据。

在“高级热点”屏幕上,移至“自下而上”选项卡(见图 4)。自下而上的视图将显示对任务的深入了解。使用“分组”下拉菜单选择“任务域/任务类型/任务持续时间类型/功能/调用栈”的视图。

Hotspots screen Bottom-up
图 4.自下而上的视图将显示对报告任务的深入了解。

您可以从“高级热点”屏幕上的其他选项卡继续浏览代码配置文件的报告。例如,“平台”视图将描述命名事件的时间(见图 5)。

Platform view
图 5.从平台视图中看到的命名事件的时间。

这些报告中有很多信息供您检查。如欲了解更多信息,请参见英特尔 VTune Amplifier 教程的文档。您将找到为您提供示例的 HTML 和 PDF 文档,以及解决能源使用、检测热点以及确定阻止并行化的锁定和等待方面的 Windows *、Linux *、C ++、Fortran、OpenMP* 和 Android* 问题的示例代码。

自定义事件

您可以对想要优化的 UE4 内的任何代码片段进行调查,方法是用本指南中介绍的循环计数器 进行封装。这可以让您定义自定义事件并在英特尔 VTune 分析器 UI 中遵照其在线程时间线方面的执行。

结论

现代处理器上的性能需求远远超过优化单线程性能。高性能代码必须是:

  • 线程化且可扩展,可利用多个 CPU
  • 针对有效使用 SIMD 单元进行了矢量化处理
  • 经过调整,可充分利用非统一的内存架构和缓存

借助英特尔 VTune Amplifier,您可以通过单一易用的分析界面获得先进的分析功能。UE4 和英特尔 VTune Amplifier 相互配合,支持您调查代码并进行分析,从而在多个内核上顺畅运行。此外,优化工具还允许您更快速地创建代码,获取更精确的 CPU 和 GPU 数据,调查线程和内存使用情况,并且开销较低。此外,您可以通过简单的分析将数据转化为洞察,从而更快速地获取答案。立即下载最新版本的 Unreal Engine 和英特尔 VTune Amplifier,将您的游戏开发工作提升到新的水平。

其他资源

做好准备:独立游戏开发人员适用的 4P 营销理论

$
0
0

若要在当今竞争激烈的游戏市场中取得成功,仅凭勤奋工作和高品质游戏是远远不够的。您需要一套像游戏设计一样精心制作的营销策略,以及将您的游戏与市场上其他众多游戏区别开来的计划。

对于那些没有知名品牌和游戏专营公司那样庞大的活跃粉丝群,也没有足够的财务资源与老牌游戏工作室一较高下的独立游戏开发人员来说,尤其如此。但好消息是,有大量渠道(只需要您投入时间和精力)可以帮助您进行宣传。

本指南将介绍一种被称为“4P”的经典营销框架。您可以使用这个框架评估游戏的商业潜力,分析竞争格局,设定战略目标并制定实现商业成功的计划。

the four Ps of marketing
图 1:4P 营销框架。

4P 营销框架

4P 概念源于一个多世纪以前的宝洁公司*。当时,4P 是指价格、地点、促销和包装(虽然产品始终是肥皂,但为不同的消费市场提供不同的包装)。后来,随着公司开始将这些新的营销方法应用到更复杂的产品中,“包装”P 被“产品”所取代。让我们回到几十年前。哈佛商学院教授 Neil Borden 在 20 世纪 50 年代初提出了营销组合的概念,指的是各种营销因素的组合。最知名的营销组合从宝洁的 4P 演变而来。

您的内部营销专家可能会问:“等等,不是 7P 吗?”。确实是这样的。在处理服务型业务时,营销组合中通常还包含另外三个 P(物证、流程和人员)。虽然有些人可能会说,基于订阅的游戏本质上是软件即服务业务,但我们本文的讨论重点是 4P 营销组合以及如何将其应用到独立游戏营销中。我们将针对如何在竞争日趋激烈的游戏市场中,使用这些 P 提高知名度和销量提供一些实用建议。

使用 4P

对于游戏开发人员而言,4P 支持您使用以下简单的矩阵进行评估和规划:

产品

  • 种类
  • 质量
  • 设计
  • 特性
  • 品牌包装
  • 服务

价格

  • 标价
  • 折扣
  • 收入模式

促销

  • 广告
  • 个人销售
  • 公关营销

地点

  • 渠道
  • 覆盖范围 商品分类 位置
  • 库存 运输 物流

首先查看并大致了解一下上面的每个 P,然后问问自己:

  • 产品:我的游戏有何不同之处(游戏类型、质量、设计和其他特性)?
  • 价格:我应该使用哪种收入模式?我应该设定什么价位(标价、折扣、订阅、免费)?
  • 地点:我有哪些分销选择(在线下载、流媒体、实体店、渠道合作伙伴捆绑等)?
  • 促销:我如何利用所拥有的资源吸引玩家的注意力(通过网络、社交媒体、与主要意见领袖/ YouTube* 玩家的关系、预告片视频、活动进行宣传)?

相互依赖的变量

4P 的一个重要方面是,各因素都相互依赖、相辅相成,您需要进行统筹规划,综合利用。

市场总是变化莫测,因此您需要投入时间和精力监控和调整您的计划,以确保营销组合中的各个因素都与当前的市场状况保持一致。如果任何一个 P 与其他 P 不一致,请务必进行重新评估和调整。

如果这听起来令人怯步并且很耗时,也请不用担心,因为它远没有听起来那么复杂。举例来说,假设您正忙于编码,突然收到了一则 Slack* 消息,告知您您的一个分销渠道临时中断。而您正打算在连接到该渠道的网站上张贴非常醒目的横幅。这时您可以延迟张贴横幅,或在渠道中断期间将潜在客户引导至其他网点,以最大限度地提高销售额,而不是将流量引导至停止运营的网站。

是的,您的游戏就是您的产品

创新人才(包括游戏开发人员)对他们的作品倍感自豪,但许多人发现很难将他们的劳动成果看作具有商业潜力的产品。然而,您必须得先接受这种想法,然后才能从一个游戏爱好者进阶成一位致力于通过生产让他人愿意付费体验的产品来创造收入的商务人士。

将您的创作视为产品还有另外一个优势。情感依附可能会影响您的判断,但如果您对所做的事情充满热情并实事求是地做出商业决策,您会有意想不到的收获。越快将您的得意/称心/扛鼎之作视作一种产品越好。

带着这种想法,问问您自己:我的产品在市场上别具一格,还是司空见惯?

  • 别具一格的产品是原创的、未经证实的、不为大众所熟悉的。假设有足够多的人认为这件产品有趣、吸引人并且价格合理,那么它就有可能具有商业潜力。
  • 熟悉的产品与现有游戏类似,可能是对流行类型的重新诠释,也可能是一种变体。如果有足够多的人认为您的产品比市面上的其他产品出色得多,那么它就可能具有商业潜力。

每种产品也都有其自己的优缺点。了解自己产品的优缺点对于制定旨在让人们相信您的产品值得尝试和购买的规划非常重要。

在这一点上,4P 中的“产品”策略可以帮助您明确和量化您的产品相比其他竞争产品的优劣势。

创建一个表格,列出排名前 5 或前 10 的竞争产品,然后列出每款产品的优缺点和特点。创建高级列表,并使用粗线条定义区别性因素。没有人会在意您将自家游戏引擎的算法效率提高了25%,但他们会在意您的游戏画面看起来比市场上其他游戏的画面更出色生动。

经常被忽略的一个因素是客户玩完一场游戏所需的时间。如果您知道这点,那么就请记录下每款竞争游戏所需的时间吧。涉及到产品定价时,这就是重要的统计数据,更多内容我们将在下一部分进行介绍。

产品竞争产品 1竞争产品 2竞争产品 3竞争产品 4竞争产品 5
种类      
质量      
设计      
特性      
品牌名称      
包装      
服务      

表 1.竞争分析样本表 — 确定您的竞争优势与劣势。

除了评估您的产品相比竞争产品的优势与劣势外,您还需考虑产品的生命周期。在产品生命周期的每个阶段(从预发布到试用版测试,再到产品发布、产品生命周期结束或后续产品发布),您都希望能够充分了解每个特定阶段的挑战并制定应对计划。

实现这一点的关键在于了解目标受众的需求,并通过以下各种方式展示您产品的价值定位:

文字— 以强调产品主要卖点的话语描述产品并阐释产品的与众不同之处。使用游戏专用术语和角色名称时要注意保持一致。

图片— 一张图片胜过千言万语,所以要注意使用图片强调您产品的亮点。游戏截图应着重于博人眼球的场面:史诗般的战斗场景、怪物、车辆、谜题等等。

视频— 游戏预告片是激起潜在玩家兴趣的极为有效的方式。预告片应注重传达您的产品值得畅玩的点。您和主要意见领袖的游戏操作影像是吸引玩家注意力的另一有效方式。

幕后采访、网络直播、博客文章— 让受众看到产品的开发历程。这种做法能够为产品预发布建立粉丝基础,而您和您的团队也能充分展现产品的价值。

在您与潜在客户互动的任何地方(包括网站、社交媒体、下载和流媒体网站以及 YouTube 游戏*中)发布这些文字、图片和视频,并使用所有可用的数字渠道进行宣传。

价格

顾名思义,价格指的是人们为购买您的产品需要支付的费用。您产品的价格应该基于其在市场上的感知价值,而不仅仅是生产和分销成本。价格高于或低于其感知价值的产品将无法发挥其商业潜力。事实上,有些人甚至认为这些产品根本卖不出去。了解目标受众对您产品的看法至关重要。

要想了解目标受众对您产品的看法,您需要冷静地审视您的产品及其竞争力,而这也正是您在评估产品优缺点时所要做的事情。调查您的竞争对手正在使用的价格和收入模式也有助于评估。如果有可能,回顾过去 6 到 12 个月竞争对手可能提供的任何折扣、提供折扣的时间以及原因。将这些信息填入另一张表中:

价格竞争产品 1竞争产品 2竞争产品 3竞争产品 4竞争产品 5
标价      
折扣      
收入模式      

表 2.确定竞争产品定价因素的样本表。

如果您能够追踪六个月或更长时间内竞争产品的定价和折扣,请将这些价格按时间顺序进行排列,以了解季节性定价和折扣趋势。例如,确定打折现象是否在寒假普遍存在,或者是否与时下流行的玩家活动和展会同步。

比较收入模式进行竞争分析可以帮助您更好地了解您的定价策略。跟踪定价和折扣也可以让您了解实际考虑事项对净收入和现金流等的影响。例如,分销渠道通常在产品总价中占据一定的百分比。对于您的业务来说,您需要知道这个百分比是多少;对于竞争分析来说,在进行收入对比时了解这个百分比也大有裨益。通过比较净价而不是标价,您可以了解您的目标受众为类似产品支付的实际费用。对于业务规划来说,了解特定分销渠道是每月、每季度还是按其他时间计划支付一次付款也很有帮助。

表 2 中的最后一个因素是跟踪收入模式,该因素可告诉您竞争对手的收入是否基于:

  • 一次性支付(下载内容定价或 DLC 定价)— 玩家一次性付款购买该产品。
  • 订阅费— 玩家支付经常性费用在线访问游戏。
  • DLC 定价— 玩家购买能够提升他们游戏体验的其他内容和升级。
  • 订阅费— 玩家支付经常性费用在线访问游戏。
  • 情景定价— 玩家支付费用访问单集游戏或整季游戏。
  • 微交易(游戏内购买)— 玩家购买钥匙解锁功能和额外的权限。
  • 免费游戏— 玩家无需预支付任何费用,但需为了屏蔽游戏过程中的广告、获得增强的游戏体验、额外的内容以及更多功能而支付费用。
  • 捆绑定价— 捆绑销售可让您提高产品的曝光度并通过将其与其他开发人员的产品一起销售,延长产品的生存周期。

阅读评论和最终用户反馈,了解客户对竞争产品的评价。玩和您的游戏相似的游戏,或者如果您的游戏与市场上的其他任何游戏都不同,寻找并玩其他独特的游戏产品,并注意查看已发表的客户评价。

制定合理的价格

虽然产品定价没有统一有效的方法,但却有很多陷阱可以避免。一种常见的错误就是认为仅价格就能驱动销售。这种想法会导致这样一种观念:通过以较低的价格提供类似的产品来削弱您的竞争对手,可以保证人们一定购买您的产品。但事实并非如此。最重要的是,制定过低的起始价格会损害您的利益。除非您宣布您的起始价格是特别推广价格,并且会在预定期限后将其上调,否则一旦将价格设定的很低,此后便很难再上调。

另一个常见的错误是仅仅根据您和您的团队为生产产品所投入的时间进行定价。建筑承包商按时间和材料收费是一回事,但对于游戏开发人员而言,受众很少知道或关心打造一款游戏体验需要多少时间和精力。玩家在乎的是您的产品是否有趣,是否值得花费时间和金钱去体验。换句话说,为产品定价的关键是价格要与产品在市场上的感知价值保持一致。

此外,您还需问自己以下问题:

  • 市场愿意支付的价格是多少?
  • 您的竞争产品的售价是多少?
  • 客户玩您的游戏需要多长时间?
  • 您是否在产品推出时提供打折优惠,并计划在日后提高价格?
  • 您的标价是否为将来的促销折扣留有空间?

Steam* 提供了有关定价最佳实践的类似建议。

打折注意事项

随着产品在市场上逐渐成熟,打折产品价格有助于延长产品的架货期,即在销量持平或下降时提高销量。但是,当您进行定期促销打折时要格外小心。经常打折会影响您的全额零售价。例如,潜在客户可能会拒绝支付全价或任何价格,因为他们认为您在不久的将来会降低价格。即便您不会这么做,但由于人们都在等待价格下跌,您的销售额也会因此受到影响。

所以,应尽量避免让打折成为销售额低于单位预期时的必然举措。这种情感驱动行为会影响市场对您产品的感知价值。相反,您应制定定价策略,明确什么时候打折,什么情况下打折。例如,您可以制定在节日季节期间打折的定价策略,因为在这期间,较低的价格可能会引起礼品购买者的注意。同样,在发布新产品之前对旧产品进行打折可以帮助开拓市场,并激发顾客对您即将发布的新产品的更多兴趣。

请记住,折扣不一定是纯粹的货币性质。例如,在发布产品时,您的推广价格中可能会包含其他内容,如“价值 XX 美元”,有限期限内无额外费用。在实现销售目标或一段时间之后,您可以开始收取全额标价。

免费游戏

另一种定价方式是免费游戏(糖果粉碎传奇*、坦克世界*等游戏青睐的定价方式)。免费游戏的收入来自于游戏过程中的购买(道具、自定义对象等)或为屏蔽广告进行升级而支付的费用。许多老牌游戏工作室都推出了免费游戏,部分原因是为了打击盗版。许多游戏发行商都青睐情景定价,这种方式将一次性付费与订阅费结合在一起,通常以季票的形式出现。这些通票的花费可能与原始游戏差不多,并且可以让玩家在有限时间内或一个通关中专享某些游戏场景和奖励功能。

促销

将促销看作旨在促进销售的任意活动。对独立游戏开发人员来说,打折就是促销,就像与游戏媒体和游戏社区中的主要意见领袖展开对话并建立良好关系的活动一样。在展会上展示产品或者在活动上发表演讲也是促销。

那么促销与营销有何不同?我们把促销看作营销组合的组成部分之一,除此之此,营销组合还包括产品、价格和地点。换句话说,营销可以没有促销,但促销不能没有营销。

在制定促销战略时,请参考“游戏促销必备”清单,该清单包括三个类别:

  • 需要创建的资产,它们将帮助您在任何时间和任意渠道推广您的产品(请参见下方“地点”部分)。
  • 需要持续做的事。
  • 需要参加的活动,它们将帮助您推广产品。

为帮助您制定活动战略,请单独创建一份包含时间表的文档,列出一些重要的日期,例如提交截止日期、参展商装卸日期、行程预定截至日期及制作目标媒体资料的(活动新闻稿、新游戏预告片等)日程表。

游戏促销必备

资产

  • 标识— 可立即传达您的产品信息的标志性图像。
  • 游戏截图— 可突出产品亮点的图片。
  • 预告片— 激发潜在客户的体验兴趣和购买欲。
  • 信息文本— 用一句话或一段简短的文字讲述您的游戏故事,并使用项目符号强调产品的主要卖点。
  • 游戏视频— 通过聚焦能够吸引人们想要了解、体验并购买您的产品的画面,向大家展示您的产品。
  • 媒体材料/体验版游戏— 时刻 准备好这些材料,以便在机会到来时能够随时发布。

持续活动

  • 与主要意见领袖、YouTube 游戏玩家和主播建立良好关系— 请求他人帮忙宣传您正在构建的产品以及它有多么酷。
  • 与其它品牌建立合作伙伴关系— 借助知名企业的营销力量宣传您的产品,推动促销成效。
  • 在博客上发布开发进展信息— 让您的受众了解幕后情况,激发他们对最终结果的兴趣。把您和您的团队变成产品的主要卖点。
  • 在您的社交媒体渠道(Facebook*、Instagram*、YouTube* 等等)上更新内容— 建立粉丝基础,点燃大家对产品的兴趣。
  • 构建并维护潜在客户的电子邮件列表— 激发潜在客户的兴趣,将订阅者列表转化为付费消费者。
  • 建立网站并更新网站内容,让客户对产品的研发情况抱有持续的热情— 吸引注意力、激发兴趣、方便用户操作 — 阅读评论、试玩游戏、观看预告片、订阅您的电子邮件列表及购买您的产品。

活动

  • 展会(游戏开发者大会、电子娱乐展、英特尔®创意工坊研讨会、PAX、独立游戏节等等)— 展示产品并发表演讲,以提高品牌认知度并吸引潜在客户和游戏媒体。
  • 玩家聚会— 召开潜在客户见面会并激发他们对产品的兴趣。
  • 竞赛英特尔®进阶游戏开发人员大赛— 从著名行业专家那里获得宝贵的反馈、提高认知度,并有机会赢取大奖。

广告效应如何

曾经有一段时间,产品营销就等同于做广告。但对于独立游戏开发人员来说,广告成本往往大于收益,具体要看您选择将广告投放在哪里。例如,社交媒体广告成本相对较低,可能值得您投入精力和成本,但在较为传统的媒体(纸媒和电视)上做广告可能不会产生与成本和努力相匹配的效益。

如果您确定选择打广告,请仔细定位您的广告。您希望尽可能多地触及到目标受众。YouTube 等数字传播媒体支持您选择广告受众的年龄、性别、婚育状况及家庭收入。在包含游戏版面的大众流行出版物上做广告可能会让许多人看到您的产品信息,但这些人可能不全是游戏爱好者。

犹豫不决时,请想一想您计划的广告支出是否能够产生与成本相匹配的销售额。

基于关系的促销

最有效的方式之一通过经验丰富和受人推崇的游戏玩家宣传您的产品,他们通常比较活跃,非常愿意与游戏社区中的成员分享他们正在玩的游戏。这些 YouTube 游戏玩家和主播群体可能难以琢磨,但与对您的产品感兴趣的主要意见领袖建立良好关系不失为增加受众的好方法。

与成熟品牌合作

与成熟品牌建立合作关系 — 其产品与您的产品相关联的公司是扩大您的促销活动的好渠道,通常您可能没有足够的经费进行他们的推广方式。例如,有些公司在参加著名行业展会时,可能会邀请您在他们的展位上展览您的产品,只向您收取很少的费用或者不收取任何费用,您只需自付差旅费即可。

公共关系 (PR) — 聘用专家还是亲力亲为

除非您非常外向,喜欢与各种人群打交道,包括从未谋面的陌生人,否则您会发现亲自参与通常由专业公关人员为客户举办的活动挑战重重。但雇佣公关公司的成本很高。如果您承担不起招聘公关专家的成本,那么不妨考虑与喜欢与人打交道、口齿伶俐、做事持之以恒的朋友或家庭成员合作。您以及擅长促销的朋友、家庭成员和合作伙伴在公共关系方面所付出的努力最终将会得到丰厚的回报。

无论是您亲自还是他人帮您进行公关工作,在接触意见领袖和媒体之前,请先对他们的工作进行了解并对他们表示尊重。当您在制作电脑游戏时,不要接触仅专注手机游戏的人员或出版商。在讲述您的产品故事时,强调产品的主要卖点,但也要注意不要夸大其词。让听众自已判断产品的好坏。

地点

产品的销售地点(Place)是 4P 营销理论中的第四个 P。当前数字分销渠道众多,您需要规划如何利用所有可行渠道,并随着产品在市场上不断成熟对这些渠道进行评估。在所有产品销售实体店采取同样的战略。

表格 3 可帮助您记录所有分销渠道。开始计划时,使用该表作为清单。随着分销网络的不断扩大,确保跟踪您的市场覆盖率并识别分销网络缺口。产品销售开始后,跟踪销售额。同时,与 4P 营销理论中的其它三个 P 一样,您需要持续监控每个类别并相应调整您的营销组合。

地点渠道 1渠道 2渠道 3渠道 4渠道 …
覆盖范围     

分类(OEM 组合和

合作伙伴分销渠道)

     
地点(实体店)     
库存     
运输     
物流     

表 3.记录您的分销渠道

必备渠道

线上产品分销渠道分为两大类:一是可自行建立的地点,二是合作伙伴企业的运营地点。后者通常需要以签约的方式加入合作伙伴计划。

每一位独立游戏开发人员的必备渠道列表包括但不限于:

  • 网站— 确保您公司的网站或专门推广游戏的网站包含醒目的按钮(即下载、购买、游戏试玩等等)。
  • Facebook 网页— 确保包含您的网站链接、您的 YouTube 渠道、您在 YouTube Gaming 上的产品、您的 Steam 登录页及与其他产品推广地点相关的信息。
  • YouTube 渠道 — 提供人们可观看视频宣传片的地点。
  • YouTube Gaming 展示— 发布由主要意见领袖和玩家(而非您的团队)制作的产品视频。

套装或游戏包是增加产品曝光率的另一种方式。通过使用其它相似的名称包装您的产品或产品的部分版本,您可与其他开发人员在现有基础上加大推广和销售力度。

例如Green Man GamingHumble Bundle等网站可大大增加您产品的曝光率。

众筹网站是产品销售和推广的另一个渠道。在产品研发阶段,众筹网站可支持您通过销售促销产品(T 恤衫、车尾贴等等)筹集资金,还可支持提前获取游戏测试版或体验版等等。众筹网站还是一大新闻来源,例如,玩家发布好评或者您的筹款远远超出了您的期望值。

精品店

在大型实体零售商店分销对于没有出色历史业绩的独立游戏开发人员来说困难重重。精品游戏商店的客户通常较为忠诚。同与您具有一致目标客户的精品店合作将是非常有效的替代零售战略。

四处采购

使用表格 3 的最后三大类:库存、运输和物流 — 跟踪可用库存、物流与装运服务(及成本)以及任何相关的物流。即使您通过销售数字密钥,让客户下载包含您产品的压缩包或者在流媒体网站上解锁您的产品,这些类别也能够满足每个数字渠道有效分销产品的需求。

总结

如果使用正确,基于 4P 的营销战略和促销计划可帮助您把游戏在正确的时间推广给正确的人,在构建客户满意度和忠诚度的同时,为您达成销售和利润目标带来良好机会。为高效起见,有必要将时间和精力放到营销和促销上来。需要多长时间?我们建议您至少将 20% 的时间用在营销和促销上。如果没有营销,无论在游戏上下多大功夫,采用多么出色的设计都无济于事。如果人们根本不知道它的存在,那么想创造丰厚的收益就不太可能了。而采用正确的营销策略可让您的收益无上限。

资源

Marketing’s Four Ps: 企业家的第一步(普渡大学)(PDF)

Marketing Mix: 4P 营销理论:企业的另一个视角

Green Marketing Strategy and the Four P's of Marketing

Four Ps - Investopedia

Marketing mix - Wikipedia


发展壮大:帮助独立游戏开发商解决分销难题

$
0
0

在选择分销渠道时,独立游戏开发商面临着重要抉择。尽管许多开发商计划仅将其游戏发布至 Steam*,但多渠道分销模式更加合理。使用多个渠道需要开展一些额外工作,但您可以吸引更多受众,并能够扩大收益。

Steam*
图 1:Steam* 是大多数独立游戏开发商的首选,但并非唯一选择。

物理设备和共享软件天数

对于独立游戏开发商而言,向实体零售商分销盒装实物游戏通常成本太高。一种早期解决方法是共享软件游戏概念,例如  id Software推出的第一人称射击类游戏 《毁灭战士 (Doom)》* (通过占用空间小的免费可执行文件提供)。在购买整个游戏之前,玩家可以下载前 10 个关卡。游戏推出的第一天,玩家下载需求强烈,导致系统不堪重负。游戏开发商鼓励玩家自由分发共享软件版本,因此最终完整版游戏的客户购买量超过了 100 万。

 Doom*
图 2:1993 年,id Software 的《毁灭战士 (Doom)》* 作为可下载的共享软件发布。

面向 Atari* 2600 的 GameLine*Stardock Central*等早期在线分销服务缺乏任何形式的营销协助或游戏管理,并存在其他分销问题。2004 年,Valve 公司推出了 Steam 平台,并掀起了一场变革。

Steam 很快成为了电脑游戏的最大数字分销商。正如 Steam 创始人 Gabe Newell 向 RockPaperShotgun.com 所述,优势非常明显。“对于 NES(任天堂娱乐系统*)而言,最艰难的日子……是游戏卡时期。这是一个巨大的风险。由于将所有的资金都投在仓库中存储的芯片上,因此您在制定决策和签署 IP 时非常保守,艺术方向不会发生改变等。现在的情况截然相反……不存在任何货架空间限制。”

Distribution platforms

图 3:可以从上述所有方案中选择或加入的分销平台。

多个站点现在能够集中购买和下载数字内容。此外,一些平台还可以用作数字版权管理系统 (DRM),用于控制游戏使用、修改和分销,并处理游戏内购买、内容解锁密钥等事宜。以下是三个主要模式:

  • 由大型发行商(例如 Electronic Arts Inc.*、Ubisoft* 及腾讯*)运行的专有系统,可支持其直接销售,并整合用户信息。
  • 销售第三方游戏和第三方 DRM 的零售系统。示例:Green Man Gaming*、Humble Bundle* 及 GamersGate*。
  • 销售第三方游戏和专有 DRM 的数字分销平台。表 1 显示了领先平台的页面访问量。

表 1:按页面访问量排名的顶级分销平台(资料来源:Newzoo 2017 年第二季度:全球游戏市场)。

平台

Web 地址

游戏数量

月度总访问量

Steam*

www.steampowered.com

14,000

163,000,000

Humble Bundle*

www.humblebundle.com

5,000

41,600,000

GOG

www.gog.com

2,000

19,000,000

itch.io

www.itch.io

63,000

10,100,000

Green Man Gaming*

www.greenmangaming.com

7,500

6,200,000

GamersGate*

www.gamersgate.com

6,000

2,000,000

OnePlay*

www.oneplay.com

2,000

127,000

建立真正的合作伙伴关系

由于选择良多,因此选出一家分销合作伙伴可能非常困难。以下是选择合作伙伴之前需要回答的一些关键问题:

  • 您的业务模式是什么?如果您依靠游戏内购买,则需要一个强大的 DRM 系统来管理相关微交易。
  • 您的游戏是免费,还是收费?定价应是您在开发工作早期作出的一个艰难选择 - 如欲获取更多信息,请参阅我们的另一篇文章《做好准备:进行独立游戏定价》。
  • 您的目标受众是谁?如果您专注于较小细分市场,那么可能不想冒险堙没在最大分销平台中。寻找针对您目标受众的专用站点。
  • 您的潜在客户使用哪些设备?如果您将发布移动益智游戏,请关注分发此类游戏的站点。
  • 您的潜在客户使用哪些渠道?了解目标受众依赖哪些站点。

直销仍然有效

由于担心在线分销商瓜分收入,因此一些独立游戏开发商可能考虑自己分销游戏安装包。通过零售商进行销售的平均分成是 70/30,但这可能因平台和开发商影响力不同而有所差异。一些站点甚至提供随意付费选项,或支持客户直接将部分款项捐赠给慈善机构。

为了确保自己赚取超过 70% 的收入,您可以与全堆栈数字商务平台合作,例如 Fastspring*,后者支持在线、移动及应用内体验的全球订阅和支付。或者,您也可以使用 Binpress*上的工具建立您自己的数字商店。

英国牛津 Mode 7团队成员 Paul Kilduff-Taylor 写道:“不要仅依赖分销商帮助您销售游戏……直接销售仍然可以赚取丰厚的利润。”Kilduff-Taylor 建议,在建立您自己的分销渠道时,您不仅需要可靠的支付提供商、清晰、优化的网站,而且还必须努力通过有效的营销计划吸引潜在客户访问您的站点。

通过您自己的努力来增强完整的多渠道分销战略。Kilduff-Taylor 表示:“为了通过可下载游戏在电脑市场取得不俗的成就,您需要依靠各大门户。”

不要仅停留在 Steam

根据 SteamSpy.com,Steam 控制着大部分电脑游戏市场,到 2017 年年底,其服务拥有超过 2.75 亿活跃用户,每周用户数量增加 10 万。2017 年,估计有 6,000 多款游戏发布在 Steam 上。

其关键优势之一是 Humble Indie Bundle,后者能够管理独立游戏,为较小游戏提供展示的机会。SteamDirect 常见问题解答列出了一些您应该注意的问题。请您务必强调游戏的独特之处,并通过市场营销工作进行合理安排,将计划、宣传材料、媒体信息及具有吸引力的预告片等一切准备就绪。预告片是一个关键组成部分,Kert Gartner等制片人备受追捧。<“Kert Gartner 介绍混合现实 VR 游戏预告片背后创作智慧”的链接> 请确保您的游戏独树一帜,否则您将堙没在每日大量发布信息中。

英特尔软件合作伙伴营销经理 Patrick DeFreitas 建议独立游戏开发商考虑通过多个渠道进行分销。“电脑游戏方面的许多独立开发商将 Steam 视为最重要的分销渠道。他们认为,如果能够在 Steam 发布其游戏,则万事俱备。但最好能够考虑其他数字和零售分销渠道,以便将您的游戏投放出去。”

二级零售商和渠道专注于管理高品质游戏,以吸引其客户群,并能够完美匹配您的游戏及其粉丝。此外,DeFreitas 还指出一些零售商可能在单个地区做得更好。他表示:“他们都在寻找能够通过其渠道进行销售的游戏组合。最终,您可能成为拥有十多个不同渠道的独立开发商,可以直接向全球消费者销售游戏。”

数据收集助力决策制定

调查不同分销渠道可为您收集的统计数据。随着时间的推移,当您确定销售趋势、促销活动响应、地理优势及买家角色时,您需要对大量数据进行分析。Steam 规模较大,因此 SteamCharts.com 等第三方站点纷纷提供数据快照。在 SteamAnalyst.com 上,您能够了解游戏内购买趋势。您可以搭配使用 Google Analytics* 与 Steam 数据,以分析您的 Steam 商城页面或社区中心,从而获取有关流量来源和访客行为的匿名数据。

Steam*
图 4:Steam* 执行月度调查,有助于指导您的决策制定(资料来源:Steampowered.com)。

请务必利用数据收集良机,以便开发和完善目标受众中的玩家角色。您对销售情况和客户了解得越多,针对其他分销选择作出的决策越明智。

SteamCharts.com
图 5:SteamCharts.com 等第三方站点可提供 Steam* 数据持续快照(资料来源:Steamcharts.com)

多平台发布有助于增加收入,但也将带来困扰

跨移动设备、控制台及电脑操作系统发布游戏是增加收入流的一种有效方法,但对于大多数拥有一款游戏的初级开发商而言,这可能不是一个很好的选择。一次性熟悉许多不同的系统是一个巨大的挑战。Unity* 软件和 Unreal* 等游戏引擎提供了通过相同代码库支持多个平台的方法,但需要准备在测试和质量控制方面进行大规模投资。您可能希望专注于打造最佳电脑游戏,而非扩展至各个可用平台。

通过捆绑增加趣味性

加入原始设备制造商捆绑包是快速开展分销的绝佳方法;您可以开发更多的企业对企业模式,捆绑商将处理大部分促销活动。您只需与捆绑包中的几款游戏展开竞争,而不必尝试从大约同一时间发布的数十款游戏中脱颖而出。Reddit* 能够保持对当前销售捆绑包的全面了解,并给出提供游戏捆绑包的站点列表。IndieGameBundles.com* 拥有一个完全针对独立开发商的类似列表

Joe Hubert 在 venturebeat.com* 上写道:“如果您希望安于现状,则不会加入捆绑包。您需要加入一个对您的游戏有后效影响的捆绑包。(曝光率超过低销售价位。)您的游戏将引起广泛关注、吸引受众进行深入了解,并在未来得到认可。”

HumbleBundle.com 提供了常见问题解答,可帮助您完成其提交步骤。Fanatical.com* 通过一封电子邮件开始其流程,而 Green Man Gaming 则需要填写在线表格

此外,在构建自有网络的过程中,您还可以在展会与活动上联系发行商和捆绑商。主要游戏站点和杂志能够引导您转向新的热门平台。此外,您还可以与其他开发商交流其对分销趋势的看法。

在加入捆绑包后,您可能将参与您自己的营销工作。好消息是,您将获得更多的新闻和信息来补充您的社交网络反馈。如欲获取更多有关促销活动战略和营销推广交付项目的信息,请查看这篇关于活动参与的文章 <《备受关注:作为独立游戏开发商参加您的首场活动》的链接> 和这篇关于接近行业影响者的文章<《发展壮大:接近独立游戏开发商行业影响者》的链接>。

多个组织都举办独立游戏开发商年度竞赛。独立游戏节提供现金奖励和公共宣传,而游戏开发世界锦标赛则提供芬兰与瑞典之旅和顶级游戏工作室探访。上述奖励也是您促销材料的重要营销项目。此外,您还需要关注那些帮助您分销捆绑包中游戏或作为独立游戏进行分销的竞赛。例如,英特尔® 进阶游戏开发人员大赛可向 Green Man Gaming 展示您的游戏。请访问 PixelProspector.com* 站点,获取可参加竞赛的更新列表

合理分销的强大作用

Bastion*是独立开发商 Supergiant Games 打造的一款动作角色扮演游戏,在最近举办的游戏开发者大会 (GDC) 上险些因棘手的预览版而折戟。但当 Supergiant Games 将可玩性较高版本带到 Penny Arcade 博览会时,该游戏开始摘得各项大奖。最为关键的是,这推动华纳兄弟互动娱乐公司将其发布在了 Microsoft Xbox* 上。随后,它通过 Steam 被移植到了 Microsoft Windows* 电脑,并为 Google Chrome* 创建了一款浏览器游戏。该游戏在一年内销售至少 50 万份。

Bastion*
图 6:Bastion* 克服了早期障碍,提供了多个版本。

Dustforce*  被纳入 Humble Indie Bundle 6 时,其销量显著提升。在捆绑包推出后的短短两周时间里,该游戏销量达到 13.8725 万,并赚得 17.8235 万美元。

促销活动通常有助于推动平台期销售。Binpress* 编辑 Alexis Santos 表示,Pocketwatch Games 的 Monaco*通过加 入  Humble Indie Bundle 11 赚取了 21.5 万美元。在销售的 493,000 个捆绑包中,Monaco获得了 370,000 个出价人的青睐;出价人必须出价高于每捆绑包 4.71 美元的平均价格才能够竞得 Monaco。这意味着 Pocketwatch 的每游戏收入并未显著增加,但分销了数十万份游戏。最终,这款已经上市 10 个月的游戏实现了收入大幅提升,但这对该捆绑包之外的 Steam 全价游戏销售没有产生重大影响。

GameFutures.com* 创始人 Aki Järvinen 最近撰写了关于 10 大塑造游戏行业趋势的文章,并指出了获益于新分销方案的业务模式的演进。他说道:“Playfield* 和 Itch.io等公司正在构建相关服务,尝试帮助玩家社区和开发人员解决独立游戏可发现性问题。”他猜测,分销平台将为营销、公共关系和数据分析提供更多支持,未来我们可能会看到更多 Morgan Jaffit 所说的“三个 I”游戏和工作室。

市场将始终为独特、有创意的游戏留有空间,而不会出现 2015 年权威人士担忧的独立游戏危机,即独立游戏市场过度饱和,导致市场增长缓慢,开发商所能分得的羹也越来越少。关键在于让玩家轻松找到并购买游戏。借助多个不断演进的分销渠道,您将能够努力通过相应渠道分销您的知识产权,从而最大限度地扩展业务范围、接触受众并增加收入。此外,请大胆寻求帮助。英特尔与 Green Man Gaming 刚刚携手为发行商、零售商及渠道合作伙伴建立了一个全新数字内容分发站点。如欲了解更多有关参加英特尔®软件分销中心的信息,请访问 https://isdh.greenmangaming.com

资料来源

英特尔® 开发人员专区

英特尔® 进阶游戏开发人员大赛

Indie Games on Steam

CardLife*的《Liberating World》是一款纸板创建工具中的游戏

$
0
0

原文由 Intel Game Dev 发表于 VentureBeat*:CardLife*的《Liberating World》是一款纸板创建工具中的游戏。请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

Cardlife Game

凭借《罗博造造》(Robocraft)* 这款机甲对战游戏,Freejam* 以热衷于用户生成内容而闻名世界。凭借最新游戏,该工作室正在回归用户生成内容的最终来源:简单的纸板。但现在人们在制作一个由机甲、龙和魔法构成的多人生存游戏时,并不是这么简单。

这个游戏最初只有一个小原型,是 Freejam 首席执行官 Mark Simmons 构思的一个简单目标:用纸板发挥您的创造力。他和游戏总监 Rich Tyrer 聊了起来,迸发出更多想法,最终将创意变成了现实。Tyrer 回忆道:“我们设想了一个由纸板小屋和工具构成的基本纸板世界。我们在网上发布只是为了看看会发生什么。关键是看看人们如何用这个纸板和这两种工具(锯和钢锯)发挥自己的创造力。”

即使只有一些工具,也可以用纸板做很多事情(尤其是它可以控制规模),它的潜力足以让 Freejam 团队在一个月后成立,以便以正确的方式进行开发。“我们从这里入手,这款游戏也应运而生。我们开始思考什么流派有助于人们的审美,我们如何让人们做出他们想要的东西?我们认为,纸板的魅力就像是一个孩子用纸板箱建造一座城堡。您需要填补空白。这就是它的意义所在。”

然而,开放世界的多人游戏本身并不是CardLife*概念的终点。"CardLife游戏更多表现了您可以用纸板做什么。我们想用它来创建这个纸板平台,人们可以在这里进行创建并进行大量修改。这就是它专注于 UGB(用户生成内容)且真正可定制的原因。”

CardLife 的唯一规则

Freejam 的目标是创建一个平台,人们既可以在 CardLife 游戏中创建他们想要的任何内容,也可以只使用 Notepad* 和 Paint* 创建 mod,只要这些东西都是纸板。Tyrer 使用《战争机器》*的例子。如果玩家想要完全重新创建 Epic* 的射击游戏,他们应该只使用 Unreal*。如果他们想要用纸板制作,绝对可以做到。这是 Tyrer 想要施加的创意方面的唯一限制。

他强调,就使用便利性而言,他希望这款游戏简单易用,以方便孩子们轻松上手。儿童名字的 3D 建模更加取决于入门门槛和制作 mod 的难度。我们希望降低门槛和难度,无论他们想要制作一个强有力的版本,一款格斗游戏,还是只想添加更多生物。”游戏中的一切基本上都是 2D 图形的集合,可以在游戏文件夹中作为 PNG 文件。制作新角色模型就像在画图中绘制不同的形状并将它们组合起来一样简单。

CardLife的定制不仅限于修改,每当玩家制作物品、车辆甚至龙时,他们都可以完全改变其纸板创作。该系统以连接点而命名,其灵感也来源于此。这是孩子们通过填充空白来创作艺术的一种方式,您可以改变直升机或怪物的纸板轮廓,这就是 CardLife想要捕捉的感觉。当世界被颠覆者改变时,最终将发生这一切。

不太明显的机制和隐藏的卡片会自行解决问题。Tyrer 解释道:“如果您希望背面大幅增加,您可以彻底改变背面的这张卡片的中央部分并使其成为自己的一部分。但座位下方有一个没人能看得到的小圆片,有人画它毫无意义。它只是继承了您绘制的所有其他卡片的比例。您可以在 3D 预览中看到您的卡片有什么效果。”

您也可以对部件进行镜像和复制,从而省去一些繁琐的工作。如果您正在创建一个新角色和一条腿,那么您就不必再创建第二条腿;游戏将为您创建一条新腿。Tyrer 希望,这样可以让人们专注于制作很酷的东西和发挥自身创造力上。他不希望艺术和游戏玩法相互影响,所以不管你的创作看起来多么荒谬,它在游戏战斗中仍然是完全可行的。

美丽却致命

“我们在 Robocraft中了解到,与美观的机器人一样,艺术机器人的性能通常不及 Robocraft-y机器人。由于破坏模型的工作方式,Robocraft-y 机器人通常是一个顶部有大量枪支的块体。所以,让海绵宝宝* 这种动画人物看起来像一个有效的机器人很难。借助 CardLife,我们希望确保确保人们始终能够创造性地表达自己,而不必担心游戏玩法的影响。”

CardLife Game

PvE 服务器将在更新中添加,但战斗和 PvP 将仍然是 CardLife的一个重要组成部分。Tyrer 设想的场景是大型玩家围攻,由纸板制成的大型堡垒受到达芬奇风格的直升机、巫师以及拥有未来技术的士兵的攻击。可以制作的物品被分成技术领域,一直到科幻领域,但也有魔法和可制作的咒语。

Tyrer 认为纸板可以自由变换,从而将他从游戏类型中解放出来并设定惯例。“如果您正在制作 AAA 科幻游戏,则不能在游戏中添加龙。您可以添加到游戏中的参数取决于已有的科幻概念。您可以在 Robocraft中看到这一点。但在纸板中,如果我是一个玩纸板箱的孩子,没有人会跑来告诉我,我不能让龙与机甲进行搏斗。我可以。这就是它的出色之处。”

我应该通过积极探索和挖掘游戏来寻找新方案,而不是站在原地等待需要研究的技术。有时只是表面相同。Tyrer 解释道:“这更像现实生活。当您找到新材料并将其放入游戏中时,它会为您提供不同的制作选择。当您深入挖掘地下并找到稀有矿石时,这些矿石将与不同的方案相关联,然后这些方案将可以让您制作出更强大的物品。”

直到无限

与其他创意沙盒 Minecraft*不同,CardLife的世界不是程序化的。它是有限的,并以特定方式进行设计。如果您正在使用一台不堪重负的服务器并想要迁移到另一台服务器,那么您将面临同样不堪重负的服务器。不过,它可能看起来不一样,因为这些世界仍然是动态、可定制的。但它们也可以补充。

CardLife Game

Tyrer 表示:“如果您希望让有限的世界无限期运转,则需要补充。老玩家的结构将逐渐发生变化,自然灾害将重新填满洞穴或改变山脉,这是我们让世界无限期运转的方式。我们可以有一个正在改变和变化的世界,但也是一个人们可以了解和喜爱的世界。”

现在只有一个早期的设想。不过,CardLife的发展速度很快。三月初或更早可能会发布一个重要更新,该更新将引入装甲和武器统计数据,建立权限,以便您选择可以出去闲逛的对象或编辑您的结构以及物品耐用性。然后,两个月后又有另一个更新。

工作室尚未准备好宣布发布日期,并且仍在忙于观察其早期访问测试平台和规划新功能。卡片上的生物群落将更多,可探索的海洋也将更多。Tyrer 表示:“没有任何渠道被关闭。这包括平台,所以控制台发布不是不可能的事情。通过 Nintendo* 的 Labo 构建工具包,甚至可以将这个与 Switch * 之间的纸板连接在一起,虽然 Tyrer 嘲笑这个建议,但它们会很合适。这并不是不可能。

“我们只想将您能想到的所有出色元素集中并混合在一起。”

CardLife目前已在 Freejam* 上提供,很快将在 Steam* 上提供。

Stellaris 2.0*:重建银河系

$
0
0

原文由 Intel Game Dev 发表于 VentureBeat*:Stellaris 2.0:重建银河系。请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

Screen of the Game Stellaris

随着 Stellaris*即将迎来二周年纪念日,来自 Paradox Development Studio *的太空盛大策略/4X 混合动力正在发生巨大变化。即将发布的 2.0*更新是该工作室最雄心勃勃的计划之一,也是该团队早在去年 4 月推出的 Utopia*之前一直在开发的产品。

游戏总监 Martin Anward 表示:“有人认为我们不能对这款游戏进行较大的更新,我对此表示怀疑。”“有人问我们为什么没有制作Stellaris 2。事情是这样的:如果您的房子需要一个新屋顶,您会翻新屋顶。但如果我们制作了 Stellaris 2,这就不是翻新屋顶的问题了,而是建造一座新房子。游戏比以往更受欢迎,所以我们没有理由不能做到这一点。”

更新的规模和附带的 Apocalypse DLCStellaris众多系统相互关联的结果。Paradox* 想要进行战争更新,但他们在不更改很多其他基本系统的情况下无法完成这一更新 - 这对星际基地和舰队运动至关重要。Anward 表示:“如果您启动了Stellaris 2.0,您仍可以将其识别为 Stellaris,但您玩游戏的方式,建造船只、扩张船队和操纵方式,都会改变。我们之前没有做过这样的事情。”

其中最显著的变化就是星际基地和扩张的运作方式。由于构建星际基地,边界曾发生动态变化。尽管这使得扩张看起来具有一定程度的有机性,但它会造成一些问题,比如如帝国被迫宣战,从而建立一个位于帝国边界内、帝国甚至不需要的一个星系。这意味着扩张是无计划的,因为整个空间都被帝国吞噬了,只是为了建立一块殖民地。

Anward 解释道:“整个殖民化和动态增长的边界均被经过权衡的慎重选择所取代。”然而,星际基地仍然牵扯其中,因为他们现在习惯于要求制度,边界不断变化以反映帝国控制的星系。Anward 指出,他们已经通过额外的机制加以完善,贸易和造船现在都属于他们的职权范围。

加速

Screen of the Game Stellaris

Anward 表示:“第二个支柱是战争与和平系统。"我们已经完全改变了战争的运作方式。我们有其他要求,我们有交战理由,我们改变了 FTL 类型 - 我知道这是一个有争议的决定,但它是必需的。否则,我看不出一种能够让战争变得很好的方法。”

Stellaris在启动时不同寻常,因为玩家可以在三种不同的 FTL 系统之间选择,这会大大改变舰队在银河系中的移动方式。弯曲速度很慢,但船只可以在任何地方行驶。超空间航道速度较快,但有限的船只沿着固定路线行驶。而虫洞允许船只在系统之间立即跳转,但只有拥有适当虫洞门的那些船只才能做到这一点。2.0 会废弃除超空间航道之外的一切。

Anward 解释道:“在当前版本中,战争方面最大的问题之一是你无法理解船队如何移动。所有这些不同的 FTL 类型有太多可能的变量。您不可能一下就知道敌人来自哪里。对于理论上的所有有趣部分,最终结果是很多船队四处移动,而您不知原因。

对于 Paradox 非常重要的一点是,玩家并不觉得自己失去了什么,却没有获得更多的功能来减轻损失。新的 FTL 系统已经允许该团队创建‘银河地形’。阻塞点、环境危害和星座岛会带来战略性问题,使空间更加有趣。玩家也将能够创造更有效的防御并为入侵做好准备,而不需要花费数小时试图应对三种不同的 FTL 类型。

最终,高端技术人员会让他们使用跳转驱动器和静态虫洞,但是会有限制和成本,这意味着它仍将可以更轻松地预测战争的走向。最终,玩家们仍然有很多选择,甚至可以在游戏开始时设置超空间航道密度,用路线填充空间,从而有效地复制弯曲 FTL 机制。这是一个选择,但 Anward 认为保持一些克制会更好。

清理空间

选择是任何 Stellaris更新的重要组成部分,并延伸到随附的 Apocalypse DLC中的付费内容。顾名思义,它充满了杀伤力巨大的毁灭性发动机和大量主力舰,但它不仅仅针对激进好战的帝国。当然,您可以减轻 Alderaan 的破坏,但是如果您玩的是灵性物种,例如您可以使用您的星球驱逐舰转换人口,而合成帝国可以用纳米机器人感染世界,将它们转化为半机器人。

Paradox 的方法是 DLC专注于添加受其他科幻世界启发的新东西,例如 Synthetic Dawn*的机器人帝国和现在Apocalypse的毁灭性武器,将核心变更留给免费更新。玩家可以免费获得重要特性,同时也可以简化开发人员的工作。

Anward 解释道:“我们通常会尝试遵循以下策略:如果这是我们日后想要创建的核心游戏,我们会尽量保证其免费。Ascension perks*就是一个很好的例子,它是一个付费游戏,但现在我们将其做成免费游戏,因为我们想要对其进行扩展。比如我们要创建付费的战争系统,这根本行不通。我们必须支持这两个系统,我们永远不可能知道玩家使用的哪个系统或在系统上建立机制。”

这也意味着,新玩家不必立即购买 DLC,只是为了了解游戏自 2016 年推出以来如何发展。Paradox 也一直试图通过 Twitch* 和 YouTube* 吸引新玩家。它拥有一个专门的视频团队,直播 Paradox Interactive 发布的所有游戏(不仅包括内部游戏)。最近,它播出了一个YouTube 系列视频,在这个视频中,YouTube 的Stellaris新玩家被丢入了一个新的银河系。Anward 认为,这可帮助新玩家更轻松地上手游戏。

“这是 Paradox 迄今为止最容易上手的游戏。如果您是从 《欧洲风云 IV》*开始玩的,您很快就会熟悉。现在 1444 年的法国。所有人都在邀请您加入他们的联盟,战争正在进行,历史在您取消暂停的那一刻展开。在Stellaris中,您从更易于管理的东西开始。您可以从几艘飞船和一个系统开始 - 您可以搞定它们。但这是相对的,仍然有人认为这些工作太多。”

《欧洲风云》*《十字军国王》*《钢铁雄心》*不同,Stellaris不仅限于过去。“我们不受历史的限制。它有时也是一个缺点,因为我们没有历史依据。我们不得不立足于我们在科幻比喻中的工作,但这样做确实能实现巨大的自由。我们可以做出任何想要的游戏。”

Stellaris 的 2.0更新和Apocalypse于 2 月 22 日推出。

Unreal Engine* 4.19 的 CPU 功能检测

$
0
0

Unreal Engine* 4.19 发布之后,许多特性针对多核处理器而优化。过去,游戏引擎在图形特性和性能方面采用控制台设计点。一般而言,多数游戏未针对处理器进行优化,这使得大量 PC 性能得不到充分发挥。英特尔与 Unreal Engine 4 的合作重点是尽快帮助使用引擎的开发人员释放游戏的潜能,以充分利用 PC 平台的所有处理器计算能力。

英特尔对 Unreal Engine* 4.19 的支持工作取得了以下成效:

  • 增加了匹配用户处理器的工作线程的数量
  • 提高了布料物理系统的吞吐量
  • 集成了对英特尔® VTune™ 放大器的支持

为了充分利用高端 CPU 的额外计算能力,英特尔开发了一款能提供详细 CPU 指标与 SynthBenchmark 性能指标的插件。CPU 功能可以使用该插件的指标来划分特性与内容。通过这种方式划分特性与内容将支持您的游戏运行于各种系统,并且不会对整体性能造成影响。

如欲下载插件,请访问 GitHub Unreal 功能检测页面。

Unreal Engine* 4.19 功能检测插件

借助功能检测插件,您可以访问兼容 C++ 和蓝图的帮助函数(面向 CPU)、渲染硬件接口 (RHI) 函数和面向 CPU/GPU 的 SynthBenchmark 性能索引。

表 1.CPU 检测函数

第三方函数蓝图函数描述
Intel_IsIntelCPU()IsIntelCPU()如果是英特尔 CPU,返回 TRUE
Intel_GetNumLogicalCores()GetNumLogicalCores()返回逻辑内核数量
Intel_GetNumPhysicalCores()GetNumPhysicalCores()返回物理内核数量
Intel_GetCoreFrequency()GetCoreFrequency()返回当前的内核频率
Intel_GetMaxBaseFrequency()GetMaxBaseFrequency()返回最大内核频率
Intel_GetCorePercMaxFrequency()GetCorePercMaxFrequency()返回正在使用的最大内核频率 %
Intel_GetFullProcessorName()GetFullProcessorName()返回长处理器名称
Intel_GetProcessorName()GetProcessorName()返回短处理器名称
Intel_GetSKU()不适用未使用

表 2.高速缓存与内存检测函数

高速缓存与 Memory 函数
第三方函数蓝图函数描述
Intel_GetUsablePhysMemoryGB()GetUsablePhysMemoryGB()返回可用的物理内存(GB)
Intel_GetComittedMemoryMB()GetComittedMemoryMB()返回占用的内存(MB)
Intel_GetAvailableMemoryMB()GetAvailableMemoryMB()返回可用的内存(MB)

表 3.渲染硬件接口 (RHI) 包装程序函数

RHI 包装程序函数
第三方函数蓝图函数描述
不适用IsRHIIntel()如果是英特尔 GPU,返回 TRUE
不适用IsRHINVIDIA()如果是 NVIDIA GPU,返回 TRUE
不适用IsRHIAMD()如果是 AMD GPU,返回 TRUE
不适用RHIVendorName()返回 GPU 的厂商名称

表 4.SynthBenchmark 包装程序函数

SynthBenchmark 包装程序函数
第三方函数蓝图函数描述
不适用ComputeCPUPerfIndex()100:一般、良好的 CPU, <100:较慢, >100:较快
不适用ComputeGPUPerfIndex()100:一般、良好的 GPU, <100:较慢, >100:较快

SynthBenchmark

使用 SythBenchmark 包装程序时需要注意,首次调用每个 ComputeCPUPerfIndex()ComputeGPUPerfIndex()都将产生少量的性能成本,同时计算性能索引。ComputeCPUPerfIndex()ComputeGPUPerfIndex()的首次和后续调用如果在运行基准性能测试时没有产生额外的开销,性能索引值将被缓存。对于游戏中依赖性能的部分,建议您在启动或加载界面的过程中调用这两个函数。

安装功能检测插件

1.从 GitHub*下载功能检测插件并打开项目文件夹。

Project folder caption

2.如果插件文件夹不在根目录中,请立即添加。

Steps to create the plugin folder

Plugin folder image

3.将功能检测插件提取至插件文件夹。

CapabilityDetect plugin folder

4.使用 .uproject 文件夹启动项目。

Steps to launch the project

5.访问主菜单中的 Edit > Plugins。加载插件窗口时,功能检测插件应安装在项目中。

Installed Capability Detect Plugin

现在,插件已安装完成,可以用它划分游戏内容与特性。下一节,我们将介绍 CPU 功能如何使用该插件划分特性。

Unreal Engine 4.19 特性划分

检测功能

为了借助平台配置划分特性,创建一个全新的 UDataAsset,并将其命名为 UPlatformConfigUPlatformConfig 将存储目标平台的特征,如物理内核数量、逻辑内核数量、可用的物理内存、处理器名称和/或 SynthBenchmark 性能索引。

#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "PlatformConfig.generated.h"
/**
 * Platform Configuration Data Asset
 */
UCLASS(BlueprintType)
class CAPABILITYDETECTDEMO_API UPlatformConfig : public UDataAsset
{
       GENERATED_BODY()
public:
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       float CPUPerfIndex;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       FString Name;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       bool IsIntelCPU;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       int NumPhysicalCores;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       int NumLogicalCores;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       float UsablePhysMemoryGB;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       float ComittedMemoryMB;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       float AvailableMemoryMB;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       float CacheSizeMB;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       float MaxBaseFrequency;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       float CoreFrequency;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       float CorePercMaxFrequency;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       FString FullProcessorName;
       UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Platform Configuration")
       FString ProcessorName;
};

接下来,我们可以使用静态功能设置名为 UPlatformTest的类,以比较 UPlatformConfig的属性与插件检测到的功能。

#include "CoreMinimal.h"
#include "PlatformTest.generated.h"
class UPlatformConfig;
/**
 * Static functions for testing capabilities.
 */
UCLASS(BlueprintType)
class CAPABILITYDETECTDEMO_API UCapabilityTest : public UObject
{
       GENERATED_BODY()
public:
       UFUNCTION(BlueprintCallable, Category = "Capabilities")
       static bool CapabilityTest(UPlatformConfig* config);
       UFUNCTION(BlueprintCallable, Category = "Capabilities")
       static UPlatformConfig* GetCapabilityLevel();
};

CapabilityTest()函数将比较 UPlatformConfig与功能检测插件检测到的特性。在本示例中,我们将检查物理内核、逻辑内核和 SynthBenchmark CPU 性能索引是否超越传输至函数的 UPlatformConfig属性。

bool UCapabilityTest::CapabilityTest(UPlatformConfig* config)
{
    // True if system capabilities exceed platform definitions
    return
        UCapabilityDetectBPLib::GetNumPhysicalCores() >= config->NumPhysicalCores
        && UCapabilityDetectBPLib::GetNumLogicalCores() >= config->NumLogicalCores
        && UCapabilityDetectBPLib::ComputeCPUPerfIndex() >= config->CPUPerfIndex;

现在,我们已经找到了一个比较功能的办法,我们可以创建另一个函数来设置与测试平台配置。我们将创建一个名为 GetCapabilityLevel()的函数,并划分 4 个等级,分别是低、中、高和超高。我们将提供一个与特性等级对应的名称,为每个被测的配置指定物理/逻辑内核和 SynthBenchmark 性能索引。最后,由于我们使用大于等于号来比较 CapabilityTest(),我们将按照从高到低的顺序进行测试,并返回结果。

UPlatformConfig* UCapabilityTest::GetCapabilityLevel()
{
       // Create Platform Definitions
       UPlatformConfig *ULTRA, *HIGH, *MEDIUM, *LOW;
       ULTRA = NewObject<UPlatformConfig>();
       HIGH = NewObject<UPlatformConfig>();
       MEDIUM = NewObject<UPlatformConfig>();
       LOW = NewObject<UPlatformConfig>();
       // Assign Properties to platform definitions.
       // LOW - 2 Physical Cores 4 Hyper-threads
       LOW->Name = TEXT("LOW");
       LOW->NumPhysicalCores = 2;
       LOW->NumLogicalCores = 4;
       LOW->CPUPerfIndex = 0.0;
       // MEDIUM - 4 Physical Cores 8 Hyper-threads
       MEDIUM->Name = TEXT("MEDIUM");
       MEDIUM->NumPhysicalCores = 4;
       MEDIUM->NumLogicalCores = 8;
       MEDIUM->CPUPerfIndex = 50.0;
       // HIGH - 6 Physical Cores 12 Hyper-threads
       HIGH->Name = TEXT("HIGH");
       HIGH->NumPhysicalCores = 6;
       HIGH->NumLogicalCores = 12;
       HIGH->CPUPerfIndex = 100.0;
       // ULTRA - 8 Physical Cores 16 Hyper-threads
       ULTRA->Name = TEXT("ULTRA");
       ULTRA->NumLogicalCores = 8;
       ULTRA->NumPhysicalCores = 16;
       ULTRA->CPUPerfIndex = 125.0;
       // Test platforms against detected capabilities.
       if (CapabilityTest(ULTRA)) {
              return ULTRA;
       }
       if (CapabilityTest(HIGH)) {
              return HIGH;
       }
       if (CapabilityTest(MEDIUM)) {
              return MEDIUM;
       }
       return LOW;
}

C++ 中的检测功能

借助 UCapabilityTest类,现在我们可以确定 CPU 特性等级。我们可以使用来自 GetCapabilityLevel()的结果来划分 C++ 或蓝图中的内容。例如,如果我们创建了一个角色,便可以划分 Tick 函数中的特性。

// Called every frame
void AMyActor::Tick(float DeltaTime)
{
       Super::Tick(DeltaTime);
       UPlatformConfig* CapabilityLevel = UCapabilityTest::GetCapabilityLevel();
       if (CapabilityLevel->Name == TEXT("LOW"))
       {
              // Use Simple Approximation for LOW end CPU...
              // e.g. Spawn 100 CPU Particles...
       }
       else if (CapabilityLevel->Name == TEXT("MEDIUM"))
       {
              // Use Advanced Approximation for MID range CPU...
              // e.g. Spawn 200 CPU Particles
       }
       else if (CapabilityLevel->Name == TEXT("HIGH"))
       {
              // Use Simple Simulation for HIGH end CPU...
              // e.g. Spawn 300 CPU Particles
       }
      else if (CapabilityLevel->Name == TEXT("ULTRA"))
       {
              // Use Advanced Approximation for ULTRA CPU...
              // e.g. Spawn 400 CPU Particles
       }
}

蓝图中的检测功能

此外,我们可以将在角色的 Tick 函数中使用的 GetCapabilityLevel()函数应用于蓝图中,因为我们使用 UFUNCTION(BlueprintCallable) 属性对它进行了修饰。在本示例中,我们使用关卡蓝图并在 BeginPlay后调用 Get Capability Level节点。Get Capability Level节点返回的 UPlatformConfig值包含一个 Name属性。在 Switch on String 节点中,它可以用来划分您的等级特性。最后,我们只需将 CPU 特性等级的名称打印到屏幕上(图 1)。


Blueprint Capability Detect
图 1.蓝图功能检测

最后,我们介绍与功能检测插件一起封装的蓝图函数。借助该函数,您可以在蓝图中更细致地发掘平台细节。只需将检测功能节点添加至您的蓝图,然后利用游戏所需的值(图 2)。


Detect Capabilities Blueprint Node
图 2.检测功能蓝图节点

结论

随着现代 CPU 内核数量的增加,我们可以拥有更多的游戏功能。但是,相比配备高端系统的玩家,内核数量较少的玩家可能会处于劣势。为了缩小这种差距,可以使用 C++ 和蓝图划分特性。如前所示,划分特性将实现最大的 CPU 利用率,同时通过一系列平台配置帮助玩家维持固定的帧速率。

Spearhead Games*:从离开 AAA 级游戏公司到创建能够时间旅行的可伦坡

$
0
0

原文由 Intel Game Dev 发表于 VentureBeat*:Spearhead Games:从离开 AAA 级游戏公司到创建能够时间旅行的可伦坡。请访问 VentureBeat 的英特尔页面,了解更多游戏开发新闻和相关主题。

Spearhead Games

如同前几年突然出现的大量独立工作室,Spearhead Games* 的创始人 Atul Mehra 和 Malik Boukhira 最初也是 AAA 级游戏开发人员。他们在蒙特利尔的 EA 任职期间,接手了一个不太理想的项目,两人由此结识。

Mehra 回忆称:“我们曾经合作完成过濒临破产的项目。但是我们的合作纯属巧合;我准备离开 EA 时,一位在 Malik 工作的老朋友表示我们可以聊一聊,因为我们的想法是一致的。从那时起,我们开始考虑一起做些什么。”

然后,Mehra 去 Boukhira 家拜访他,当他看到原型时,感到非常兴奋。他告诉 Boukhira:“就是它了。”“我们辞掉了各自的工作。”

但是 Spearhead Games 在 4 个月之后才正式成立,并开始真正接手项目。问题出在什么地方?因为他们没钱。

他们进入了加拿大媒体基金,这是一个由政府和媒体资助的组织,旨在为加拿大电视与数字媒体项目的发展提供资金与帮助。竞争非常激烈,为了确保能够顺利申请到资金,他们以 Red Barrel 工作室创始人 Philippe Morin(《Outlast》)和 Minority Media(《Time Machine VR》)的名义呼吁朋友提供援助。

Boukhira 补充道:“他们帮助我们策划首款 CMF 应用,我们真的很幸运。我们通过这种方式为筹集到了首款游戏的资金。

我们是第一批从 AAA 级游戏公司跳槽并成立独立工作室的人,但是在我们之前已经有人这么做了。”“因此,我们从他们的经验、错误和成功中学习。现在,蒙特利尔已经有大约 100 家独立工作室,从那时开始暴涨。”

他们两人相信,这反映了城市社区规模的扩大,从 2010 年的约 20 家工作室发展到现在的 160 多家,Boukhira 和 Mehra 认为这是一个紧密联系的社区,工作室乐于彼此帮助。

除了所从事的游戏前景暗淡或者工作室本身存在问题(工作室在他们离开不久后关闭)之外,行业转型也是他们当初想要放弃 AAA 级游戏的原因之一。他们记得,10 年前,AAA 级游戏公司更像现在的独立工作室,但是随着项目和团队规模的扩大,它变得和以前大不相同,避免实验和冒险。

游戏开发的困境

Spearhead Games

Spearhead 的首款游戏就像他们的理想宣言。Mehra 回忆道:“我们想要在《小小大脑》*中尝试一些滑稽的元素。我们与一个不到 10 人的微型团队制作了一款 4 人在线合作游戏,我们决定收取费用,在 PC、PS4* 和 PS3* 上发布 6 种语言版本。非常简单。这就是我们的想法!有时,只有碰壁时的愚蠢才能阻止我们。”

虽然小团队会面临重重障碍,但是相比 AAA 级环境更有优势。Mehra 解释称:“小团队更容易管理。如果某人出了问题,我们会讨论这个问题,然后一起想出解决办法。但是 AAA 级游戏公司有数百名员工。必须召集领导,安排会议,开始有所行动的时候,已经过去了数天。它们的规模决定了它们只能采取这种方式。”

Spearhead 的灵活性使工作室能够在短短的 11 个月内迅速完成新游戏《Stories: The Path of Destinies*》的制作,这是一款动作角色扮演游戏,但是并没有带来收益。

《ACE – Arena: Cyber Evolution》是 Spearhead 推出的多人在线战术竞技 (MOBA) 类游戏。他们创建了科幻类的运动,为游戏添加了团队的风格。他们戏称这是一款 MOSA(多人在线战术竞技)类游戏。现在,他们认为游戏发布得过早,就连 Epic 也告诉他们如果他们现在发布这款游戏,将获得更大的成功。

Mehra 承认:“在 2014 年,人们没有做好准备。甚至 Twitch* 都没有做好准备。我们向 Twitch 提出了关于观众互动和交互式反馈按钮的提议,这样,作为一名流媒体工作人员,我能为观众提供参与的选择,所有人都可以投票,结果会返回游戏工作室,并触发事件。他们说不行,这是不可能实现的。”

现在,Microsoft* 的流媒体平台 Mixer* 正在做这个。

也许 ACE 将卷土重来;当然,这也是 Mehra 一直在考虑的事情,但是这并不意味着 Spearhead 为冒险的倾向而感到后悔。Boukhira 表示:“作为一家工作室,我们总是尝试做出改变,如创新或试验。作为一家独立工作室,重操旧业使我们失去了宝贵的机会,因为我们有机会尝试不一样的东西,也许是电子竞技、合作游戏或角色扮演游戏,但是总会出现转折。”

这意味着它们能够快速转向新类型,因为他们的游戏通过玩家与世界的交互联系起来,而不是类型。他们逐渐意识到,在他们解释游戏到底是什么时,确实无从下手。

对于《Stories》,任务相对简单。这是一款动作 RPG 游戏,玩家对它比较熟悉,比较容易描述。游戏的叙事和注重结果的跳时结构支持 Spearhead 进行试验,但是只需看一眼截图,便能了解它最终是一款动作 RPG 游戏。

预见

Spearhead Games

工作室的下一款游戏《Omensight》显示了他们如何学会维持志向与熟练度的平衡。虽然它不完全是《Stories》的续作,但是两者发生在相同的宇宙,在精神上一脉相承,因此,新游戏将获得粉丝的认可。它在机制上有很大的不同,当时间旅行与动作 RPG 格斗再次出现时,《Omensight》显得别具一格,它既是一款动作冒险游戏,也是一个谋杀解密游戏。

Boukhira 解释称:“作为一名先驱 (Harbinger),您的主要目标是侦破谋杀案。先驱是一名宇宙修理师;她是一位拥有神奇能力的强大战士。某人被谋杀了,您由此察觉世界将在夜幕降临时毁灭。您只有 12 小时的时间来拯救世界,时间紧迫。此时出现了时间循环机制:这是一款用于调查案件与延长时间的工具。您可以尝试修改一天的行程,来查看发生了什么,或者强迫人们遇到原本不可能遇到的人。”

Boukhira 将它比喻为可伦坡。这位抽雪茄、穿雨衣的侦探整天都跟着嫌疑人,不断惹恼他们。先驱和他一样,也会不断和他们纠缠,但是可以穿越多条时间线。

战争不断加剧,双方立志要毁灭对方,形势变得更加复杂。先驱可以与两派进行接触,甚至在不同的时间线内与任意一方联手。这意味着您可以从不同的角度看待战争,以及实验战争结果如何影响谋杀案。

两个派别中有一些主要角色 - 将军、战士、巫师,他们充当嫌疑人或者搭档。在战斗内外,他们都拥有自己的行为模式或性格。先驱的使命是影响这些行为,以尝试改变这一天的结果。这意味着玩家可能需要刺伤将军来获得某人的青睐,或与同一位将军联手,并帮助他们摆脱困境。

学习战术

Spearhead Games

在战斗上延续了 Spearhead 创建的《Stories》。Boukhira 解释称:“我们尝试在战斗系统中创建一个出色的动作流程,同时为玩家提供更多的创作空间和战术选择。例如,您拥有在自身周围构建一个慢速运动范围的能力,除您之外的所有事物均受其影响。这是一个非常酷的技能,因为您可以在他们被定格的时候发起袭击,但是它也为您争取了做其他事情的时间。就像您拥有了隔空取物的能力,可以抓住与移动环境中的物体。您可以冻结时间,在其他人被定格的时候改变环境。”

搭档也会改变事情的发展轨迹。他们可能在逃跑过程中利用他们的策略来消灭敌人,他们也可能与即将和您交战的一方成为朋友,使您至少在那个时间线上完全避开该战斗。如果您和另一位搭档接近他们,您的剑上也许会沾上鲜血。

最终,战斗只是您用来改变世界与侦破谋杀谜案的另一个工具。您无法交谈。先驱是一位无声的主角。这是一个古老的比喻,但是这次在机制中实现。Spearhead 想要玩家仅通过动作制定游戏决策。

但是,这并不意味着玩家无法交流。事实胜于雄辩。杀掉某人的敌人会让您的意图变得更清楚。游戏名称是 omensight,毋庸置疑,这是先驱最得心应手的能力。

Boukhira 表示:“Omensight并不只是游戏的名称,也是先驱掌握的重要能力。这是一个特殊的能力,支持您与主要角色共享预兆,并且您和他都知道这个预兆是真的。如果您向他们展示了令人不安的场景,可能会改变他们对世界的看法,然后您会看到他们做出截然不同的决策,如改变立场或为您提供帮助。”

无论您做什么,都是可逆的。这是团队最喜爱的时间循环系统部分,支持您随时回到并改变过去。每个动作都会产生结果,可能使世界发生剧变,至少会使您离案件侦破更进一步,但是您不会被这些结果困住。一旦您了解了情节如何根据您的动作而发展,这只是一个借助预知能力重新开始一天的问题。

发布日期还没有确定,但是 Mehra 笑着说,会在 2018 年发布,可能在下个月的某一天。它将在 PC 上发售,但是 Spearhead 正在商讨在其他平台上发布的事项。

Viewing all 583 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>