游戏开发是个“坑”,而且是个“天坑”
本文首发于CSDN公众号
作者 | 开发游戏的老王 责编 | 梦依丹
出品 | CSDN(ID:CSDNnews)
各位游戏开发者大家好,我是开发游戏的老王,一名游戏开发者同时也是一名高校游戏方向的主讲教师,从事游戏开发及相关教学已经十余年。如果让我站在自己的角度用一句话概括这个游戏开发这个专业,我必须要说:游戏开发是个“坑”,而且是个“天坑”。
在从事游戏开发之前,我已经有了十年的码龄,回想自己第一脚迈入游戏开发大门时的心态,真可以说是“无知者无畏”,我以为凭借自己当时已经具备的编程技能,再简单熟悉一下游戏引擎的工作界面,把模型资源导入引擎,让它们动一动,一个游戏就完成了。
真的,就是这么离谱!


为什么说游戏开发专业是个“天坑”?
我就是抱着这样的心态(再加上做出游戏一夜暴富的幻想:D)一步一步开启我的游戏之旅的。然而随着学习和实践的深入,我遇到了一个又一个隐藏在“游戏开发”这个名词下的“知识点”,而且几乎每个“知识点”都足以在大学开设一门专业课供大学生学习一年:编程、算法、图形学、建模、绑定、动画(指动画资源制作)、特效、服务器端开发、数据库、数据加密…以及各种游戏引擎和引擎中的各个模块:游戏逻辑模块、游戏物理模块、游戏UI模块、人工智能模块、动画逻辑模块、插件开发、热更新…可以列举的知识点远远不止这些。
再往大了说,开发一个游戏还需要美术设计、游戏系统策划、游戏文本策划。这还仅仅是游戏开发的必要条件,要想游戏取得成功,市场营销、心理学等等学科跨度更大的“知识点”也要学习。我还没有提游戏开发技术在巨大的商业利润驱使下总是以惊人的速度在不断的更新迭代,常常我正在学习一项技术时,取代它的技术就已经诞生。
而我上述所说仅仅是游戏开发的学习成本,在实际的开发中,一些游戏内容的开发成本也是大得惊人。要知道很多三A级游戏即使是由一个几十人甚至上百人组成的成熟团队开发也需要若干年的时间(From Software开发《只狼》花了4年时间,而 RockStar 花了 8.5 年才完成了《荒野大镖客2》的开发);时间就是金钱,GTA5 的开发成本是 2.65 亿美元,而 GTA6 的开发预算更达到了 20 亿美元!
综上所述,无论是学习成本还是开发成本,我说游戏开发是个“天坑”,绝不为过吧?当然作为对这个行业充满热爱(也依然抱有幻想:D)的游戏开发者,我也必须诚实地说:之所以人们愿意投入如此之大的成本开发游戏,是因为游戏产品可能带来数倍于成本的经济回报,当然也有精神上的回报。
最近国外知名技术社区 Reddit 上有了一个非常热门的关于“游戏开发小白”的讨论,游戏开发者们纷纷吐槽自己遇到过的来自小白们的最奇葩的“创意”。老王在阅读的时候不时被老外们的吐槽逗笑,同时也仿佛回到了自己刚进入行游戏领域的那个青涩的时光。
接下来,咱们就一起看看国外的小白们,对游戏开发都有什么样的误解。
声明:我从讨论中筛选了一些高赞且有趣的讨论进行了翻译,以下节选的讨论并不含有对游戏新手的讽刺和蔑视,仅仅是一些游戏开发者站在“过来人”的角度,用调侃的方式感慨一下游戏开发这扇大门,门里人和门外人想法上的巨大反差。请大家以轻松的心态阅读以下内容。

游戏小白们的离谱“创意”
热议:请问各位游戏开发者,从游戏小白哪里,你们听说过哪些的最离谱的“创意”?——By SketchyPlayer123
我是一名独立游戏开发者,同时也接一些私活,帮助那些没有游戏开发技术的客户开发一些小型项目。然而,一次又一次地,客户们来找我的时候总是带着非常糟糕的游戏策划,却又同时抱着不切实际的期待。他们认为自己的游戏一定会成为爆款,所以我不得不给他们泼泼冷水,让他们起码了解一些游戏工业运作的基本常识。
一次,有位客户来找我,说要做一个爆款手机游戏,他害怕我把他的点子“偷走”,所以只肯向我透露该游戏会通过内付费项目和广告赚一大笔钱。这种情况对我已经见怪不怪了,所以我让他降低一下预期并询问他开发预算是多少。他告诉我他没有钱,但不会让我免费干活,等游戏上线了他会给我一些“游戏内”货币和很牛的武器装备。最开始我以为他是在开玩笑,几番交流以后,我发现他是贼认真的。
长话短说:客户想让我免费给他开发个游戏。
下面是这个帖子的高赞回贴:
SinomodStudios: 初次开发游戏的小白经常扬言要开发一个开放世界的 MMO(Massive Multiplayer Online Game 即大型多人在线游戏)
Super_Banjo: 我正在做一个简单的 2D 平台跳跃游戏,已经 3 年了,依然处于前期阶段。当然,这不怨别人,如果不是我自己废弃了很多已完成的内容,现在可能已经完成一两个关卡了 LOL。
BoarsLair: 在我看来,(小白们)好像在说:“嘿,我已经开始在自己的车库里学习木工活了,我打算做一个摩天大楼作为自己的第一个作品。”
Udon259: 以前我上过一个游戏设计课(大约三个月课时),老师要求我们每人提出一个游戏策划,有个哥们说“我打算做一个比《上古卷轴》还牛的游戏,并且还是多人游戏”。我的老师被逗笑了,说"OK,3 年以后见",然后那哥们就退课了。
TheFlamingLemon: 我想做一个城市构建、开放世界、生存、MMO、程序化生成、Roguelike…打算用 Unity 做,但我不会C#,谁愿意帮我写程序,可以得到 3% 的版税。
tpelham42: 回顾当年 MMO 游戏更加盛行的日子,我在游戏论坛经常看到诸如:“我要做一个独一无二的 MMO ”或者“类似 X 游戏,但又增加很多新功能”。
Patorama: 我一哥们儿的哥们儿打算做一个 CoD(Call of Duty 即使命召唤)毁灭者游戏。这家伙以前是个海员,非常喜欢现代战争游戏同时也非常恼怒于这类游戏并非 100% 真实。他发的 90% 的邮件都是在抱怨 CoD 中的军事行为如何错误。所以他打算和我(以及我的团队)制作一款有史以来最真实的军事射击游戏!我和我的团队负责实现游戏,然后这个家伙负责指出我们哪里出错了。真是一个难以置信的买卖!我们将赚几百万!(自嘲的语气)
chaoticsquid: 耶。当大家说“超级真实”的时候,他们一般没有意识到,游戏中绝大多数的趣味性,其实来源于它的非真实部分。我花了很多的时间在 r/gameideas 板块,不知多少次我都无语了,很多人就想做一个完全模拟人生的游戏(最近我还看到一个想让游戏在玩家死后自动卸载)。
tpelham42: 几年前有个客户,他是做药剂师的,他有个“牛叉”的手游点子,第一人称射击游戏,玩家站在药店的柜台后面射杀破门而入的僵尸…他不打算在游戏里加广告,而是采取付费下载的模式。这哥们没有任何游戏营销经验,他坚信药剂师有庞大的人群一定会为游戏买单。尽管我反复提醒他,结果可能不如预期,他还是依然坚持。最终的结果不言而喻,游戏上架到 Android/iOS 市场以后,可能一份都没卖出去。万幸的是,开工前他预付了我的报酬。
ghostwilliz: 总有些人不愿意学习实际的(游戏开发)技术,却坚信自己能够指导别人实现一个超大场景的 MMO 游戏。

总结
看完外国开发者们的吐槽,您的感想如何?老王觉得:门外的人对游戏开发充满着无数的误解,却又无比的向往,就好像飞蛾扑火一般,这恰恰说明游戏以及游戏开发充满着“神秘的魅力”。
被称为第九艺术的“游戏”是人类最原始的欲望“玩”和人类最先进的技术“计算机”的完美结合,它的诞生不足半个世纪。我相信随着时光的流逝,这个领域会更加成熟同时也会更加被大众所了解。
相关文章:
游戏开发是个“坑”,而且是个“天坑”
本文首发于CSDN公众号 作者 | 开发游戏的老王 责编 | 梦依丹 出品 | CSDN(ID:CSDNnews) 各位游戏开发者大家好,我是开发游戏的老王,一名游戏开发者同时也是一名高校游戏方向的主讲教师,从事游戏开发及相关教…...
剑指 Offer 64. 求 1 + 2 + … + n(java解题)
剑指 Offer 64. 求 1 2 … n(java解题)1. 题目2. 解题思路3. 数据类型功能函数总结4. java代码1. 题目 求 12…n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 示例…...
2022 年度_职业项目总结_Java技术点归纳
Java技术点归纳目录概述需求:设计思路实现思路分析1.Structs 元工程改造2.个贷子系统开发3.架构的迭代开发,升级,部署,参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,fu…...
【项目实战】32G的电脑启动IDEA一个后端服务要2min,谁忍的了?
一、背景 本人电脑性能一般,但是拥有着一台高性能的VDI(虚拟桌面基础架构),以下是具体的配置 二、问题描述 但是,即便是拥有这么高的性能,每次运行基于Dubbo微服务架构下的微服务都贼久,以下…...
接口自动化面试题汇总(持续更新)
在自动化测试过程中,你如何处理测试数据?你会使用哪些方法来生成测试数据? 在自动化测试过程中,测试数据对于测试的准确性和覆盖率至关重要,常见方法有: 1、使用真实的生产数据:使用真实的生产…...
SpringBoot实现静态资源映射,登录功能以及访问拦截验证——以黑马瑞吉外卖为例
目录 一、项目简介 二、设置静态资源访问路径 三、实现登录功能 四、拦截访问请求 本篇文章以黑马瑞吉外卖为例 一、项目简介 瑞吉外卖项目分为后台和前台系统,后台提供给管理人员使用,前台则是用户订餐使用 资源我们放在resources下 二、设置静态…...
PythonWeb Django PostgreSQL创建Web项目(三)
了解Django框架下如何配置数据库链接与创建模型和应用 使用Django创建web项目,首先需要了解生成的项目文件结构,以及对应文件功能用途方可开始web项目页面创建,下方先介绍文件功能,之后再配置数据库连接以及管理创建模型与应用&a…...
【Visual Studio】git提交代码时使用GPG
前言 下载安装GPG的过程省略,直接开始进行配置 0.visual studio 版本说明 其余版本未测试,但是应该也是可以的 1 获取GPG的密钥ID 1.1 window下可以打开Kleopatra查看生成好的密钥的密钥ID 1.2 也可以从命令行中获取 gpg --list-keys 红框位置,后16位就是密钥ID 2 配置.git…...
【反序列化漏洞-02】PHP反序列化漏洞实验详解
为什么要序列化百度百科上关于序列化的定义是,将对象的状态信息转换为可以存储或传输的形式(字符串)的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区(非关系型键值对形式的数据库Redis,与数组类似)。以后,可以通过…...
Gateway网关的使用
Gateway服务网关Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。1…...
【LeetCode】背包问题总结
文章目录一、背包能否装满?416. 分割等和子集1049. 最后一块石头的重量 II二、装满背包有几种方法?494. 目标和518.零钱兑换II377. 组合总和 Ⅳ70. 爬楼梯三、背包装满的最大价值474.一和零四、装满背包最小物品数322. 零钱兑换279.完全平方数一、背包能…...
Java的开发工具有哪些?这十款工具大厂都在用!
工欲善其事必先利其器,各位同学大家好,我是小源~本期文章,给大家推荐十款Java的开发工具。一、 文本编辑器主要推荐三款:notepad、editplus、sublime text。这三款编辑工具,在我们的开发工作中几乎是相差无几ÿ…...
web学习-Node.js入门学习
web学习-Node.js入门学习1.回顾与思考2. 初识Node.js2.1 Node.js的简介2.2Node.js的环境安装2.3. fs文件系统模块2.3.1 fs.readFile()2.3.2 fs.writeFile()2.3.3 练习-整理考试成绩2.3.4 fs模块-路径动态拼接的问题2.4 path路径模块2.5 http模块2.5.1 服务器相关的概念2.5.2 创…...
100 eeeee
全部 答对 答错 敏捷综合训练3 1.看板中的精益生产概念是如何减少工作在瓶颈时期的影响? A它不会减少瓶颈,因为瓶颈是任何生产系统不可避免的副产品 B通过运用 5Y 分析根本原因 C通过成为一个及时的进度系统 D通过每周完善活动 答错了 收藏 学员得…...
物盾安全汤晓冬:工业互联网企业如何应对高发的供应链安全风险?
编者按:物盾安全是一家专注于物联网安全的产品厂商,其核心产品“物安盾”在能源、制造、交通等多个领域落地,为这些行业企业提供覆盖物联网云、管、边、端的安全整体解决方案。“物安盾”集成了腾讯安全制品扫描(BSCA)…...
微纳制造技术——基础知识
1.什么是直接带隙半导体和间接带隙半导体 导带底和价带顶处以同一K值,称为直接带隙半导体 导带底和价带顶不处在同一K值,称为间接带隙半导体 2.扩散和漂移的公式 3.三五族半导体的性质 1.high mobility 2.wide bandgap 3.direct bandgap 4.三五族…...
Makefile的使用
Makefile的使用 自动化编译脚本,这个东西就是,进行简单的设置,然后实现原码编成为相应程序,简单化自己进行相关操作的过程。不需要一个个自己进行全部进行输入。而且还有许多的简化书写方法。 这个Makefile的本质为一种脚本语言…...
RealBasicVSR模型转成ONNX以及用c++推理
文章目录安装RealBasicVSR的环境1. 新建一个conda环境2. 安装pytorch(官网上选择合适的版本)版本太低会有问题3. 安装 mim 和 mmcv-full4. 安装 mmedit下载RealBasicVSR源码下载模型文件写一个模型转换的脚步测试生成的模型安装RealBasicVSR的环境 1. 新建一个conda环境 cond…...
C语言作用域(变量生存的空间)学习
C 作用域规则 任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量: 在函数或块内部的局部变量 在所有函数外部的全局变量 在形式参数的函数参数定义中 让我们来看看什么是局…...
Spark性能优化一 概念篇
(一)宽依赖和窄依赖 窄依赖(Narrow Dependency):指父RDD的每个分区只被子RDD的一个分区所使用,例如map、filter等 这些算子一个RDD,对它的父RDD只有简单的一对一的关系,也就是说,RDD的每个part…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...
