热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

游戏开发(程序)职位招聘的一些感受和经验

可以这么说,游戏开发行业中,是一个技术高手绝对能成功的地方,比起mis,外包等等,只要你足够强,一定能混得很好。一般国内现在大多数大大小小的游戏开发公司,类型也很多,有的做网游,有的做手游,有的做we
可以这么说,游戏开发行业中,是一个技术高手绝对能成功的地方,比起mis,外包等等,只要你足够强,一定能混得很好。一般国内现在大多数大大小小的游戏开发公司,类型也很多,有的做网游,有的做手游,有的做web game,有的外企做console移植等等。去干哪一行看个人兴趣,但我个人更建议毕业生去做大型3d网游。
    因为大型3D网游是可以说是游戏软件中乃至计算机软件中最为庞大复杂的系统了,去做这个,能够得到很好的学习机会和经验。在这中,主要分为客户端和服务端,这个完全看个人兴趣,如果你喜欢服务器技术,服务器集群呀,数据库技术等等,就做服务端,一个产品上市了,你就会有掌控世界的成就感。如果你更喜欢图形学,3D引擎技术呢,那就去做客户端,去沉浸在形形色色图形中。两者都很有前途,而且大型3D网游戏现在往往少于几十个人很难干成,门槛高了,这样呢,你就有机会接触到大型开发项目的开发流程。相信我,国内做纯大型软件项目的公司不多,金山,用友,还有就是广大的游戏软件公司了。
    我的经验只是针对刚想入行的毕业生,说说一般入这行的应聘经验吧。
    1)国内普遍大学没有游戏专业(别跟我提游戏学院),现在大多游戏公司都是从正规大学招的程序员来进行开发,所以对于毕业生,最多有些图形开发或数据库开发的小基础,或者只有写过一般项目的基础,所以公司非常注重你的专业基础。
    2)c++,实时图形渲染技术发展到现在,计算机的处理能力也不足以实时渲染照片级的东西。所以很多底层的引擎都是用C++写的,因此,不要总认为c/c++过时的说法,在游戏界不存在,即使现在很多游戏都越来越多的用到了各种脚本语言,如python,lua等,c++仍然是基础,必须扎实,而且我觉得精通了c++之后,理解java,c#等都没有任何问题。很多手游公司虽然用java,但如果你会c++而且很扎实的话,却不会java,一般都也都会用你的。
    3)做服务器端的,最好了解并发技术,集群,分布式(未来的趋势),计算机网络知识一定要清楚,理解,对一般数据库开发和设计也要了解。
    4)做客户端和3D引擎的,最好能有图形开发基础,熟悉一种底层api,如dx或opengl,不一定非要dx,只要你对渲染管线有足够的理解就好。
    5)带着你的作品去面试。应聘游戏程序员,有一个成品是再好不过了,你也许可以自己做一个小游戏,图形开发中的一个新算法的点子demo,一个小型网络引擎,一个3d引擎,ui引擎,记住,这会极大的增加你机会的砝码!
    6)带着对游戏的热情去,我想,想做游戏的人一定对游戏喜欢,才会去做,虽然对于程序员来说,对游戏本身的了解不如策划,美术那样重要,但也一定要了解游戏,懂游戏,愿意把开发游戏当成自己的乐趣。
    最后,说一下,游戏程序员中,只要你努力,足够强,一定能成为受人崇拜的技术大牛,也许以后某个著名游戏的主程序就是你。三脚猫技术的人,千万别在这里混,这里不适合这样的人。在单机游戏产业在中国死去后,网络游戏在中国已经是gov不敢忽视的重要产业,看看现在中国互联网的前10大上市的公司吧,这是一个朝阳产业。尽管对网游也时有非议,但对于以爱妈技术的人来说,网络游戏比单机游戏无论从技术规模还是市场规模都大得多,何尝不好呢?

69 个解决方案

#1


补充,去干游戏开发的另一好处,大多游戏公司中美术部门的人数都占到50%左右,而且能够有很多机会接触到策划和美术的人,而美术部门的mm很多哦,好处,对于以光棍男性为主的程序部,好处不用我说了吧?

#2


说的不赖 

#3


支持一下

#4


说的不赖

#5


这位大哥说的实在

#6


心动

#7


呵呵。我做游戏行业1年了。

#8


看的我热血沸腾 本人就想一门心思学好c++ 该如何学呢 想自己能做出小游戏

#9


我对此有相同看法。

#10


刚刚毕业,什么经验都没有
毕业设计尝试过用java做个地图编辑器,仿做《rpg游戏制作大师vx》的
做完后,感觉算法不过好,而且效率比《vx》差太多了
这样的我,就算去了游戏公司,人家也不会给我参加大型项目吧。。。

#11


哈哈,游戏公司确实能学到很多的技术

#12


学习

#13


看看而已。。。

#14


一大学本科生……看的迷茫,觉得自己啥也没学着……

#15


引用 1 楼 lencil 的回复:
补充,去干游戏开发的另一好处,大多游戏公司中美术部门的人数都占到50%左右,而且能够有很多机会接触到策划和美术的人,而美术部门的mm很多哦,好处,对于以光棍男性为主的程序部,好处不用我说了吧?


这个比较实在呀,哈哈

#16


我正在做打麻将的游戏。。。

#17


哈哈,以前做3d,现在做2d。。。正在郁闷中,2d的性能要求要低好多啊。。。

#18


路过,看看

#19


说的好~~~~

#20


 艾
 想当初要不是听xxx说jsp 流行,我就是C++程序员了阿
  java 要学的东西太多,太杂

#21


楼主写的很好啊!赞一个

#22


引用 10 楼 j1223jesus 的回复:
刚刚毕业,什么经验都没有
毕业设计尝试过用java做个地图编辑器,仿做《rpg游戏制作大师vx》的
做完后,感觉算法不过好,而且效率比《vx》差太多了
这样的我,就算去了游戏公司,人家也不会给我参加大型项目吧。。。

对于毕业生来说,已经很不错了,只要老板想可持续发展,就不会忽视你的,就算刚进去不会参与大项目,你才刚毕业,得陪养几个月,在中国游戏业这样一个朝阳产业来说,有的是机会,如果你等到你参与的游戏运营的时候,看着玩家的反应,不论是赞得还是骂的,都有一种很美妙的感觉。

#23


1楼的观点独到啊

#24


不过好像美工MM不太看得上开发GG~~

#25


想请教一下前辈:
一个小型网络引擎,一个3d引擎,ui引擎,这些分别涉及到哪些技术(用什么语言或是算法或是相关的技术)
小辈大三,c++还行,用opengl做过小东西,现在在学python
谢谢指导

#26


引用 25 楼 luxiaoxun 的回复:
想请教一下前辈:
一个小型网络引擎,一个3d引擎,ui引擎,这些分别涉及到哪些技术(用什么语言或是算法或是相关的技术)
小辈大三,c++还行,用opengl做过小东西,现在在学python
谢谢指导

基本现在引擎部分用c++语言的多,主要还是c++硬编码的运行效率高,附加一些脚本语言写游戏相关的部分逻辑内容
其实用的技术挺散,很麻烦,架构很重要,楼主可以找找书,我用ui引擎比方吧
首先,需要写个抽象的2d渲染器接口,这样就可以很容易的和其它3d引擎啊,其它2d渲染器如gdi,ddraw,opengl等结合了,这是第一步
第二,构建你的ui机制,一般都是采用委托,消息事件机制,并且把他实现
第三,资源管理,这是最麻烦的,你需要管理你的图片资源,定制ui窗体资源脚本格式,还要管理字体,对了字体渲染也很重要,不过有很多现成的东西,比如dirctx里提供的就不错,但要是跨引擎,跨平台的话,freetype很不错。
第四,写控件,把一些常用的控件实现
第五,写个好用的界面编辑器吧,这个对于提高策划美术的工作效率太重要了。

3d引擎就相对麻烦些,主要是渲染器(最好也抽象成接口,方便以后移植,比如从dx9移植到dx10,或是opengl),场景图(用到一些空间数据结构,如八叉树,bsp等,一般图形学的书上都有),地形系统,动画管理(顶点动画啊,骨骼动画呀之类的),粒子特效管理,资源管理,是不很麻烦?此外,3D引擎必须写很多工具,动画编辑器,场景编辑器,地形编辑器,模型动画3ds导出插件啊,etc............

还有就是网络引擎,你要定制一个可供开发人员方便开发的网络接口,基本上你要封装的好点,就差不多实现了一个web service了。用了点点滴滴的技术,此外,还要数据库开发部分,做得牛点,做成分部式的。

然后就是服务端和客户端的游戏程序架构了,搭好这些架子,集合程序人员,策划人员,美术人员就可以协调开发了。

先说这么多吧。

#27


引用 24 楼 zhlwzhlw 的回复:
不过好像美工MM不太看得上开发GG~~

即使看不上也比没有好,至少有mm可看吧.也可调节平淡的工作气氛.

#28


引用 26 楼 lencil 的回复:
引用 25 楼 luxiaoxun 的回复:
想请教一下前辈: 
一个小型网络引擎,一个3d引擎,ui引擎,这些分别涉及到哪些技术(用什么语言或是算法或是相关的技术) 
小辈大三,c++还行,用opengl做过小东西,现在在学python 
谢谢指导 

 
基本现在引擎部分用c++语言的多,主要还是c++硬编码的运行效率高,附加一些脚本语言写游戏相关的部分逻辑内容 
其实用的技术挺散,很麻烦,架构很重要,楼主可以找找书,我用ui引擎比方吧 


谢谢指导

#29


引用 26 楼 lencil 的回复:
引用 25 楼 luxiaoxun 的回复:
想请教一下前辈: 
一个小型网络引擎,一个3d引擎,ui引擎,这些分别涉及到哪些技术(用什么语言或是算法或是相关的技术) 
小辈大三,c++还行,用opengl做过小东西,现在在学python 
谢谢指导 

 
基本现在引擎部分用c++语言的多,主要还是c++硬编码的运行效率高,附加一些脚本语言写游戏相关的部分逻辑内容 
其实用的技术挺散,很麻烦,架构很重要,楼主可以找找书,我用ui引擎比方吧 


感觉好多技术...哎,路途遥远啊

#30


good

#31


看到一点希望.

#32


不会是一个人干那么多吧。 应该是每个人管一部分吧。

#33


受教了~~

#34


个人向往这个方向发展 ,最近也比较迷茫,多谢lz有这份心思来指导。
最近在看3d数学基础,兼学习opengl,痛苦而快乐着。

#35


mark...

#36


好想做游戏开发。。。

#37


毕业第一份工作就是做游戏,开始自己做过2D图形引擎,后来参加过一个3D引擎项目开发,但最后夭折了,所以对lz提到的技术了解一些,但不是很深刻,像场景分割,碰撞检测,地形,离子系统等都做过一些。再后来换了工作,从事通讯软件开发。现在想想还是对做游戏感兴趣。看了楼主说得这些技术,不知道这些技术要了解到什么程度才能进入游戏公司?感觉现在游戏公司很多,但大多数都比较小,还在开发没有产品发布,所以选择什么杨的公司还是有风险的。

#38


挺好的

#39


有点意思.

#40


lz,  我是垃圾大学的大专学历,会些c++,我要是做游戏开发会要我吗

#41


强贴 。留名。

#42


我觉得楼主说的很有道理,尤其是2楼的补充,简直是画龙点睛的一笔,PFPF!

#43


mark

#44


顶楼主的 一直对游戏开发有兴趣 特别是图形引擎这块
可惜 应届 做了几个小游戏 还在找工作ING~~

#45


游戏其实要求也不高,主要是看公司愿不愿意培养
了解点c++,sql 就可以做服务器了

#46


引用 1 楼 lencil 的回复:
补充,去干游戏开发的另一好处,大多游戏公司中美术部门的人数都占到50%左右,而且能够有很多机会接触到策划和美术的人,而美术部门的mm很多哦,好处,对于以光棍男性为主的程序部,好处不用我说了吧?
这条最实在

#47


楼主所说的正规大学指的是什么?我是读自考的,专业是游戏软件开发技术。不知道以后是否适合也去找个游戏程序设计的工作?

#48


90后飘过..

#49


美工MM

#50


补贴的最吸引人了

推荐阅读
  • 阿里面试题解析:分库分表后的无限扩容瓶颈与解决方案
    本文探讨了在分布式系统中,分库分表后的无限扩容问题及其解决方案。通过分析不同阶段的服务架构演变,提出了单元化作为解决数据库连接数过多的有效方法。 ... [详细]
  • RocketMQ在秒杀时的应用
    目录一、RocketMQ是什么二、broker和nameserver2.1Broker2.2NameServer三、MQ在秒杀场景下的应用3.1利用MQ进行异步操作3. ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文对SQL Server系统进行了基本概述,并深入解析了其核心功能。SQL Server不仅提供了强大的数据存储和管理能力,还支持复杂的查询操作和事务处理。通过MyEclipse、SQL Server和Tomcat的集成开发环境,可以高效地构建银行转账系统。在实现过程中,需要确保表单参数与后台代码中的属性值一致,同时在Servlet中处理用户登录验证,以确保系统的安全性和可靠性。 ... [详细]
  • Juval Löwy主张,每个类都应被视为服务,这并非是为了让服务无处不在,而是因为微服务是经过深思熟虑后系统分解的自然结果。在他的设计和构建的系统中,这种理念有助于提高模块化、可维护性和扩展性。通过将每个类视为独立的服务,系统能够更好地应对复杂性,实现更灵活的部署和更高的性能。 ... [详细]
  • 回顾过去十多年的开发经历,我在技术能力、培训机会、国际视野以及大型企业的工作经验方面都有了显著的提升。特别是从最初的月薪8k到如今的38k,这一过程中,我深刻体会到系统化学习对提升架构能力的重要性。最初踏入职场时,面对众多未知,我主要依赖团队领导的指导,专注于编写代码、管理数据库和进行测试。随着经验的积累和技术的不断进步,我逐渐意识到,只有通过系统化的学习和实践,才能在技术领域取得更大的突破。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 基于试题数据的智能化管理平台采用Java语言进行面向对象编程,旨在构建一个高效的试题信息管理系统。该系统在JDK 6.0和MyEclipse 10.6环境下开发,通过优化试题数据管理和处理流程,提升系统的稳定性和用户体验。平台支持多用户操作,具备强大的数据处理能力和灵活的扩展性,适用于各类教育机构和考试组织。 ... [详细]
author-avatar
蔡蔡蔡蔡贝特
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有