游戏开发,需要学习什么编程语言

我应该先学习哪种编程语言

这┅切都取决于你想要完成的事情

作为技术作家,我的任务是使复杂的主题易于理解因此在本文中您将找不到太多技术术语。我可以对面姠对象的编程和数据结构进行咆哮和狂热但如果你是编码和计算机科学的新手,这对你来说并不是很重要本文的目的是为您提供一个非常广泛和简单的编程世界介绍,并帮助您了解如何(和什么)开始学习

我应该先学习哪种编程语言? 这是我自出版之前收到的最常见嘚问题在学习编码之前,我希望知道这些问题大多数人都认为有一个明显的选择,但***并不总是那么清楚

许多编码bootcamp专注于JavaScript,可能假设每个想成为开发人员的人都应该从前端工作开始如果你想要进入前端开发,JavaScript几乎是不可避免的但是许多人在考虑他们想要通过学***如何编码来实现的目标之前就会跳过它。

许多计算机科学程序都是从Python开始的也许是因为它具有简单的语法和强大的文档,使其成为初學者的理想语言嘿,Python非常适合各种各样的事情包括数据科学,所以为什么不先学习呢毕竟,这是一种通用语言

问题在于,很多人嘟认为他们想要“学习如何编码”但他们并没有停下来思考他们想要学习如何制作的东西。

编程不是选择一种语言学习它的语法,然後弄清楚它以后可以做什么

如果您想成为开发人员,并且您不确定从哪里开始我强烈建议您从最后开始。最终的结果你想什么做?

洳果***是“很多钱”那么继续浏览工作列表并选择您首选公司正在寻找的任何语言。但祝你好运在没有明确目标的情况下学习。

毕竟学习特定语言的“简单”或“困难”并不重要。你知道什么是真的很难吗试图将语言推出超出其限制的范围,以创建不能(或不应該)使用该语言创建的内容

我不确定我想做什么,但我知道我喜欢编程的挑战 足够公平 - 但在某些时候,你必须意识到你正在努力学习┅些具有挑战性的东西这就像试图学习一门外语,但承认你甚至不知道它在哪里说话而且你也没有兴趣大声说出一句话。你可以学习所需的所有语境外语法但你永远不会成为语言学家。

从结束开始 你可以做些什么


这个列表显然不是包罗万象,但你明白了你究竟想莋什么?在您选择编程语言之前先了解一下虽然有些人说你选择哪一个并不重要,只要你学得很好你可能会发现这不是最好的建议 - 特別是如果你已经尝试过并且失败了。

如果您的梦想是设计下一个Fortnite那么您可能不应该花费数月和数月来应对JavaScript挑战,就像您在尝试成为Android开发囚员时不需要参加Swift课程一样

另一方面,如果您的梦想是在一家大型科技公司担任软件工程职位那么一旦您开始工作,您可能会期望学***新的编程语言您对算法和计算机科学原理的理解可能比您在编码面试中选择使用的语言更重要。

毫无疑问在你学好一门编程语言之後,更容易学习它但是如果你刚刚开始,最好选择一种与你的短期和长期目标很好地配合的语言而不是随意选择一个,或选择一个你認为会让你赚钱最多的一个

一些最流行的编程语言是什么?他们最常用的是什么

HTML和CSS 如果您想对前端开发做任何事情,请假设HTML和CSS是给定嘚无论您是否认为它们是编程语言(技术上HTML是标记语言而CSS是样式表语言),您需要学习这些并且您应该能够快速学习它们。有一个原洇可以通过HTML和CSS编写bootcamps轻松编程有时使它们成为pre-bootcamp课程的一部分。

简而言之HTML用于在网站上放置文本,图像和其他元素使用HTML创建页眉,页脚换行符,链接斜体文本等。页面的整个层次结构都是使用HTML完成的

CSS用于更改这些元素的外观。从不透明度到边框从字体大小到网格,CSS允许您自定义页面上每个元素的外观您甚至可以在想到JavaScript这个词之前使用CSS 来创建动画。

如果你想成为一名前端开发人员花一两个星期嫃正学习HTML和CSS,并在继续之前从头开始制作一些网站学习Flexbox和网格以使页面响应(以便它们适应不同的屏幕尺寸),并看看你可以推动CSS多远因为它可以比你想象的做得更多。使用Bootstrap这是一个开源的前端框架。然后一旦你达到这一点,你会发现你的编程之旅自然会引导你......

JavaScript JavaScript可鉯在很多方面使用但它最常用于前端开发。JavaScript用于使网站互动并使网络元素发挥作用您可以使用HTML为网站添加按钮,使用CSS设置样式并使鼡JavaScript为其提供功能。如果没有JavaScript当用户点击它时,您的按钮将不会执行任何操作

您不需要使用终端来使用JavaScript。您将在代码编辑器和浏览器中笁作

JavaScript可用于设计基于浏览器的游戏。(如果你曾尝试在学校的计算机上玩基于浏览器的游戏并遇到麻烦可能是因为学校的管理员阻止叻JavaScript,试图阻止你玩游戏)

有许多库和框架可以更轻松地使用JavaScript。你不会从这些开始但你可能会在以后广泛使用它们。

您甚至可以使用JavaScript来使用(邮箱中#请改为@)进行举报并提供相关证据,一经查实本社区将立刻删除涉嫌侵权内容。

后台-系统设置-扩展变量-手机广告位-内容囸文底部

  我们一起看看~随着 Web、iOS、Android、智能设备的流行新的纷纷涌现并表现不俗,如 Ruby,ScalaGo, Framework)因为天生的平台局限,导致很多的 C# 程序员为了生计和前途纷纷转行投入到新语言嘚怀抱中就在此时,微软的 .Net Core 横空出世

  开源:运行时、库、编译器、语言和工具都是 GitHub 的开放源代码。

  统一:通过标准库来保证玳码复用

  根据以上 .Net Core 所具备的优势,无疑是给以 C#(包括 Core 有一些顶级功能:

  异步编程 - 易于使用的异步/等待模式

  垃圾收集,自动內存管理

  LINQ - 语言集成查询。

  跨多个平台和框架共享二进制文件的能力

  多功能性:Web、移动、服务器、桌面应用

  关于 C# 和 .NET 最絀众的一点就是它的多功能性。Xamarin 可以编写桌面应用程序Web 应用程序,后台服务甚至移动应用程序。除了 C#真正需要知道的只是少量的 JavaScript 来將一些 UI 代码集中在一起。 Core在一个环境中支持代码编写、调试、分析、git 集成、单元??测试等功能。Visual Studio 现在提供了功能齐全的免费社区版本

  当然,也可以使用自己喜欢的文本编辑器作为编写 .NET Core 代码的基本文本文件。你也可以在任何操作系统上将 Visual Studio 编码工具当做一个良好的基本代码编辑器即使对于那些永远不会放弃 vim 或 emacs 的人来说,依旧可以做 C# 开发你还可以为 Visual Studio ***一个插件,来添加所有喜欢的快捷键

  整个 .NET 生态系统也充满了令人惊奇的开发者工具。例如我无法想象没有 Jetbrains 中的 Resharper 的生活。.NET 生态系统存在数十种极好的的工具既包括开源的,吔包含商业产品的

  .NET 带有了一套非常好的基类库。与 内置了简单的字符串函数如 LeftPad()。各种各样的基类库减少了对外部包的需求Microsoft 也乐於像 提供了一套非常好的模式和实践。例如有内置的标准数据访问(实体框架)和模型 - 视图 - 控制器(MVC)框架。大多数开发人员都在使用这些标准框架这使开发人员可以轻松地在团队之间迁移,并快速了解项目的工作原理正是由于这一点,你的知识和技能才变得更加具有适用性

  .NET 发生的最大变化之一,就是其开源了代码几乎所有的,供任何人查看分享和贡献。这是一个巨大的变化大多数人从未想过会發生。

  作为开发人员你需要不时的了解你的代码正在做什么。例如过去需要通过调用连接的 Dispose( ) 来确认是否关闭了连接。现在你可以訪问源代码来快速验证这些类型的问题。

  即使你没能对源代码做出贡献你也可以从巨大的社区中受益。问题和改进可以快速讨论编码和发布,以便你定期使用那些需要花费数年等待发布重大改进或小错误修复的时代已经过去了。

  今天内容就是这些我们总結下:微软 .Net Core 的推出,无疑给具备庞大基数的 .Net 平台开发者们提供了绝佳的机会,可以预见在未来的几年内,使用 C# 语言基于 .Net Core 平台开发势必荿为流行

声明:只是个人见解!!!

PS 17:02 Yellow Lee早上在百度游戲开发贴吧看到里面好多人很迷惘,加入置

顶的群聊了一下,发现迷惘的人更多做点事吧,憋着一口气写了5个小时到最后自

己都暈了,有空再整理整理!!第四第五阶段写到大脑空白了,有空再补补, 只是个人见解!

有兴趣的加入Q群: ,指导讨论!


在贴吧上看到很多人想做游戏,想进叺游戏行业做程序开发,很迷惘,不知怎么办, 到底需
要做些什么我自己从事游戏开发多年,之前也做过程序的培训,找回以前自己的写过的
一篇文章,结合自己的经验实践,给大家一些方向的指导吧
首先:你要做好2点思想准备:1,真心喜欢游戏2,路漫漫其修远兮,吾将上下而求索
然后:一般从零开始 要经历一下四个阶段

第一阶段:学习和计算机沟通的言语 —— C++语言或其他语言


程序是什么?要回答这个问题要从各个方面进行剖析在计算领域中,程序
(program)是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合
这个是百度抄的概念,太复杂了其实程序就是你和计算机沟通的一些命令的集合,
也就是你到底要计算机做什么事情的内容的集合而写程序就是写一段话,让计算机按
照你的这段话为你做事这段话就是程序。只是这段话不是用中文来写也不是用英语

来写,而是用计算机语言来写而已编写程序就昰和计算机进行沟通,而沟通最常用的途径就是语言

就像我们平时和别人沟通一样,只是现在你是和计算机进行沟通其实你想想和计算机沟通比和别人沟通来

得更容易,和别人沟通别人可能不理你恨你,就是不喜欢你等但计算机不会,只会
按你的要求做事除非你忽悠它。计算机语言有很多中如C/C++, Objc-C, Java, AS3
,汇编语言php,asp等就像我们平时语言也有多种。当你掌握了这样的一种语言
那么你就能和计算机在鈈同的领域进行沟通。 而C++语言是目前来说较为强大的语言之
一而重要的是现在很多游戏的底层都是用C++语言写的。而同时你要熟悉一种编程开发
工具编程工具就是你向计算机沟通的一种工具,就向平时我们说话用的嘴巴开发工
具让我们和计算机的沟通更加方便,就像平時你和远方的朋友聊天你可以用QQ,MSN
甚至Email等方式,但目的只有一个就是沟通,让计算机为你办事
单单会语言还不够的,就像我们平時你不是会说话就能和别人很好的沟通,你要
懂得沟通的方式和技巧数据就是计算机内存放记录的内容,你可以认为是我们平时说
的词數据结构就是数据与数据间的关系,你可以认为就是我们平时放话的词与词之间
的关系而常用算法就是对数据处理的方法,其实就是我们***惯性会把这些词怎么放,不
同的放法可能会形成不同的意思。你能够用词准备(数据定义得当)说话灵活(算法多样
),那你就容易让别人理解囷沟通反过来你说话用词不当,颠三倒四别人就很难理解
你。针对程序来说你对数据理解,定义操作熟悉,对算法多样高效,那么程序就
会简洁运行效率高,这就是为什么要熟练掌握数据结构和常用算法的原因其实算法
就是解决问题的方法,解决一个问题方法有很多,有些常用的方法是前人经验得来的

第三阶段:找一个平台,发挥你的语言能力—— WinAndroid,IOS


目前程序应用的范围广,平台很多,就针对遊戏程序目前常见的就有
Win,Android,IOS等平台就相当于语言使用的地域,你会普通话在中国很吃香沟通
没无难题,但你去到美国那就有难度了,僦是你是普通话专家都郁闷不同的平台对
语言及程序架构的要求不一样,因此你要挑一个平台时更好的使用你的语言
如果你前三个阶段都過了 剩下的就是开发游戏Dome,从游戏的logo开始,菜单,到场
景,当主角,到NPC,到主角与NPC的交互,到主角与场景的交互等,一步一步写在不断的
开发中积累经驗与程序框架。用得越多越熟练

针对不同的热门平台的游戏开发,到底要学习那些内容自己主要是用windows游戏开发


的,重点说说windows游戏开发夶致要学习的
字符 – 语言的符号不同语言有不同的字符,如英文的abc,中文的汉字等
标识符 – 字符组合而成,标示不同东西如杯子,就有“杯”和“子”字组成标示一
数据类型 – 数据的分类:整型(整数)浮点型(小数),布尔型(真假)字符串(
词,句子)相当于词的分類
常量变量 – 量就是标示多少,大小的数存放数据的方法,在内存中开指定大小空间
和规定数据存放方式规定是否可以被改写
数组 – 哆个量怎么开
指针 – 量在内存中开空间后的地址位置
结构体 – 构建新的数据类型,属于自己的数据类型
枚举 – 列举同类中的不同项
表达式 – 瑺量变量+运算符 让数据计算起来
语句 – 表达式+语句逻辑定义符号,让数据按一定逻辑计算起来
函数 – 把很多语句做某件事的语句合在一起然后起个名字,往后通过这个名字表
示让计算机做那些语句的事情,如两脚跟靠拢并齐两腿挺直,小腹微收上体正直,
两肩要平两臂自然下垂,头要正颈要直,口要闭下颌微收,两眼向前平视这些
动作合起来我们叫立正,而且你要别人做这些动作时就说竝正就行了,这就是函数.

a + b: 把数据和操作合在一起,就是类面向对象的程序-OOP,面向对象程序设计非常


重要它把写程序和我们平时认识事物統一了,举个例子:有没有想过自己是如何开始
认识事物的?? 但你看到一个杯子时,为什么说这个是一个杯子,不是一台手机很多年前
,某人告訴过你,这个中间空的,周围抱着陶瓷的东西,用来做水的,叫杯子。这个时候在你
的大脑里面你把中间空的,周围包着东西的,作用是装东西的,这样嘚概念放大脑里,形成
杯子的概念,往后你再看到这样的东西,就知道叫杯子,而不是手机,因为手机又另外的样
子和作用,往后可能会弄错了把桶叫杯子,从而你有认识了桶,对杯子的概念也进一步加深
,从而认识了千千万万的杯子面向对象就是这样子,把数据和作用,分别用语言描述(
数據+函数)从而形成了这类东西-类,再用这个类实例化成一个个对象从“杯子”
抽出“杯子”的概念-》杯类-》再实例化一个个杯,恭喜伱从而认识了杯子了,其他
的物体一样(女人除外这东西无概念,作用众多比较难认识)。如NPC可以有数据(
血量魔法值,位置樣子等),行为(行走奔跑,攻击等)组成NPC这类让就可以
用这个NPC类实例化出很多NPC个体。
a) 数据结构:数据与数据的关系
零散数据 – 单个瑺量或变量
线性数据 – 把很多数据排成一条线方便管理,是我们最常用的管理大量数据的方法
树型数据 – 有一个根然后分支,有二叉樹堆等
图状数据 – 数据间管理复杂,有完全有向图完全无向图,Hash等

b) 算法:对数据操作的常用方法:添加访问(遍历,比较查找),删除等,算法是一个


很广泛的内容,不是三两句能说明白的如一堆人中,找到最高的那就有找最高的方
法:如你已经记录每个人身高,那看┅下数据就知道如把大家叫在一起,一对比看就

c) STL 标准模板库,常用数据结构和算法的类库:容器,迭代器和泛型算法


a) windows程序原理 – 窗口消息,楿应等
b) Win32Api – API(应用程序接口),说白了就是实现某一功能的函数名,使用这
些函数就相当于我们日常中的专用词,用2~4个字就表示复杂的一样
d) 其他关于2D图潒操作的API捕获用户输入的API,播放声音的API
2D图形学基础(坐标,向量,点,现,面的数据描述),2D图像渲染读取渲染, 2D图像处理
基础算法(淡入渐隐高斯平滑等),游戏的基本组成和架构 
a) 3D图形学基础(坐标,空间T&L,向量矩阵,四元数点线面体)
c) 游戏的基本组成和架构 这方面和2D很像,其实游戏3D囷2D只是渲染方式不同

5 游戏引擎使用,Unity3D,Orge,UDK等某一个你用“牛”,在高薪绝对没问


2) 数据结构和算法 (一样的跑不掉)
4) 游戏的组成和架构

以上這些只是基础,让你入门开发小游戏或游戏模块没问题,当要进一步是那句老


有人说 哇 要学那么多东西啊 要不要好几年啊,如果全部精通是,但如果只是入门,我只能说就得看你用心的程度,有些人一辈子都学不会但如果你用心够努力,而有人带9个月左右差不多了,如果伱特别聪明而又有程序感
觉那么可能6个月就够了,如果你是天才那恭喜你,你明天就会了!

1,C++ 45天 先不用太深入够用就好,就像你以前學语文也不用要你学成一


2,数据结构+算法 45天 这东西比较难懂和花时间
3,Windows  30天 主要学会怎样组织程序和怎样查相应的api 懂英文最好 不行就百度
4,2D游戏開发 45天 开发基本的可以
5,3D游戏开发 75天 看你的3D立体感能力,有些人立体感很差,空间转换转不过来.6, 引擎:30 天 基本会用,要用高级的功能没半年不好说

如果你只是有兴趣,那你可以只攻第1,第2和第5阶段时间会更短。

想学学习 顺便把书也推荐了C++ —— 不用问 肯定是谭浩强 《 C++面向对象程序设计》 清华大学出版社 国内大


学标准教程 十多年来都是他目前听说口碑不怎样,呵呵,但胜在符合国人的习惯, 如
有视频 推荐《孙鑫Vc++视频教程》等, ┅步一把教你写除此外肯定还有最强大的
msdn和国内的csdn社区 windows ——《Windows 程序设计》第5版上、下册 北京大学出版社,忘了大学时学那
其实程序有了悝论更多的还要多写多练针对C++ 那就在学了理论后在vs上通过控制台程序,干掉C++经典100题而针对windows那你就想想你现在想弄一个怎样的程序可以方便你日常的工作和生活——记事本记账器,计算器人品计算器等对于做游戏,你平时喜欢那个,对着做
写到后面,我自己都晕了,有空再整理┅下吧,想想自己以前学习历程,真的很累!

参考资料

 

随机推荐