友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
夜半鬼入梦-第308部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
有了这个想法之后,先辈们就开始动手去写这个牛逼哄哄的虚拟achine。。。。。。
看到这里,聪明的你已经看破了真相,原来on编写的程序都不是直接交给真正的cpu运行的,而是交给了一个模拟cpu的软件运行的!把我们的程序交给了另一个程序来运行!把我们的程序交给了另一个程序运行!明白吗,为什么那些程序猿都说c#没有c++快。因为c#写的程序交给了c++写的一个程序来运行!java写的程序也交给了c++写的程序来运行!python写的程序也交给了c++写的程序来运行!再重复一遍就疯了……
到现在为止,我们解开了一个新手十大困惑之一:为什么c++比其他语言更快。现在我们还在章节“计算机与编程的世界”中,接下来,我们要聊一聊那几种高级语言的不同点,以帮助我们搞清楚新手十大困惑之首:我应该选哪个语言开始学编程!
不同高级语言使用感受
这么说吧,当年我才大二的时候,只学过c++。从没有专门学过一天其他语言。y写小游戏,我还用oid studio里写过一个贪吃蛇。我可是一天的c#和java都没学过。为什么我能做到呢?因为主流编程语言的语法基本都一毛一样,根本就不用怎么学啊。那种差别就像东北话和天津话的差别一样,大家都是从汉语出来的,谁听不懂啊。为了证明几种语言语法上真的很像,我写了一段伪代码,并翻译成不同语言版本,请找不同:
看,这三份代码是在干同样一件事情,是用三种语言所写的。除了第6行比较特殊,其他部分你们能看出什么区别吗?是不是真的很像?如果掌握了其中一中语法,另外两种有什么难的呢?无非就是注意一些细节不同点。总有些人问第一个编程语言学什么,我通常回答“都行都行”,看看上面这张图,我不是瞎说的啊,对于学习些基本语法,了解基本概念,先学哪个真的都行(反正都一样)。如果把我们学做游戏比喻成学做饭,语言呐、环境呐这些东西,就可以看做是厨具厨房。学做饭的时候,重要的是学习菜肴怎么做,烹饪方法心得,厨具工具的用法是基本的也是次要的。我们随便选个厨房开始学做饭,一旦学会了,那么在另一个陌生的厨房里难道就做不出饭菜了吗?不会的。就算是另一个厨房,就算那个厨房里的锅、碗、灶、铲奇形怪状从未见过,习惯习惯也不影响我们做饭呀,因为工具毕竟还是那些,变其形式而不变其本质。
那么在这种情况下,我们应该选那个语言开始学习呢?总要有一个选择。这个选择就是c#。y是用c#写代码(不考虑js)。y是我最推荐新手学习的游戏引擎。y咯。如果有人问:“我想用ngine,我能不能从c++开始学呢?” 当然可以呀。y来开发,也能很快上手。但是我不推荐这样,因为c++细节非常多,更繁琐一点。学起来没有c#轻松。而ngine呢,用起来也更麻烦一点,也不建议新手拿这两个引擎来考验自己的自信心。
下次继续……
作者并非职业程序猿,也不是计算机科班出生,若文中有任何错误,望先辈们在留言中指出,以帮助我修正文章、传播正确有用的知识。
扩展阅读:
1。《穿越计算机的迷雾》
那么,下一节再见。
这里是知乎专栏《自学游戏开发》第三篇文章:《自学游戏开发·程序篇一——了解计算机的世界》。我是 窦月汐 。如果你是第一次看到本专栏,建议你跳转到自学游戏开发……关于本专栏进行了解。如果这篇文章和本专栏对你所帮助,希望你在看到其他游戏人需要帮助时 也能把本专栏推荐给他,向每一个游戏人致敬。
我公开了我的一个兴趣交流群,群号为:474891082。(为避免无聊人士,设置了5元 群费)
明确两点:
1。游戏开发只是借助了电脑和图形学,没有这两个,一样可以开发游戏。
2。图形学是为了在电脑里模拟物体而形成的一门研究领域。
目前,游戏公司偏重于成熟稳定的框架,这样更有利于快速开发游戏,毕竟根本是为了赚钱。只有很少一部分大公司需要自己去搞游戏引擎,只有当开发或者定制游戏引擎的时候,才会用到一点图形学的知识,不过总的来说,游戏只用到了很少一部分图形学知识。更多的图形学知识,会用于建模/电影之类的。如果你感兴趣于游戏,那么图形学会让你走的更远,不过短期来看并没有什么卵用,不如踏踏实实把一款游戏引擎用好,这样游戏公司大部分的工作才适合你。
上面全是废话,下面才是我想说的:
首先,无论外部环境如何艰难,作为一个有志于游戏开发的程序员,你都不该自暴自弃,学习更高深的东西,有百利而无一害。同时,作为社会人,你需要提供高质量的服务,这是你应该承担的责任。下面主要是针对对游戏开发和图形学有兴趣,却不知如何下手的同学的一些小小的建议。
……………………………………………………………………………………………………游戏工程………………………………………………………………………………………………………………………
在中国,游戏在很大程度上是服务业,不是制造业。一款游戏更多的是内容驱动(美工,策划),程序员反而成了辅助,为游戏的实现而提供技术方案。
其次,1。游戏顾名思义是为了娱乐而制定的一套规则,它的可玩性高于一切。可玩性是游戏施加给玩家的挑战组合,一个游戏如果能让玩家觉得有无限的可能性,那么就说明这个游戏可玩性比较高。一个规则可能很简单,但是当多个规则组合起来,就会产生不可预测的结果,这就是游戏的魅力。。可以试试用编程来玩玩生命游戏。还有一个梗,如果计算机在一个游戏中无法战胜玩家,那么就说明这个游戏有很高的可玩性。2。游戏是一场赌博,比如游戏中的生物,如果它们的属性都千篇一律,是不是很无聊,而如果仅仅是加入了一点随机,会让玩家感觉这个游戏更真实,更有想玩的冲动。 计算机的出现,让游戏开发变得更加学科化,因为计算机可以代替人脑来执行规则。这意味着,作为程序员,你就是秩序的象征,你就是上帝。建议:
0。如果只想写游戏逻辑,只用熟悉框架,熟悉语言。客户端框架推荐s2d;这些框架都有完整的工具链(脚本,资源管理,编辑器),可以让你快速上手,同时社区也比较火热,不用担心遇到问题没地方问。服务端不太了解,每个公司都有自己的服务端引擎吧,我比较看好一款叫kbengine的开源引擎和云风大哥的sky(不过是c写的,里面有很多trick,我没敢去看,…。…),希望朋友们可以推荐一下还有哪些开源的游戏网络引擎对初学者比较友好。
1。如果觉得引擎不符合你的要求,你想自己定制,做一个引擎geek。那么ogre是个很好的选择(虽然有人说它过分设计,但是你如果很厉害,还是可以改的嘛)。另外,龚大大(叛逆者)的klayge很优秀,我喜欢龚大大这样的人0。0。
2。如果想本科毕业后从事更为核心的设计。学好线代/信号系统/数学分析/概率统计(重要程度由高到低)很重要,然后去找一些图形学初期的论文看看,主要是理解别人的意思。线代不用说了,游戏中的各种变换都依赖于线代提供的数学工具。信号系统提供的思路,如何从不同的基来表达信号,很大程度会改变你的世界观,对,世界观,然后游戏中的proer懂得吧)。数学分析,会培养你的数学演绎能力,这点在数学建模,特别是游戏这样一个理想国里,是非常有用的。概率统计,ai不能多说。
3。大学期间,如果想开发游戏证明自己,绝对不要要求太高。如果你能找到一个美工同学,那么跟他/她一起成长再好不过。千万别因为想自己做一款游戏而走偏了方向。ube上下载了将近der教程,到最后,可以做一些基本的物体,调一些动作,做一些纹理,而且全是用一个鼠标完成,至今不会用数字板。这些工作你可以投入一些时间,但是这些时间你可以用来做更有意义的事情,比如成为一个编程高手。
4。可以考虑实现一个软渲染器,很多人推荐,虽然我没去做过,不过应该收益蛮大。它可以让你对渲染的本质有所理解,同时增加你的代码掌控力。推荐《3d游戏编程大师》,理解核心即可。
5。电子游戏开发,需要各方面学科的能力,c++/directx(问我为什么不写opengl);软件架构,编译原理,网络,数据库。都要尝试动手去做(比如学操作系统,你就可以试着给一些简单的cpu写个系统,不要是x86架构,因为你还只是个学生;数据库的话,你可以先尝试写keyvalue型的数据库;网络的话,可以自己试试写个网络库;编译原理,一个简单的脚本语言;这些你都可以去尝试,比你考高分有用的多)。这句话我想说三遍。
kover,希望你常去看看。
7。记得把你作品保留下来,然后不断对它迭代,如何把它保留下来是门学问,我就因为太关注于本身能力的修炼而忽略了这个。大四之前写过的代码和硬盘因为一杯咖啡全送进了回收站forever。如果你是一个有心的人,那么找一份游戏相关的工作完全不是问题。
8。紧接着上面的一点。hub,自己写个博客。很重要,不要嫌麻烦。血泪教训。
9。说到图形学与游戏的关系。不得不谈到一个人,也是我最崇拜的一个人。ack。关于他的逸闻趣事有许多。最出名的是那个开根号的3759df,让游戏中最常用的函数快了4倍!也是那本《do启示录》让我对图形学和游戏开发更加神往。
10。上面说了点工程方面的,更多是围绕游戏领域。然而在图形学这个领域中,有许多细小的分支更值得关注。具体的一些见硕鼠酱的答案。我的答案会更偏向于保守经典的领域。
…………………………………………………………………………………图形学……………………………………………………………………………………………………
图形学还是交给大牛们介绍比较好,不过作为入门,我挑了几个经典有趣核心的方面说说。
rmable body。这是我比较喜欢的一个子领域。它主要是研究物体的物理性质,如何模拟物体的受压形变及其恢复过程。比如一个植物,你将它折弯,松开,它会摆动,如何在计算机中表示这些摆动呢?有两个可选方案,1。mass spring system。是将物体受压运动看成由很多小弹簧共同震动产生的。ilo yip大神在麻辣马《爱丽丝梦游魔镜》中关于头发的建模(如果我记得没错,就是my大神写的吧?关于my大神同时感谢他翻译的《游戏引擎架构》,质量非常高),那篇文章算是dbody的一个入门吧。2。有限元方法。
刚加入知乎,如果稍微有点帮助,希望读者给个赞。
接下来不断的迭代这个答案,希望把一个问题回答得完美一点。
不断的迭代是个很有意思的事情,我都不想去干正事了,特别是有许多朋友给的赞,让我很开心~
本文作者:@loki ——不吐槽会死星人,喜欢一个人玩游戏,半个avg死忠。
我认为,人的思维缺乏将已知事物联系起来的能力,这是世上最仁慈的事了。
人类居住在幽暗的海洋中一个名为无知的小岛上。
这海洋浩淼无垠、蕴藏无穷秘密。但我们并不应该航行过远,探究太深。
——洛夫克拉夫特
这是《迷失岛》制作组redfish game官网上关于这款游戏的介绍。
也许光凭这段引自克苏鲁神话之父的言论,以及redfish game这个新兴的小团队,很难看出《迷失岛》有何出彩的地方。
但是要是加上制作团队tton game以及《南瓜先生大冒险》,熟悉国内独立游戏圈的人应该就会明白。
这款风格神似《南瓜先生大冒险》的新作,是tton game正在打造的第二款作品。
从极度类似的风格来看,也许我们可以把它当作《南瓜先生大冒险》的续作,虽然两款游戏并没有内容上的交集。
目前《迷失岛》正在做最后的收尾测试,计划在6月份正式发布,上周他们还将它带到了摩点网、egogo等众筹平台。
有趣君参与了众筹,秘密打入了众筹粉丝群,并跟这款游戏的制作人聊了聊。
在摩点网上,《迷失岛》的众筹发起者是小棉花,在国内独立游戏圈还算知名,他是tton game的创始者,也是《南瓜先生大冒险》的制作人。
《南瓜先生大冒险》获得的诸多荣誉让人们记住了他,然而棉花自己创作独立游戏的故事其实更像是一场大冒险。
棉花出生于1975年,国内独立游戏人提起他都说是一位友善有爱的大叔。
但他本人比较反感别人叫他大叔,我称呼他棉花大叔的时候,他反应比较大,说不要叫大叔。
我说我在听他indieace的分享演讲,他问是不是又老又丑。我又说我听的是音频版本,他连呼还好还好。
我还找到了十年前他参加插画设计大赛拿奖时候的照片,简直年轻帅小伙一枚,不过当时他却称自己“算是个老人家了”。
在qq资料上他填的是19岁,从心态和表现上看确实比我年轻好几岁。
1997年棉花毕业于吉林东北电力大学,专业是电力相关,毕业后获得了能源国企的“金饭碗”。
但醉心于绘画的他最终还是选择了艺术这条不归路,工作之余他依旧坚持绘画创作,自己画画卖画甚至办过画展。
搞艺术的都知道,说这是条不归路并不是调侃,一段时间之后四处碰壁的棉花开始寻找新出路。
新世纪开始,电脑及互联网开始在国内兴起,棉花凭借着绘画功底开始自学flash动画和三维动画制作。
他跟朋友一起成立了“二极管工作室”,主打制作flash游戏,这可以说是国内最早制作游戏的一批人了。
这里有个很好玩的插曲,在我加入《迷失岛》众筹粉丝群的时候,群里有玩家分享了棉花十多年前制作的flash游戏。
没想到这些封装成可执行文件的flash小游戏这么多年后还可以玩,我试玩了《抓鱼》和《找不同》两款游戏。
《抓鱼》更准确的说其实是“炸鱼”,一个小孩在岸边丢炸弹炸鱼,丢出去的距离根据你点击鼠标左键的长短控制,需要很好的手感才能在一分钟内炸死所有鱼。
《找不同》则是类似前几年很流行的“大家来找茬”,左右两幅画在限定时间内点出所有不同之处。
这些flash游戏虽然已经初步具备游戏元素,而且十多年后来看也不算差。
但flash游戏总归是小打小闹,只懂美术的他明显将游戏做成了插画集,他们也很难弄出其它更深入的类型。
随后他们给一家娱乐网站开发了数十款flash游戏,谁知道几个月后该网站弹尽粮绝后关闭了,他和哥哥决定自己掏钱开发休闲网游。
游戏做了三年,但没有经验的他们难以最终成型,卖掉这款半成品之后他们转而承接美术外包为继。
直至2009年,这家小公司终于淹没在高涨的商业浪潮中,棉花又过起了之前卖画的生活。
卖插画、卖油画、卖国画,出版绘本、工具书籍,还做了许多明信片、公仔,甚至去丽江画旅游地图。
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!