03.07 有学游戏开发的朋友吗?你们都在哪里学的,可以交流一下吗?

呼呼哈小童鞋


自学的


第一步:编程语言

开发游戏最关键的部分就是将想法实现出来,也就是需要通过编程语言实现想要的功能。根据不同的游戏引擎可是学习不同的语言,C,C++,C#,java等等都行,选择一个自己适合的就行。个人用的是C#和Lua两种。

第二步:游戏引擎

现在很少有从零开始制作游戏的了,使用游戏引擎可以大大加速游戏开发进程。常见的一些游戏引擎有虚幻4、unity、cocos等等。虚幻4对新手并不那么友好,cocos功能有些差,个人推荐使用unity。

第三步:实现游戏逻辑

在游戏引擎中加入一些控件,比如文本、图片、模型、音效等等,有一些都是引擎自带的,如果没有合适的也可以去资源商店下载一些免费的或者付费的资源。

用代码把游戏逻辑实现后,与资源进行绑定,就可以实现基本的游戏了。

想要做出游戏还是比较简单的,只不过好不好玩而已。想要做出好的游戏,就需要在各个方面不断打磨了。


AGamer


你好,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指引,是可以事半功倍的。这里为你推荐一下,以做参考。

首先,1.一开始可能对游戏引擎没什么概念,建议先入门一两个游戏引擎(我推荐可以先去学习Cocos2d-x和Unity3D两个引擎,市面上大多数游戏是利用这两个引擎开发的)。入门阶段要做的就是看该引擎的教程(书籍、视频、网上博客、网上教程、官方帮助文档等),并且熟练该引擎所使用的编程语言。因为不同平台下的性能不同,支持的编程语言也不尽相同,所以针对不同平台下的流行的游戏引擎也是不同的。下面列举一些现在流行的游戏引擎;windows或游戏主机:【Unreal】、寒霜、CE3

苹果IOS:【unity3D】、【cocos2d-x】、【Unreal】、sparrow、sprite kit。

安卓:【unity3D】、【cocos2d-x】、【Unreal】、AndEngine、libgdx。

网页:【Egret】、【cocos2d-js】、Fancy3D、unity3D。

并不是不同平台的游戏开发,就毫无共通之处,学了这个到了另一个平台就无用了。不是这样的,编程的世界里你走得越远你会发现很多东西的本质都是相似的,例如你如果扎实地理解了C++的基本语法,日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。

2. 因为游戏开发就是一门实时渲染的艺术,所以离不开图形库的学习。现在主流的图形库是Windows平台专用的DirectX 11和通用平台的Opengl。这两个图形库,至少需要入门其中一个。

3.然后,你就可以开始看计算机图形学的书籍了。如果你发现你的理论底子不足,这个时候就需要补一下线性代数、基本的微积分、还有3D数学的知识。

4.游戏引擎中包含了各个部分,上面的渲染只是游戏引擎的一部分。还有其它诸如着色器编写、地形编写、物理引擎编写、模型和动画、人工智能体设计、网络编程等等,完成渲染部分的基本学习后,你可以选择自己感兴趣的部分进行专攻,毕竟我们实际工作大多数时候是团队开发,而不是单打独斗,每个人都应该精通自己所擅长的那部分。

5.至此,独自开发一款小型游戏已经完全不在话下了。也具备了加入公司合力开发一款大型游戏的能力。

游戏服务端学习路线;1.首先需要熟悉一门服务端语言,比如C/C++、PHP等,会使用一个开发框架。

2.会在服务器上搭建环境,拿lamp来说linux和apache、mysql、php四者担任的角色要清楚。大多服务器会选择搭建在Linux环境下,所以也需要熟悉Linux操作命令。

3.至少熟悉一种数据库。比如关系型数据库mysql,能熟练写出增删改的语句和不算很复杂的查询语句,再比如了解各种方式的多表查询有哪些不同等数据库技能也是需要的。

4.了解网络编程及多线程等。比如http通信协议。跨平台的交互一般http是使用比较广泛的,需要大体了解,你得清楚请求报文通常包含哪些部分、常见的服务器返回码对应的含义。

5.会使用至少一种数据格式。服务端和客户端建立了联系,数据的传输也需要一种协议格式去统一。json是目前使用率最高的格式了。json的数据格式还是简单明了易学的,主要是要了解如何使用它较好的去定义接口。

关于学习路线,我觉得对于学习者,尤其是初学者来说,非常有用,它的作用就是一幅地图,让你在浩瀚的知识丛林不至于迷失方向,甚至放弃在 99% 的地方。

以上就是开发游戏要学什么的详细内容,谢谢





姜小白VL


咱们先从最初开始说起——纯针对新人属个人看法,这些步骤希望你能真的一步一步走过去,不要觉得内容“太简单”或者“看起来不像开发游戏”就想跳过。早20年我会推荐你Delphi,但是现在C#也算是Delphi的精神续作了(什么精神续作,只是主程是同一个人而已),当年开发游戏可没有什么引擎一说。

第一步:用C#的Image、Timer写一个小程序

要求不高,先自己安装VS、C#,这个环境非常好搭,我不在这里细说,是希望你首先能做到自己去找必要的知识。弄完以后,新建一个工程,在Form1里面拖一个Image和一个Timer,然后随便找一张图片,小一点的,你喜欢的。你要做的事情是:

Image拉个640x640就好,里面创建一个64x64的小方块,这个小方块里是这张图片的完整样子,这个小方块的坐标是相对于Image的(x:0-Image宽度随机,y:0)。

确保画面不要闪烁。

每30毫秒这个小方块的y会增加8,但不要让小方块“掉出屏幕”。

小方块可以根据你键盘输入的ASDW移动(ASDW分别对应什么方向你不知道的话,还是别继续了),移动速度为40像素/30毫秒。

鼠标点击Image区域,小方块会取消当前的移动,并向点击的地方移动过去,注意是移动过去,速度是40像素/30毫秒,而不是瞬间过去。

一步一步做到,这是你开发游戏的第一步,如果你这步都学不好,就不建议你打开Unity这种东西,别小看了这步,在这步里,你要解决的问题基本上就是理解贴图的概念→理解游戏就是Input+Timer+GDI也可以做的东西→理解Input的处理不应该是if key==xxx then....,而是要建立一套命令机制的。对于一个正常程序员来说,做这个最多不超过1小时,但是对于一个新人来说,这就算花了3天也没什么奇怪的,但是最重要的是你能坚持下来而不是跳过基本功。

第二步:还是在C#里做一个仓库番

这个要求对于一个新人来说是不低的,不要小看仓库番这个游戏,他可以让你学会不少游戏开发的初级知识。

当然这样一个仓库番的要求并不低,在这个项目里,你会接触到游戏设计的基本功。这个项目对于新人来说可能会需要1-2个月完成,尤其是当你的兴趣移到了策划技术下的关卡设计的话,会沉迷进去很久。但是这个项目最重要的是让你明白一个游戏是怎么开发和设计的,纯正的基础知识,一定不要跳过。一些游戏看起来很简单,比如flappybird,但这些比起仓库番来说不见得真的简单,而且更不适合学习用。

第三步:做一个俄罗斯方块

之所以做一个俄罗斯方块,是因为:

开发技巧:仓库番其实还是回合制的,俄罗斯方块会让你第一次遇到“动作游戏”操作的问题,别看这个“动作游戏”是打引号的,当你真的遇到不打引号的动作游戏项目的时候,这种input的经验也是有有用的。

策划技巧:在俄罗斯方块里,你会第一次遇到真实的分析一个需求——想一想:俄罗斯方块里,按下A键方块真的是“旋转”吗?其实这个抽象是大错特错的,俄罗斯方块里从来就没有方块是“旋转90度”的,而是从一个拼图变成了另一个拼图,只是看起来恰好是转了90度,那么如果不是转90度行吗?加入仅仅只是“玩家可能反应不过来”,那怎么让他们反应过来?

开发技巧:动态碰撞处理,或者说动作游戏和回合制游戏的交界点。你注意一个细节,俄罗斯方块在方块“落地”之前,还能通过左右方向来移动方块,这是为什么?

开发技巧:消除动画怎么穿插在这个过程中?

开发技巧:注意,你见过很多俄罗斯方块的范例,但他们都犯了一个错误——俄罗斯方块是会显示下一个要出现的方块的。当你注意到这个问题的时候,你会发现70%以上的范例做法都是错的。

策划技巧:无限关卡的游戏应该怎么设计?俄罗斯方块关卡变化函数所需要的参数只有一个——方块的下落速度,那么这个速度真的需要随关卡一直增加吗?还是增加到一个程度之后就不需要增加了?空想没有意义,自己做了试试看再回答。

开发技巧:当方块下落速度过快的时候,你会遭遇到跳帧。

俄罗斯方块是一个游戏程序员(Gameplay方向)和游戏策划走上正轨之前的最后一个挑战项目,你第一次真的“写对”俄罗斯方块,你也会经历代码重构(因为你多半是一次写不对的),然后重新整理思路和重构设计的阶段。

接下来,用Unity之类的引擎把它们做出来

当你完成这3个挑战之后,你再去熟悉Unity,才是一个好的开始。而这个时候你也差不多知道自己的兴趣所在了——究竟是做一个设计师,还是做一个程序员。这2个游戏的开发中蕴含了几乎所有RPG、SLG游戏的主要技巧,但是主要还只是主要,不是全部。如果你不服,可以试着先从坦克大战(FC)开始继续做游戏。

整个过程中最重要的几点:

不要心急,不要觉得这些事情都是小事,没有意义。如果说学计算机语言是扎马步,那么这些游戏是属于你进了少林以后挑水这些事情,他不是练武,但却是练你的底子。

带着思考去做,想想看有些技巧,用在较大型的游戏是怎样的?技巧是一样的技巧,关键看你怎么玩出花。

别管游戏是几D的,大多游戏逻辑上都是2D就够了的,3D只是Render而已。一个做法正确的游戏,2D到3D转换障碍并不大,想想Evoland,还有DQ系列最近几座,也都支持2D 3D切换,为什么呢?

不要为了实现,妥协你的设计。领悟一个策划的基本功——什么是What to do的,什么是how to do的,how to do的是设计,what to do不过是玩家牢骚而已。明白了how to do,你也会修正你对what to do的看法,这对于设计的理性一面是很有帮助的。比如仓库番一次推2格行不行?为什么?希望这样的回答对你有所帮助


001号玩家


首先引擎建议选择虚幻4,虚幻4使用蓝图的话省去学编程了,虚幻4开源免费,游戏商业销售才提成,为企业内部做项目都是免费的,免费的资源和素材也很多,随便拼一拼准3A的画质就出来了,B站上有位UP主的中文教程又非常完善和易懂,特别适合新手学习,另外发布平台支持非常完善,PC端,移动端,各种游戏机,包括switch都支持。

第二,如果自己建模的话建议blender,开源免费,体积小,功能全,3d建模动画绘图等等一应具有。


胡八一1981


入门看源码,cocos引擎开源。

期间,opengl,线性代数,开源物理引擎看一看。

就算入门了


小桥流水litbri


我是向朋友请教的


分享到:


相關文章: