作为一个开发游戏的程序员应该专注哪些技术

作为一个开发游戏的程序员应该专注哪些技术,第1张

技术很多了,没有一个人是可以精通所有知识的,都是侧重某一领域。
你如果是游戏客户端开发,面向对象语言比如Java,c++要至少精通一门
游戏服务器开发的话大部分是c++,php,Lua等
侧重游戏美术的话学习shader编程,
游戏优化的话学习游戏打包,图形的处理,这就涉及directx,OpenGL等东西了
游戏服务器大多是Linux环境,你还要学习Linux编程

首先是世界上大多数计算机都采用的是unix、linux,尤其是一些科研机构、大型公司的工作站和服务器,还有很多的手持移动设备、工业控制设备都是用的linux,而windows仅仅垄断了个人电脑,所以linux在数量上占绝对优势,其次linux的开源性也使得许多的程序愿意花更多的时间去在linux下开发软件,而且linux有更好的安全性,是服务器的主要应用者,况且,熟悉linux的人并不多,从而竞争者也会很少

第一:明确学习目的
逻辑思维学习编程对多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
第二打好基础,学好基础知识对我们开发也很重要学编程要具备一定的基础,总结之有以下几方面:
首先是数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
其次是逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。最后是选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
第三:注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
第四:掌握编程思想,编程思想使用较多的就是oop编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程;学习 COM 就要知道VTALBE 、类厂、接口、idl,关键是学一种思想,有了思想,那么我们就可以触类旁通。
第六:多实践、多交流,一切思维来自项目开发的积累
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
第七:养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。

网游分端游和手游。端游我不是很清楚。手游的话前后端基本都是用windows开发,因为配套的软件工具多。但前端通常会配备一台mac来打ios的包,同时用来调试ios包;后端的服务器程序通常部署在linux下,故会有虚拟机架设对应的linux系统来调试,甚至直接在线上调试。前端多数用coco2dx、u3d这些,但由于需要支持安卓和ios,java和object-c也是要懂一些的。后端多数用java+nodejs或者C++ + lua,也有用erlang的甚至纯c++,还有很多小众的就不说了。手游团队一般前端6人后端3人。需要稳定、架构成熟、团队稳定情况下3个月可开发一款游戏,但通常都达不到这样理想的状态。通常公司会根据项目紧急情况来分配人员,部分创业公司团队可能更小。

1、负责研发公司应用软件的模块设计、开发和交付

2、负责编码,单元测试

3、按照功能组件的详细设计

4、对其他软件工程师的代码进行审核

5、参与新知识的学习和培训

6、修复程序BUG

7、参与与其业务相关的需求变更评审

8、完成上级交办的其他事宜

9、编写技术设计文档

Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[1]。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点[2]。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等[3]。

JDK(JavaDevelopmentKit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一些Java工具和Java的核心类库(JavaAPI)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK[13]。

另外,可以把JavaAPI类库中的JavaSEAPI子集和Java虚拟机这两部分统称为JRE(JAVARuntimeEnvironment),JRE是支持Java程序运行的标准环境[14]。

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可[15]。

估计,大部分阅读本文的程序员都是坐在敞厅的隔断里编程。这种工作环境是最节省空间的,但未必是最节省工作能量和注意力的。程序员不喜欢开放式办公室,因为开放式的办公室嘈杂,极易发生各种干扰事件。而程序员最害怕被打搅的职业人群。但独立办公室并不是每个人程序员都能有资格享受的。虽然坐在嘈杂的敞厅的隔断里编程、甚至加班,但工作还是要按时完成。努力吧,等得到了老板的赏识,你自然会有一个稍微独立、安静的办公室。
虽然吃不着猪肉,我们还是可以看看猪跑的。下面就在网络上搜集的一些国外知名程序员的办公桌的样子,都很不错,将来要是做了公司首席计算机科学家,也参照他们的办公桌设计一个。呵呵。
Ilya Grigorik: Google 工程师。
Alex MacCaw: JavaScript 程序员,O’Reilly 作者,目前在 Stripe 公司工作。
Sam Soffes: iOS 和 Rails 软件工程师,Synthetic 前雇员,目前在创业。
Max Howell: Homebrew 的作者。
Scott Hanselman: 微软工程师。
Jeff Lindsay: 开源黑客,Hacker Dojo 创始人,目前在 Twilio 工作。
Dr Nic Williams: 每个 Ruby 社区的人都应该听过或看过他的作品,贡献了超过100个开源项目,目前在 Engine Yard 工作。
Phil Haack: 前微软 ASPNET 程序经理,目前在 GitHub 工作。
Michael Bleigh: 开发了几个被广泛使用的 Ruby 开源软件库。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13124369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-05
下一篇 2023-06-05

发表评论

登录后才能评论

评论列表(0条)

保存