香雨站

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 104|回复: 0

谈谈游戏开发者的未来发展

[复制链接]

2

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-3-29 20:46:34 | 显示全部楼层 |阅读模式
我曾经看过这么一句话,游戏开发是一门异常复杂的综合性艺术创作。作为个人独立开发者,一个人常常需要包揽所有职责,策划、美工、原画,甚至推广。说到推广,不得不提的就是发布平台。比如,我第一时间想到的就是 Steam,这个由专门开发电子游戏的美国 Valve 公司开发的 PC 游戏界最大的发行平台。对于 Steam,我想你应该非常熟悉了,我这里就不多介绍了。但是,现在 Steam 的日子也并“不好过”,更别说独立开发者本身了。以前,一个人在 DOS 下就可以编写出一款小游戏,一支三五人的小团队就可以做出一款游戏,现在来说几乎是不可能的。现代游戏需要大量人力物力去做一系列的基础工作,美术、关卡、引擎等等都是必不可少,甚至可能成为影响一款游戏成功与否的必要因素。即便你有特别优秀的创意,有非常突出的画面和故事情节,但是依旧很容易就被淹没在游戏海洋中。为什么现在的游戏制作的难度越来越大?请注意是制作,不是开发,制作游戏不仅仅包含开发,还包含创意、资源调配、产品规划等等。不少人跟我讨论过这个问题,我自己从业的这么多年也一直在思考这个问题。其实,并不是因为游戏开发的难度比先前更难,相反,现在开发游戏的难度,比 DOS 时代小多了。但是,游戏的制作却没有变得更简单。这是为什么呢?DOS 时代开发游戏,有一个好的 idea 后,最先要考虑的是 DOS 16 位的内存限制,因为很可能一不小心就崩溃了。到了 DOS 游戏后期时代,有了 DOS4GW 这种突破内存限制的“32 位保护模式”的方式开发游戏。虽然可以几乎不用考虑内存限制,但是难度依然很高,要从头绘制鼠标箭头、点击事件。所有玩家在界面上能看到的和不能看到的,都要手工一行一行敲出来。现在不同了,有了游戏引擎,只需要往引擎里填写需要的内容就可以了。很多情况下,鼠标箭头、UI 点击事件,甚至图像载入,绘制这些底层操作都不需要你关心,游戏引擎一揽子都包装好了。我曾经看过 Steam 游戏 Descenders 的创意总监 Mike Rose 的一篇采访,大致是说,现在在 Steam 上上架的游戏,利润大部分都被头部游戏赚取。一个重要的原因是,Steam 上的游戏越来越多,就像苹果商店,如果用户不搜索,基本不可能会有新游戏的展示和宣传位置。即便 Mike Rose 提议最好能整理游戏列表,能下架一系列没人买的僵尸游戏,这样一来就能给更多的新游.戏以展示自己的机会,但是,Steam 没有这么做或者说已经大势已去来不及挽回。所以,越来越多的开发者开始转向了主机游戏。所以以目前的形式看,对于独立开发,我其实更看好主机游戏。加上 Switch、XBOX 等主机游戏相继都推出了自己的独立游戏计划,吸引了很多 Steam 平台的独立开发者进入。尽管主机游戏并非是独立游戏开发者的第一选择,然而 XBOX 等的开放态度以及 Steam 平台的利益不平等,还是导致很多开发者流向了主机游戏。我们开发的游戏,最常开发的分别为 PC 游戏、原生 App 游戏、HTML5 游戏(不含 PC 的 MMO 游戏)、微信小游戏。在微信小游戏的生态中,你只需要注册账号,并且使用游戏引擎导出到微信,并且申请游戏资质就可以上线运营了。关于 PC 游戏,Steam 依旧是最大的 PC 游戏商店平台。原生 App 游戏,苹果端就不说了,没有别的选择。而安卓端,国内有至少 30 个应用市场可以上架,所以走一圈上架流程、接入到平台 API 就是一个相当麻烦的过程。如果要做原生安卓游戏,把主要精力放在几个大平台上就行了。HTML5 游戏,也有可以选择的平台,比如比较出名的 4399、4177 等。从收入情况看,苹果 App 的收费情况比安卓端更好,一个是用户付费习惯早已经在苹果端养成。另一个是苹果端游戏有审核(谷歌市场也有审核,但是没有苹果那么严格),所以游戏质量都能得到保证。PC 端的 Steam 市场也有较好的收费机制。而微信小游戏则是统一的广告、支付等渠道,用起来也比较方便。所以独立开发者可以选择对自己较为有利的方案进行针对性开发和推广,比如选择微信小游戏,或者苹果端游戏,如果自己的开发成本不是特别充裕,这是一个相对稳妥的选择。不管是独立游戏开发还是别的,我个人觉得现在的游戏一定要有这样几个特点:轻、快、多。首先,游戏体量要够轻,够小,打开手机,打开电脑翻开一个网页就能玩,玩完就走。其次,游戏体验要快速。一盘游戏不能时间太久,一局超过十分钟就会逐渐变成重度游戏,除非有很强的吸引力,否则时间太久的游戏大多数人都不愿意尝试。游戏版本一定要不停迭代。从玩法、画面,到平衡性,这样才会让玩家保持新鲜感,不停地被游戏粘滞住。小结这节我和你聊了独立开发者的未来发展。DOS 时代的时候,一个人或者一个小团队就可以做出一款游戏,但是这种时代已经过去了。游戏开发难度变小了,但是游戏制作难度变得越来越大了。尽管 Steam 依旧是目前最大的发布平台,但是由于它本身没有对上架的游戏进行分类、整理,有选择的展示。对独立开发者其实是不利的。加上 Switch、XBOX 等主机游戏相继都推出了自己的独立游戏计划,我其实更看好主机游戏的发展。其实不管基于什么平台,把游戏本身做好,才是最重要的。
这节我和你聊了独立开发者的未来发展。DOS 时代的时候,一个人或者一个小团队就可以做出一款游戏,但是这种时代已经过去了。游戏开发难度变小了,但是游戏制作难度变得越来越大了。尽管 Steam 依旧是目前最大的发布平台,但是由于它本身没有对上架的游戏进行分类、整理,有选择的展示。对独立开发者其实是不利的。加上 Switch、XBOX 等主机游戏相继都推出了自己的独立游戏计划,我其实更看好主机游戏的发展。其实不管基于什么平台,把游戏本身做好,才是最重要的。你想成为一个独立游戏开发者吗?你想做出一款什么样的游戏?欢迎留言说出你的看法。我在下一节的挑战中等你!
随着芯片纳米工艺技术不断提升,我们的电子设备变得越来越小,而随着移动设备的普及,移动游戏一定是未来游戏行业发展的重头,未来游戏玩家将会花更多的时间在移动端的游戏上,所以我们今天就来探讨一下移动游戏的未来发展。现阶段移动游戏是什么样?在展望未来之前,我们先来看看现阶段的移动游戏是什么样的。首先,移动游戏比较轻量级,一局游戏时间快,能很快出结果。像竞技类游戏的一局时间一般不会超过 30 分钟。由于手机屏幕和操作限制,没有游戏机手柄或者电脑鼠标键盘之类的方便操作,所以移动端的游戏操作手法极尽简化,所以需要尽量突出让人第一眼就能耳目一新的画面效果。各大平台级的 App 都推出了不同的“小程序”技术,只是名称叫法各有不同,除了叫“小程序”,还有“快应用”“轻应用”的说法等等。在这样的聚合平台下,重量级原生游戏已经逐渐减少,转而都去了聚合平台下,比如微信小游戏。而 HTML5 游戏依然有人在做,只是变成了大中型电脑网页游戏的形式,以及营销推广渠道的一种方法。这其实和以前 Flash 的路径一样。如果现在有人做 HTML5 游戏的话,更多的可能会往微信端、支付宝端等平台级应用上的小程序方向走。原生移动端游戏往高操控性、高画质、高可玩性这几个方向走,人群更接近核心玩家,更多碎片时间的游戏内容将往 HTML5、微信小游戏等方向走。什么是移动游戏发展的最大掣肘?要思考移动端游戏的发展,不得不提硬件的发展。没有硬件的发展,移动游戏始终是这样几种形式。而在硬件问题还不能解决的情况下,移动游戏有哪些路可以走呢?首先,往更大型的方向发展,逐步取代电脑上一些中等、小型的游戏。手游的硬件发展带动质量的发展,变得更像电脑上的游戏,3D、2D 的精美的游戏将更多出现在市场上。而重度游戏的发展,将会有迎合重度硬核玩家的游戏加入,包括周边设备的联动推出,比如手柄、键盘等等。AR、VR 等功能游戏的推出,就算是在现在,这几种类型也是一直在市场上推出,在不久的将来,手机硬件的提升会让这类游戏变得越来也多,裸眼 3D 游戏也会变得越来越多。而更多利用手机硬件特性的游戏将会出现,比如随着苹果前置感应头的出现,前置感应的人体体感游戏,或者脸部感应游戏也会出现,这些其实都是以前 Wii 时代体感游戏的缩小版本。手机游戏与电视或者电脑游戏联合互动。随着任天堂 Switch 的发布,多屏互动,小屏和大屏游戏联合也会是将来.

我们用了将近两个月的时间,讲述了游戏客户端的开发流程和代码编写,今天我来带你总结并且回顾一下。我这里列了一些编写游戏客户端你必须要掌握的知识和注意的事项。希望通过梳理这些知识,能让你对学过的内容有一个全盘的认识和更加深入的理解。重点一:客户端开发中 4 个重要方法首先,我们来看,设置前后遮挡效果时要用到的一个虚拟概念,Z 值。 2D 游戏中其实是不存在这个概念的,因为 Z 值是高度概念,一般只存在于 3D 游戏当中。2D 游戏的坐标轴,拥有 X 和 Y 两种位置。X 轴是横向坐标,Y 轴是纵向坐标。在斜 45 度角的游戏,或者需要经常改变前后遮挡位置游戏中,往往才需要加入这个概念。在 2D 开发中,用好了 Z 值,能够帮你计算 2D 游戏中图片的前后位置,在游戏中设置前后遮挡效果的时候就会更加方便。其次,在 2D 游戏中制作碰撞检测的时候,可以使用图片相交检测的方法,来替代物理引擎。像打飞机游戏这样非常简单的 2D 游戏,是完全不需要使用物理引擎的,我们使用图片相交检测的方法,直接写对应的代码就可以。什么时候才要使用物理引擎呢?这取决于你的代码量和程序编写的复杂程度。如果碰撞代码非常复杂,占据整个工程量的 1/5~1/4,那就可以直接使用物理引擎;如果仅仅用一两个函数就可以搞定,那就可以自己模拟物理碰撞效果来写相应的代码。毕竟 2D 游戏不比 3D 游戏,对“拟真”的要求没有那么高。而图片相交检测这样的方法易于编写,且效果也可以满足需求。当然,3D 游戏中,往往需要高精度地模拟真实世界的碰撞,这个时候就直接使用物理引擎就好了。再次,在游戏开发中,保持低耦合度,能够提高你的开发效率,减少你的工作量。 如果一款游戏引擎没有提供 UI 模块的话,那需要你编写一套 UI 模块或者 UI 库。所谓单独的 UI 模块,指的是仍然使用游戏引擎作为基础编写代码,但是却独立于游戏本身的逻辑之外,将之抽象出 UI 模块和 UI 库。如果 UI 模块直接融合在游戏里,虽然玩家看起来是一样的效果,但是在代码层面,耦合度却更高,可复用性和可修改性就变得更低,代码质量就更差。同样,在游戏开发中,很多模块都可以提取出来。比如鼠标和键盘的检测,单独提取出来做,变成相应的模块和库;很多的内容都可以进行抽象和独立,有了抽象和独立的模块,这样可以保证游戏版本的迭代不出现问题,你甚至可以拿这一套独立的抽象.
低耦合度,是游戏开发,甚至编程中都非常重要的思想。我这里推荐一本书《设计模式》。这里面对于耦合度的几种模式有详细的讲解。比如工厂模式、代理模式等等,但是不管用什么模式,低耦合度始终是编程中追求的一种代码方式。所谓低耦合度,简单理解,就是将功能抽象出来,并且写成一组函数或者类(我们简称为接口)。这些接口有传入传出的参数或者返回值,可以通过外界代码传给接口,接口通过计算,将计算后的结果返回给外部代码。这些接口和别的功能关联性不大,替换了接口,就仅仅替换了算法或者内部实现而已,但是核心功能是一样的。最后,我想来说一下游戏逻辑。将游戏逻辑放在脚本语言里去写,迭代版本的时候可以不更新主程序,只更新脚本。(如果不放在脚本语言里,就直接写在硬代码里面。)我们在使用引擎和原生语言开发游戏的时候,只保持核心内容,其他游戏逻辑、游戏配置,特别是在游戏中可活动、可配置、可调节的部分,都提取出来,放到脚本语言里去编写。所谓的主程序,在 Windows 下就是 EXE 文件,一般情况下,更新 EXE 执行文件会导致一系列的更新,比如 DLL 动态链接库或者某些资源也会更新,所以更新资源包会变得很大。如果纯粹更新脚本文件,那就是几个脚本程序而已。当然这个也要看具体的需求,并不是说一定不更新主程序,如果有迫切需求更新主程序,也是必须要更新的。除此之外,关于客户端其他部分的流程和要注意的细节,我放在一起梳理一下。如果有哪些还不是很清楚,你可以回到对应的文章去复习一下。首先,一款成熟的引擎会包含各种编辑器和工具。如果游戏引擎没有提供相应工具,你就必须根据要做的游戏项目,编写方便策划和美术使用的编辑器,包括地图编辑器、关卡编辑器、场景编辑器等等。游戏的网络部分,要尽量保持网络连接和数据传输的安全性,游戏的网络协议可以迭代更新,网络传输的内容和逻辑也可以放在游戏脚本里面去做。游戏的音乐部分,如果引擎不提供,建议使用成熟的音乐库。游戏要合理使用多线程技术,才能保证流畅性。游戏资源打包的包裹格式,如果没有现成的方案,可以使用压缩包的开发库编写,成熟稳定可靠。每个平台的游戏机制都不相同,比如在 HTML5 游戏里面,它使用的是事件机制,并非普通的循环。重点二:游戏开发的 3 大模块这里我按照游戏开发中的三大模块策划、程序、美术,画了一个图。


游戏设计《游戏机制》,这是一本策划和程序员都可以看的书。在游戏设计中,游戏机制的设计,决定着游戏中的呈现效果,直接影响着玩家体验。而这本书就是教你如何打造出挑战丰富、乐趣十足、平衡良好的可玩性的游戏机制。它结合了很多实用案例,从不同角度介绍和阐述了游戏机制,介绍了用于构建和模拟游戏机制的 Machinations 工具。《游戏设计的 100 个原理》做游戏开发的人,基本上自己都是非常喜欢游戏的,肯定玩过不少游戏。但是估计你对游戏设计背后的原理性的东西,了解的不会很多。这本书就是讲很多原理性的东西,让你从更专业的角度来看你以前玩过的游戏,毕竟游戏设计其实更像是一门哲学。《Windows 游戏编程大师技巧》,这是一本经典书籍,属于游戏开发启蒙教材,它涉及了开发的基础知识和理论、开发技巧这些问题。有一点点汇编、C/C++ 语言基础,看这些就不会觉得特别难了。2D 和 3D 编程接下来,关于 2D 编程,我们可以看《Cocos2dX 游戏开发技术精解》,这是一本让你一下子就能学习 2D 引擎且直接上手的书籍,几乎是学习 2D 游戏必备。《Unity 4.x 2D 游戏开发基础教程》是一本利用 Unity 编写 2D 游戏的教程书籍。另外有一本非常难买到的书《2D Graphics Programming for Games》,目前只有英文版,如果你能找到电子书也可以阅读一下。毕竟 3D 游戏大行其道,但是它和 2D 游戏的路数又是非常不一样的。加上很多人上来就想做 3D 游戏,那关于 3D 开发,这几本书必看不可。《3D 游戏编程大师技巧》《Unity 3.x 游戏开发实例》《3D 游戏开发大全》。第一本书可以让你很轻松地就了解 3D 游戏的编程基础知识,第二、三本书都是属于利用引擎来编写实例的,你可以在这些例子中获取更多的实战经验。而《3D 游戏开发大全》以 Torque 引擎来作为切入点,让你看到更多的技术。比如,游戏建模技术、人工智能技术、玩家控制技术等等游戏开发的细节。看完这三本书你就会对 3D 游戏编程有一个本质的了解。做为 3D 游戏开发,还要知道 3D 模型、贴图、骨骼等一些 3D 美术知识。从基础开始学起的话,我推荐《DirectX 9.0 3D 游戏开发编程基础》。这本书介绍了一些必备的数学工具,涵盖了 Direct 3D 中几乎所有基本运算,以及如何使用.
网页游戏开发原生游戏客户端开发的学习重点在编程语言上,所以,其实你学了什么编程语言,几乎可以决定你会从事什么样的开发工作。而网页游戏相对来说就简单得多。想要学习网页游戏制作,其实就是学习 CSS3、HTML5 以及 JavaScript 的知识。这方面的学习资料非常之多,网上一搜就能出来一大堆。其实你只要把每个方面专心学完一本书,把基本知识和核心知识搞懂了,结合一些项目实战有针对性的去练习就可以了,入门还是非常容易的。比如,看些大家都推荐的经典书籍《响应式 Web 设计》《HTML5 程序设计》等等。最初,你需要学习最基础的 HTML 语言语法。HTML5 本身对初学者就非常友好。《JavaScript 语言精粹》也是必读的书籍。JavaScript 语言的书籍非常非常多。这本书的内容就像它的书名,真是是精粹,从语法、函数、对象、数组、正则等等特性来介绍 JavaScript 语言的精髓,让你能真正掌握并高效地使用 JavaScript,非常推荐。到这里,按照原生游戏开发和网页游戏开发的分类,我们的游戏学习路径和书籍介绍已经写得差不多了,在这里再向你介绍两本与游戏无关却与编程有关的书籍《设计模式》《代码大全》。这两本书能让你编写代码的水平提升一个层次,提高编程水平是让自己的职业化道路越走越好的一条唯一途径。世上没有捷径,勤学苦练,多看多写才是根本。游戏开发的基础是编程基础,有了扎实的底子,往后走提升得才会比较快。一百多年前,福楼拜曾在一封信里写到:“谁要能熟读五六本书,就可成为大学问家了。”所以,我列的这些书,你能读完最好。但我知道,对大多数人来说,肯定是读不完的。你可以根据自己的情况做个筛选,有针对、有选择的去学习。如果你想从事 H5 游戏开发的,你可以着重学习 HTML 和 CSS;如果想学习服务器端开发的话,可以着重学习 Socket 开发和 TCP/IP 相关的书籍;如果想学习客户端知识,比如 3D 客户端的话,可以注重学习 Unity 或者虚幻引擎为载体的书籍。希望今天的分享对你有帮助。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|香雨站

GMT+8, 2025-3-15 02:23 , Processed in 0.332363 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表