找回密码
 立即注册
查看: 175|回复: 5

想要学习游戏开发不知道从哪方面入手?

[复制链接]
发表于 2024-7-15 17:53 | 显示全部楼层 |阅读模式
想要学习游戏开发不知道从哪方面入手?
发表于 2024-7-15 17:54 | 显示全部楼层
游戏行业主要分为策划,程序,美术,TA这几大岗位。每个岗位都有自己的分工
策划大概分为:系统策划,数值策划,关卡策划,剧情策划。。。
程序分为:服务器端,客户端开发,引擎开发,工具开发,运营数据系统
美术大概有:原画,建模,动画,特效,ui,音乐
ta是技术美术,是建立在程序和美术之间的一个职业
虽然不知道您是想往什么方向发展,但是大致的学习方法都是一致的,你首先需要掌握基本功,比如程序要掌握c#语言,原画要掌握素描基础
其次,你要熟练运用软件,比如unity,ps,maya,3dmax等等
最后就是把你学到的这些知识变成成品,这是最关键的一步也是最重要的一步。之前学习的所有目的都是为了之后运用做的准备。比如你是原画,那你需要有一套完成度较高的场景,角色或道具设计图;策划则需要有一套完成的策划案,程序则需要一个流程运行的demo。这写成品除了帮助学习以外更重要的是能在面试官面前最直观的展示你的能力。
我这里给您讲一下程序向的吧
你入门首先要掌握语言 C#基础
基本语法/数据类型/类/封装/委托/事件/接口和泛型/继承/多态/OOP
这些重点一定要在平时的实操中反复磨炼,确保在你面试的DEMO中能够非常有条理的展示自己对C#的掌控。当我们实操上扫除盲点了以后,就可以回归到这些重点内容的教程解读上来,复盘自己在实操上的问题,同时也防止招聘笔试可能会考到类似的问题。
第二 掌握Unity基础
脚本开发/API/物理系统/动画系统/UGUI/粒子系统/Shader
关于Unity基础这部分内容,其实在我们学习C#的时候就在一点一点渗透了,因为我们对于C#的入行的最低要求就是能够使用C#实现游戏脚本的开发。这也足以体现了脚本开发的重要性。另外像动画系统、物理系统、粒子系统都需要我们在小项目的实操中不断是重复熟悉和完善。而UGUI/Shader/API/脚本开发是中流砥柱,一定要拿下的东西。

掌握以上两点,你基本算是已经入门了,除此之外我认为最重要的一点,就是你要把自己学到的知识变成成品,意思就是多去准备项目或作品,如果你去过游戏公司面试,你会发现,他们最看重的就是作品或者说是项目经历。毕竟公司是招你来干活的不是来背知识点的。这点真的很重要,你一定要边学边做!
如果您仍然感到有些迷茫,您可以来听一下这节课,这节课里面比较详细的介绍了,游戏行业的动向,各个游戏类型的发展现状,这段你听了之后要好好规划一下自己要着手做什么类型的游戏,从而正对性的去学习,其次这节课也是以项目实战的形式,带你做出一个demo,具象化的展示知识点。链接在下面有兴趣可以看一看

游戏开发入门学习交流课​work.weixin.qq.com/kfid/kfc71b08bf74400f712
发表于 2024-7-15 17:54 | 显示全部楼层
作为一个从0基础美术专业成功入职某家眼光最棒的游戏公司技术美术岗位的人来说.我给你说说我的学习过程吧.
首先我是美术专业的,学的是美术但是美术只是进公司的时候的加分项,面试官一定一定会考你程序的,UE4的两个大方向是技术美术和C++,我选的是技术美术,毕竟女孩子写代码老的快啊.
我是0基础学的程序我的学习路线是:C#+unity然后C+++UE4.
首先
C#入门简单好上手,unity也是一样,它的官方文档是我看过最好的了,做的太好了!UE4真该跟人家学学.学unity不一定要做unity开发而是让你熟悉游戏引擎的运行原理.方便你为后面打好基础.
其次进阶的是C++和UE4新手上来太容易懵了,我也是啊.头发大把的掉.不过一般这个不用学的特别深.我面试的时候除了算法这些基本功之外,就考了蓝图通信,网络连接和寻路三块内容哦!
但是作为一个美术专业的学生学习程序的痛苦性不就不描述了,但是给你推荐一个好老师,呵呵老师他是专门做UE4开发的.他讲的程序连我都能听懂哦!这不是广告!因为呵呵老师的视频没有收费的.讲的太好了有没有!链接在此自己看吧.不好看,你回来骂我都可以.但是好看了记得回来点赞啊!
https://www.bilibili.com/video/av36658020
发表于 2024-7-15 17:55 | 显示全部楼层
看这个问题在这个版面挂了挺久了,无聊答一发——纯针对新人,这些步骤希望你能真的一步一步走过去,不要觉得内容“太简单”或者“看起来不像开发游戏”就想跳过。早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#里做一个仓库番

这个要求对于一个新人来说是不低的,不要小看仓库番这个游戏,他可以让你学会不少游戏开发的初级知识。
为什么我总对新人说从《仓库番》开始-GameRes游资网当然这样一个仓库番的要求并不低,在这个项目里,你会接触到游戏设计的基本功。这个项目对于新人来说可能会需要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格行不行?为什么?
发表于 2024-7-15 17:56 | 显示全部楼层
我是个猪场老策划,也做点程序和美术,商业游戏独立游戏都做过。从一个门外汉(我大学念的是工程类,只学过计算机通识课)开始学习,到能独立做出游戏,简单单说说我的学习心得吧。
你说开发,我不知道你指的具体的范畴是啥,我就理解成实现游戏设计的能力了。当然以下所述的东西,很多可以通过找伙伴和花钱来弥补。

  • 引擎:初学者还是unity吧,资料多,上手简单,扩展性好。本文假设你用unity。
  • 熟悉编辑器的使用。这个应该不是很难,我觉得比那些美术软件简单多了。大概理解一下,3天之内肯定能学会基础的操作了。
  • 一边做一些简单的demo一边熟悉Unity提供的API。这一步会复杂一点,因为Unity的功能模块还挺多的,好在根据做不同的游戏,需要学习的模块是不一样的。做demo可以按照官网的教程来,Unity Learn Tutorials,有字幕有源码。里面有很多分类,可以选自己不明白的。下面是我觉得初学者可以参考的路径:


  • 通用模块:位置、运动、物理、Trigger、预制件(Prefab)和实例化
  • 通用表现模块:动画、动画状态机、粒子系统
  • 交互:推荐就UGUI
  • 2D必学:精灵、2D骨骼、tilemap、层级,一些特殊的2D物理组件
  • 3D必学:3D渲染的基本原理、着色器(如果你想做TA的话还可以继续精进研究渲染)、烘焙。这里你可能需要自己学习一下模型、绑定、动画的流程才能更好的理解。
  • 按需取用:寻路网格、AI....
  • Editor:可以自己写引擎扩展工具
4. 学到这里,基本上已经可以独立做出一个游戏的demo了,但是离真的做一款上线产品,还需要很多补充知识,具体看你做什么类型的项目。比较简单的关卡式解密的游戏可能没啥问题,稍微复杂一点的,比如RPG或者Rougelike,可能就需要更多知识。不同的项目碰到的问题都是不一样的,碰到难题可以google一下,大部分都有解决思路。而且很多问题不一定是计算机问题,可能是个物理或者数学问题。我个人觉得做游戏比较通用的计算机知识有以下(非专业,我自己也在学习中,如果你学计算机的应该大都知道了):

  • 存档:数据的序列化和反序列化。Unity有自己的存档接口但只能存基本类型
  • 常用的数据结构的使用,大部分游戏都有一大堆数据要倒腾来倒腾去的,比如角色的信息等等
  • C#的一些特性,委托、事件、LINQ等等,可以提升效率
  • 基本的设计模式,比如单例模式
5. 最后,当你对游戏的大部分组成部分比较熟悉的时候,实现对你来说已经不是一个束缚了。你可以开始考虑如何增加效率,比如使用插件(找轮子)。游戏里除了内核的部分,其实很多都是重复性的工作,找好轮子可以帮你节约非常多的时间。
发表于 2024-7-15 17:56 | 显示全部楼层
谢谢邀请
我是一家上海的上市游戏公司的关卡和战斗策划,来聊一下我对学习游戏制作的看法。
一、明确我的工作内容
游戏的制作由三个领域的专业人士共同完成。
我们通常见到的游戏,比如有哪些功能,什么样的画面好不好看,玩法是有哪些怎么玩,主要是由三个部分组成:
游戏策划(设计师):
设计游戏的玩法、规则、框架、数值、文案、剧情、界面、反馈等内容,他们决定游戏要做成什么样。
美术(原材料生产商):
提供素材,包括原画、UI、音乐、音效、配音、动画、模型等美术的资源。
程序员(工程师):
有了设计的计划,就需要有人来实现工具、做出游戏的各种功能,就像一栋大楼,设计师给出设计图,由工程师来具体施工制作。
简单来概括一下游戏开发的流程:游戏策划设计游戏要怎么玩,然后告诉美术,跟美术要素材,美术做出素材后,将设计方案和素材交给程序,由程序按照设计好的规则拼装起来组成游戏。
要学游戏开发,首先要选好方向,这三个领域在前期,最好是能够专精其中一项,其他两项找专人协作。
二、学习方法
简单来说,去看各种游戏设计的书其实对游戏怎么做的概念并不深刻,因为游戏毕竟是一个需要“落地”的东西,需要工艺,需要思考,需要时间,也需要技术。由于这种互联网产品的特性,我更推荐一种接地气的方式:“玩、拆、抄,不会的查,查完后做,做完总结。”
玩:选一款自己喜欢的,市场上用户比较认可的游戏玩,尽可能的多充点钱进去玩到核心的玩家位置。然后跟游戏的世界融为一体,跟游戏的玩家打成一片。把它当成生活中的一部分。这样其实你就会发现这个游戏哪些点吸引人,那些人为什么愿意付钱,付多少钱可以达到多少期望的结果等等。如果是单机游戏,就竟可能达成所有的成就,对游戏的细节比其他玩家多一些了解,就是我们俗称的“高玩”。
拆:玩到一定的阶段,就可以去尝试拆解一下游戏的系统,比方说《楚留香》的门派技能可以做一个Excel统计,看看这个门派有哪些技能,每个技能的主要功能到底是什么、多少CD、多少伤害等等,然后总结一下规律性的东西;例如:华山的门派技能中,有X个突进技能,Y个控制技能,那么你在做华山这种拿剑的职业时,就有了很好的职业人设参考,他的战斗方式就有了一个想象的环境。


抄:抄就是要结合前两项开始尝试制作一些小的demo。并不是说要做出一个一模一样的游戏,这是不现实的,只是说我们统计了一些数据、有了一些素材和参考标准,我们拿来练练手,掌握下游戏的底层。更深入的去理解工具的使用、代码如何去写、设计思维的高度如何去提升、策划案如何去写的更通俗易懂等。这是一个长期的兴趣培养过程。比方说:我很喜欢楚留香的华山门派,所以我玩了半年后我开始在想我能不能也做一个华山的技能demo,我起手摆个POSE,经过1秒后出招,放出一道风,对面前的敌人造成伤害。那我要怎么实现呢,首先是策划层,要写一个战斗系统的设计方案。有的同学觉得战斗系统很复杂,不知道从哪里开头,也不知道怎么写。我之前也有这样的困扰,后面熟悉了之后,我发现一个非常简单的方法,你就把这个战斗过程想象成为
一个A单位释放技能,怎么样对B单位是怎么造成伤害的过程,这样就很容易理解了,不要一开始就挑战那种特别复杂的战斗逻辑。也不要被网上那些各种公式的计算给搞蒙了,很简单的东西。
可以把一个简单的基础战斗拆解为三个部分:动作→特效→数值计算


我摆POSE就是我要放技能时的动作,一般会有个持续时间。
我把手里的刀扔出去,然后刀朝着一个方向飞出去,就是技能的冲击波等技能特效。
然后命中敌人,碰到了敌人之后就会计算伤害,这就是数值的计算。
其他的技能CD、移动时、死亡时不能释放技能、技能距离等等都是在此基础上延伸出来的。往往新人在看一些战斗文档时写的密密麻麻根本不知道该怎么去理解,其实那些战斗都是从这里延伸出来的,我们先有了一个简单的框架逻辑,然后在往里面放规则,这样学习的门槛会低很多。
你看,有了基本的策划设计框架,就可以进行一些加工,增加一些条件让战斗的技能更加丰富:
1、释放技能的时机判定:


2、成功释放技能的动作:


3、把技能特效“扔”出去:


4、数值计算:


所以,一个战斗的技能设计就完成了,根本不需要特别复杂的那么多参数,是不是很容易上手。设计稿完成了,剩下的就是写代码将它们组合在一起。
如何在程序中实现策划案中的功能这里有几个方法:
1、BILIBILI和蛮牛上都有Unity的新手教程,上面有demo制作的案例,基本上都是免费的,而demo小游戏就是教你如何写出移动、攻击、死亡等配合动画的客户端逻辑。零基础的同学可以先适当学一下程序语言和Unity的界面工具再来进行视频教程。
2、适当在能力范围内多学一些编程语音,这里推荐一个C#和lua,然后学习Visio Studio配合Unity引擎等工具的使用。
3、推荐Unity的官方接口文档,虽然是英文版的,但是百度google翻译大段黏贴复制即可,英语从来都不是事儿。如图所示:
Unity User Manual (2018.3)4、许多游戏素材可以百度:6m5m游戏素材进行下载,也可以从某宝1元买,非常方便。
三、进阶
除了知道游戏怎么做之外,还有一个重要的问题是为什么这么做。这个问题其实就涉及到更上层的知识了,包括运营、市场、心理学、教育、交互设计等方方面面的专业知识,其实很多时候我并不建议许多刚入行的新人开始研究“某款游戏做了哪些点为什么成功了”这样的大问题,毕竟这个问题很大,不是一两句话就能说明白的,也说不明白。而过于宽泛的回答和总结又缺少指导意义并且在研发中也起不到关键的技术支持。

多思考一些怎么样实现这个功能的方法、逻辑,可能会性价比更高。
文,华韬,2019/2/23
游族网络·无限工作室

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-21 22:15 , Processed in 0.132043 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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