非技术创业者如何搞定技术:游戏程序员和普通程序员的不同之处
你必须是一个全能选手我们不得不承认,游戏人想做出心中的那个游戏,必须得是一个全能选手:自己写代码,自己做美术,自己编文案,自己配数值。 曾嵘,公众号:曾嵘胡扯的地方2024:我应该去做独立游戏吗?
但我仍然不建议非独立游戏创业者,去花费大量的精力学习编程。如果只是看到游戏行业「好赚钱」来淘金,那大概率是做商业游戏。自己学是成本,招人也是成本。如果两个成本差不多,而开发周期紧迫,为啥要自己学呢?
独立游戏创作者经常一专多能,核心是因为独立游戏能够经历更长时间的开发周期,这是商业游戏无法企及的优势。
对于游戏创业者来说,你只需要做到对技术(包括美术)工作的逻辑有基本了解,对于游戏的开发、测试、打包、上架的流程节奏了然于胸,对于游戏中常用的模块、功能、效果有一个开发周期概念,对于成本、人员、收益有清晰的认知。你就能做到不被别有用心的人欺骗。
如果还是太难,那你就算账,几个人,多长时间,工资多少,产品的品相看起来能不能收回成本。
可以参考这个思路:小游戏创业:为什么你不需要技术合伙人?
对于游戏程序员来说,前端务必要玩游戏。如果前端程序不玩游戏,不可能做好游戏。
后端技术太成熟了,对人没有这么高的要求,但需要记住:后端程序和后端运维是一体的,一个只会写服务器代码的后端程序员并不适合初创团队。
这篇文章成文在3年前。讲述了一个WEB程序员想做游戏的问答故事。即使你看不懂,我也建议你看看。对于创业者来说,重点是思路!思路,思路!
以下为原文:
前几天一个创业朋友 Q 同学咨询我如何学习做游戏。这是个很普遍的问题,经常会有其他行业的程序员向我咨询转到游戏行业应该做什么准备,所以我把回答整理了一下,希望对大家有用。
Q 同学问
小弟最近有一个想法,想要做一个网页联网的2D(或者伪3D)大富翁游戏。主要目的是:
(1)增进一下技术,了解一下相关的技术栈。
(2)未来有在这个领域创业的想法。不想把技术钻的太深,未来产品可能会找外包团队,但是自己要懂一些,可以做技术管理。
我想要通过做这个网页联网2D(或者伪3D)大富翁游戏把下面的技术串一串,实践一下:
(1)网页游戏开发,框架,引擎。
(2)联网游戏的服务器同步机理。
(3)微服务,Docker(当然我不知道游戏服务器是不是在做这种微服务和伸缩设计)。
(4)即使不做游戏,想要复习一下快速构建网络·服务的过程,以及相关的工具链(以 NodeJs 工具链为主)。
我现在的技术栈大概是:python写得多,java,c++复习一下会写,Js曾经比较熟,sql二把刀。网站的话,自己带几个人开发过最普通的低并发业务网站,用的 Flask,Jinjia,Js,Reddit,阿里云,了解服务器端的简单开发(不涉及到大量中间件,复杂数据结构,对数据实效性基本上没有要求),运维了解一些。也用 Vue,Express,webpack 等做过业务网站。
由于我是第一次做游戏,所以我不敢自己贸然行动。我想要请大大帮我梳理一下整个学习,工程的行进路线,包括资料(书,网页,教程,文档),大概的技术方向(框架的选择,技术的选择,架构的选择等),每一步学习的大方向,每一步开发的大方向。有了这份指导,我再去学习相关的知识,我想一定可以事半功倍!
作为 SAGI GAMES 的创始人,我想先声明,如果你不爱游戏,不玩游戏,那么最好不要转行做游戏。
是的,游戏行业钱多薪资高,但游戏行业也出了名的极难成功。你看到的成功项目,背后可能是上百次失败。如果没有对游戏本身的热爱,你很难坚持下来,更无法承受游戏开发过程中的不确定性,直到最终等到一个成功。
曾老师的回答
Q,先聊一下你的问题吧。
以你目前的积累和学习能力,我认为自学游戏开发是肯定没有问题的。你希望得到一些指导,可能是因为这个领域从来没有接触过,自己心里有点虚(很正常的心理)。另外也如你所说,有一些指导可以少走弯路事半功倍。
但我相信你心中一定有自己的方法。
我这些年积累了一些学习的方法论,但并没有非常系统地写出来,现在正好是个机会,我来做一个简单的梳理。
渔
下面是我写过的一些文章,可以先读一遍:
这篇比较新,很全面的讲解了我自己学习技术的方法论,可以仔细读一下。
这篇是我在带技术团队的的时候写的,主要针对的是游戏客户端技术,服务端技术有一些,但没有作为重点。
这篇是我之前在一个论坛中的讨论记录,能代表我在技术学习上的思维方式。
这是我学习 Python 的时候写的一篇,你主要关注思想和方法论层面就好。
如何学习 cocos2d-x(请搜索CocosCreator并阅读官方文档)
https://blog.zengrong.net/post/how_to_study_cocos2d-x/
我在学习 Cocos2d-x 时写的一篇,Cocos2d-x 是 Cocos Creator 之前的引擎,使用 C++ 开发。所以我当时把 C++ 重学了一遍,但主要还是写 Lua。这篇文章中提到了 OpenGL 的部分,是游戏客户端的核心(当然不学OpenGL也可以做出好游戏的)。
你可能注意到了,上面我提供的都是「渔」而非「鱼」。因为我认为,到了你这种高度的学习者,提供「渔」的效率更高。你有自己的学习方法论,直接给你「鱼」,反而会影响你的学习效率。
我在 如何快速学习一门新技术 一文中提到技术的定义: 可以通过现有资料进行全面掌握的解决实际问题的知识与能力。
从上面的定义可以看出,由于技术解决的是 实际问题,不可避免地,技术会根据现状的变化出现过时的情况。由于可以 通过现有资料全面掌握, 时效性就显得尤为重要。
所以,我给你太多「鱼」,就是太多余。
鱼
为了让你能减少试错成本,下面就是必要的「鱼」的内容。
首先是开发引擎选择。
Python 目前你很熟悉,基于 Python 的游戏引擎是有的,但我不推荐。基于 C++/JAVA 的我更不推荐。
我推荐两个引擎:Cocos Createor (CCC)和 Unity。
CCC 是国产软件,国内三大 H5 引擎之一。CCC 可以开发 2D 和 3D(目前较弱) 游戏,使用 JS 或者 TS 开发,产品可以发布到微信等小游戏平台,可以作为 H5 页面发布,也可以打包成安卓或者 iOS 原生应用程序。
Unity 是市场占有率超过 50% 的游戏引擎。可以开发 3D 和 2D 游戏,使用 C# 开发,也有社区支持的 Lua 版本。面向安卓/iOS/PC/主机平台。
至于你应该选什么,主要应该基于市场和平台考虑。我的建议如下:
如果你想快速试错,前期希望用 2D 游戏练手,建议先用 CCC。平台建议选择微信小游戏平台,可快速上架面向用户,流程简单顺畅。当然你也可以直接基于 H5 来发布。
如果你想做 3D 游戏,面向 AppStore 或者安卓市场,就应该从 Unity 上手。
其他的引擎,无论如何都不建议你用。等把这两个引擎吃透了再去看其他引擎的源码就行了。
Unreal 更是千万不要碰。你现在需要的是 DEMO。
根据你的前面的描述,2D 或者伪 3D,网页,相信你已经有选择了。
其次是书籍的选择。
引擎学习的部分,直接看官方文档就好了。不需要买什么书。买了也是浪费钱。
如果想深度钻研一下技术,可以看这几本:
《游戏引擎架构》
https://book.douban.com/subject/34864920/
《OpenGL编程指南(原书第8版)》
https://book.douban.com/subject/26220248/
《OpenGL ES 3.0编程指南》
https://book.douban.com/subject/26414014/
设计的部分,看这几本:
《全景探秘游戏设计艺术》
https://book.douban.com/subject/4837351/
《游戏设计艺术(第2版)》
https://book.douban.com/subject/26791007/
《通关!游戏设计之道(第二版)》
https://book.douban.com/subject/26905728/
《游戏设计的236个技巧》
https://book.douban.com/subject/26653173/
《游戏人工智能编程案例精粹》
https://book.douban.com/subject/19930152/
《游戏编程中的人工智能技术》
https://book.douban.com/subject/1831698/
需要注意的是,对于游戏开发初学者来说,设计的部分应该远远比技术的部分重要。 但遗憾的是绝大部分初学者往往认为是反过来的。
代码再漂亮,也拼不出一个好游戏。
另外,你并非一定要看完上面的书才能开始动手写游戏。实际上,我建议你看完引擎文档就开始动手设计游戏。
上面的书,只是告诉你,当你期望向上走的时候,方向就在那里, 不要走错路。
最后,讲一下我认同的个人游戏开发方法论。
DEMO 阶段,奉行拿来主义,能去买的素材就不要自己画,能拿来主义的地方就不要自己造轮子。
最小化原则作品,先把作品 run 起来,比优雅的代码,整洁的界面,完善的设计带给你的信心要大很多很多很多很多倍。
DEMO 出来了之后就要立即找到受众测试。游戏是做给别人玩的,不是做给你自己欣赏的。只有别人(除你之外的所有人)喜欢玩的游戏才是好游戏。
游戏不是艺术,游戏是娱乐。
等你做出一个成功的娱乐游戏之后,再来考虑艺术的事情。
https://civitai.com/images/26116587
机械工业出版社 & 胡扯游戏赠书活动调查
特别介绍
有很多重要内容,公众号发不了,但群里特别能聊。
群里有独立开发者,游戏公司创始人、大厂负责人、量子理论研究者……
关注公众号可以进群一起唠嗑,独立游戏、商业游戏、流量游戏、研发、投放、发行、运营、招人 都能聊,纯唠嗑也欢迎。
下面几个系列文章花了不少精力,可以读一读:
创业系列:
效率系列:
产品分析:
立项系列:
混变系列:
运营系列:
成长系列:
会议系列:
奇技淫巧:
荐号系列:
电子游戏是怎么赚钱的:
再多读几篇:
都刷到这里了,不来个「点赞」「分享」「在看」一键三连吗?