现在的位置: 首页 > 综合 > 正文

警示!!

2018年05月28日 ⁄ 综合 ⁄ 共 5389字 ⁄ 字号 评论关闭

楼主记住千万不要浮躁,要沉下心来,游戏的本质是什么,是编程,编程的本质是什么,是思想,只有有了一个坚实的基础然后在循序渐进的去找寻你所向往的东西,你真喜欢编程么?如果你喜欢,问问自己几天自己看电影了么,今天自己玩游戏了么,今天自己泡妞了么,今天我看书用了少多少时间,今天我编程用了多少时间,今天我玩用了多少时间,如果说每天的事实新闻你都能说出来的话,我想你没有达到喜欢的程度,如果真喜欢编程就从基础开始,看一门编程语言最好是面向对象的(C学的特别好也可以)《c++ primer》只看语法层次的和通用类库,高级的东西可以先不看,数据结构(记住不管看什么数据结构都要自己写,多写每个算法不写个百八十遍,就能别说你学过数据结构)《数据结构--严蔚敏》《数据结构与算法分析》数据结构这东西要博取各家所长,别说你看完一本书就牛掰了瞎扯,微机原理(必须学汇编Intel和AT&T都行主要是理解计算机执行的过程 16位看《汇编语言--王爽》 32位+保护模式看《80x86汇编--杨季文(好像是这个名完忘记了)》),,操作系统(如果自己能实现一个更好)《现代操作系统》《操作系统的脊髓》《Linux内核完全剖析--赵炯》《Orang‘s一个操作系统的实现 --于渊》 这个是实现 《操作系统的设计与实现》 主要是看 MINIX 这个是大神级别的代码自己慢慢研究吧,《深入理解计算机系统》(如果你学过一上的知识,可以看看这本课外书了)《Unix高级环境编程》《TCP详解》123,《设计模式GOF》,《JAVA并发线程》(这本书主要是让你理解并发线程是怎么回事,别的书也可以),(此后的是我还没看完的)有时间看看JAVA自己实现一个JVM,算法《算法导论》这个是入门别当自己看了算导论就牛逼的不行,其实这个就是入门,数据结构就是个基础,编译原理《龙书》《鲸书》《虎书》,数学《离散数学及其应用》,《概率与数理统计》,《高等数学》,《线性代数》数学这个东西你学完了看你会不用,如果不会用,sorry从新学吧!(如果这基本数学书都会用了OK你编程应该没有问题了,高学术的话还的看你自己研究的专门方向),这些就算是理解计算的基础了。
如果以上的书你都看完了恭喜你,你刚刚入门了,那些在你前面出现了一个更广阔的空间,需要你去学习。

你喜欢编程么,内心问自己,当你还在看电影,看新闻,每天还睡觉到7点(特别提示别熬夜,10前必须睡觉,身体神马的才是革命的本钱),什么也别说,告诉自己我不适合编程。从此回归正常人的生活。

如果你以上能做到,送你读书法则,读书法有三道,心眼口信皆要。宁静而致远。

大五毕业生留。

 

游戏需要的是稳定,画面的绚丽。因此,游戏公司对底层和引擎开发人员的要求很高。

有基础了,然后理解面向对象思想,面向对象主要是能写出灵活扩展,便于维护的代码。
一般进入游戏公司,主要是客户端,服务端开发,底层和引擎一般不会让新手插手,毕竟稳定性必须得到保证。尤其是对于已经上线的游戏。
客户端开发是用UI编辑器,加上一些基础的语法就能完成了。当然,你需要干得漂亮一点,少一些bug。
服务端就比客户端深一点了,会用到设计模式,组件对象之间通信,数据库等东西了。

基础框架属于底层的东西,这个一般是在第一款游戏上线时候,大致上就稳定不会做大的修改了。当然,为了顺应发展,有些模块还是需要扩展和修改。底层开发是最具有挑战性的,面对的是支持高并发,拥有高性能且稳定框架需求。需要的知识很多,COM,设计模式,网络通信,甚至需要汇编。
引擎的话,就需要DX,COM,图形学的知识了。

就如楼上争论的,游戏可能需要一些脚本来支持,但是大部分不会是用脚本来做的。
lua,python等等,这些语言我个人觉得,在字符解析和图像渲染上有优势。
纯脚本的MMOG游戏,基本上找不到。

不要迷信某个人说的,要自己试才知道。脚本语言,是辅助,不是绝对真理。
跨平台工作是个繁重的事情。
C++也垮平台,32位系统的服务器,我用了long,很正常啊。后来发现需要把服务器扩展到64位,于是往64位系统移植,我艹,为什么就这么崩了,为什么玩家数据乱码?
但是为什么64位的winodws下long和64位linux下的long占的字节不一样?怎么移植?

问题多着呢。沉下心学吧。
C++ Primer
设计模式
COM原理
STL
BOOST
网络编程
linux下服务器编程
进程间通信
D3D9

这些就够你好几年学的了。
孩子,加油。

 

看C++primer 完了看DirectX 9.0 3D游戏开发编程基础 封面是龙 龙书!
看完就知道怎么用C++进行游戏编程了

 

我说话可能没有力度哈,不过我就在进行游戏编程,只是能力有限,还不能跨平台.
首先,从大体上讲,游戏有两个部分组成,一是引擎,二是资源.
游戏开发(从0开始)的思路就是,制作引擎,用引擎制作游戏.
而游戏编程首先要从定性开始.
第一步:定性要做的游戏,做足设定工作:
    游戏的核心就是引擎,要为自己的游戏寻找合适的引擎,UDK和3DUity什么的就是一堆别人写好的游戏引擎,有些非常强大,有些非常方便,各有长处,当然,想要完全发挥自己游戏的特性,自己制作一款游戏引擎,是必须的,而定性就成了这部分的问题.
    比如,游戏是个沙盒游戏,那么我们完全没必要考虑剧情什么的,随之发展.如果是网络游戏,还要考虑各个机型之间的调配,当然,也可以选择制作一款万能引擎,游戏出品了,引擎可能还卖得出去.
第二步:完善游戏引擎,全力制作
    一款好的游戏引擎,可能需要好多个部分,因为他就是游戏的核心,包括对资源的控制,与系统的互动.
    这么说太笼统,更细致点说:需要一个模块进行物理模拟,需要一个模块进行渲染特效,需要一个模块实现人工智能,需要一个模块管理数据库.
    这每个模块的功能就不在这里赘述了,长篇大论的没那个必要,而现在重要的就是,一款万能引擎,必备的就是一套简单实用的脚本系统,方便不改动引擎本身的情况下自定义游戏的进行方式.
    游戏引擎的每个部分都要精心比对性能,计算速度等等.
最后一步:组装资源,完成游戏制作.
    利用已经写好的游戏引擎,制作游戏,这步没什么可讲的了.

最关键的部分就在于第二步;
第二步游戏引擎的制作工艺直接影响整个游戏的性能.
这部分涉及的知识嘛,假设你对游戏的要求是完美的:
CPP必然少不了,其实我本人也没有用到什么其他语言,不过有必要的话要考虑用汇编写出一部分.
接下来,要掌握各种库,比如OpenGL用来渲染画面,OpenAL用来输出声音.
基础知识是边用边学的,人工智能,物理计算,高等数学,等等.
还要了解好多著名的算法,比如要想拥有完美的光影效果:光锥算法或者最近发现的沙子-沙漠效应.

总之游戏编程的涉及范围非常广泛,要想做到万事俱备,根本不可能(如果是一个人),所以,有个方向,就开始进行,自己在实践中完善自己的能力,同时自己摸索引擎的概念,理解会更加深刻.

在这里,我给出第一个方向:游戏引擎中用来模拟物理效果的物理引擎.(下一个大概是人工智能)

 

实训看来是做服务器的了,确实啊,如你所说,我是做客户端的,其实界面搭建倒是很快,主要也就是逻辑的编写,游戏编程这个东西,真的是喜欢就自己下别人的游戏源码来看,看功能怎么实现的,项目驱动型学习是很快的。客户端和服务器都可以看,可以精通一方面就行了。

 

现在中国紧缺这方面人才。工资也是很高的。
c++因为比较难,往往比同等级程序员工资要高很多,而游戏这方面人才又少,就更高了。。
这是我学习C++的步骤,希望对你有帮助。。
《C++ Primer (3RD)中文版》   页数: 1033
《数据结构算法与应用C++语言描述》   页数: 535
《深度探索C++对象模型》 Inside The C++ Object Model   页数: 360
《Effective C++:改善程序技术与设计思维的55个有效做法(第三版)(中文版)》  页数:336
===================================
《Windows程序设计第五版》  作者:Charles Petzold    页数: 1346
《计算机图形学基础教程(Visual C++版)》   作者:孔令德    页数: 228
《WINDOWS游戏编程大师技巧(第2版)》  作者:Andre Lamothe  页数:807 
《DirectX 9.0 3D游戏开发编程基础》  作者:Frank D.Luna    页数:373
以上这些只算入了门而已。。。我觉得学完这些,基本上可以找工作了。。当然最好自己做一个demo出来。。

其实现在很多人都有个误区,认为自己只要努力学习,就一定能学好。。。
错。。其实当年我也这么想。现在想想,觉得就是闭门造车。。你就算学的再好又怎么样,没有动手能力,到了公司一样什么都做不出来,所以我推荐,把基础打好,。。之后。出去工作。可以这么说,你在工作中学一年,可能顶你在学校学3年。。。实践才是硬道理啊。。。

基础一定要打的非常扎实。所谓基础,就是数据结构+算法。。
编程到了最后,往往很难提高了,到了个瓶颈。这个瓶颈的高度,是由你的基础决定的。。。所以现在很多公司,都只要数据结构和算法比较扎实的人,就算没经验,OK,培养你。。。。因为基础扎实,学什么都快。。。
我要是你。我宁愿花一年时间把数据结构和算法打扎实。。然后再接触windows编程。。。。
 
如果想从事游戏编程的话,学习一些图像编程是必须的,数据结构要求也比较高。还是先把API,MFC学好了再说吧。
 
2,3,4F都说的很对,
我也觉得MFC可以跳过不学了,MFC据说是已经被抛弃的东西了。。

可以直接学DirectX,但是需要有一些高等数学和计算机图像学基础

汇编语言也可以学习一下
 
 
C++效率高,游戏一般需要运行的非常快,其它语言都不如C++编写的程序快,所以一般用C++编写游戏的表现效果是最好的,所以你的选择很对,当然现学JAVA游戏编程也很好的。

搜索学习编程最重要的是有恒心,多积累经验,多自己尝试编些东西,你上面写的东西说明你已经有了很大的决心,这点很可贵,学习过程中有困难是肯定的,但我凭上面你说的相信你会成功的,建议如下:

找本C++教材,先自己看,推荐
钱能. C++程序设计教程. 第一版.清华大学出版社
然后再学一下VC++,再自己试着多编一些东西,编程最重要的是积累经验。
 
写游戏主要是理解面向对象,OOA,OOD,设计模式 和算法设计,特别是游戏中设计到的各种寻路算法,等等。! 完成了上面两步工作,有空再多看看面向对象编程和设计方面的书籍,UML,设计模式类的书籍,再专门找些游戏编程的书经常研究,你就完全可以从事软件开发这个很有“前途”的职业了

Visual C++游戏编程人员至少要会的: 
c++语言的语法,标准库 
会使用VC, 
了解DirectX编程. 
下面的多多益善: 
软件工程,会用某个源代码管理工具(VSS SVN什么的) 
数据结构和算法,游戏编程对效率比较关心。 
英语, 许多好的资料都是英文的。 
经验, 这个最重要。

再给你介绍一些网站能找c++游戏编程的资料:

游戏制作人的网络平台www.gameres.com 
中国网游研发中心www.ogdev.net 
购买游戏编程书籍的专业网站www.dearbook.com

http://zhidao.baidu.com/question/4986190.html?si=10
学一个月,可以用VC写一些小程序自己玩玩 
学两个月,可以用VC写像样点的东西在周围人面前炫炫 
学三个月,可以用VC给老板开始干活了 
学六个月,开始重头去学C++ 
学一年后,决定要不要继续,if(继续) 学习MFC、ATL、STL、C#、BCB、Network、Databa 
se、Algorithm... else开始就是个错误 
学三年后,学会怎么来用编程语言来解决问题,VC、BCB等都只是解决问题的工具。这时候 
你如果还在学C++,你可以从事软件开发这个很有“前途”的职业了 

学习C++基础然后到掌握C++游戏编程 这个过程要多久时间?
这个问题并不能给出明确的回答,因为学习这东西因人而异,如果你是很认真的学,作为正常人,2至3个月,可以在这个语言入门了(是指语言的基本用法,不包括界面之类的东西)。
但是要游戏编程,你得先学windows编程,例如MFC(据我所知,暴雪的魔兽世界也是以MFC为基础编写的),但是游戏里面使用了大量的DirectX的函数,你还得花上两个月的时间去学习DirectX编程。总体上需要的时间是8个月到一年。还有就是你一定要懂得一些基本的算法和数据结构。

推荐《windows游戏编程大师技巧(第二版)》和它的下卷《3D游戏编程大师技巧》。作者讲的比较浅显易懂,而且风格也比较幽默。

opengl和directx都是标准,计算机图形api的标准,和有没有硬件加速无关
opengl是The Industry's Foundation for High Performance Graphics,公开标准,很多公司共同参与的
directx只有微软参与,而且只能在微软的平台上运行
PC游戏越来越趋向directx,主机还是趋向于opengl es,其实说白了这2个没很大差别,学习的话directx资料多点,sdk也很好用。

顺便说一下,游戏的主流运行环境不是windows,是主机。

 

抱歉!评论已关闭.