Language agnostic 从商业到游戏编程的过渡

Language agnostic 从商业到游戏编程的过渡,language-agnostic,Language Agnostic,有人知道如何从商业编程过渡到游戏编程吗?任何人如何开始游戏编程?它似乎更令人兴奋和有回报(报酬也更好?)。但似乎大部分的校外工作都是为了商业编程。关于如何做或是否可以做,有什么建议或见解吗?我也在想同样的事情 我注意到Barnes&Nobles有很多不错的游戏编程书籍,这可能是一个不错的起点 但总的来说,我会开始阅读书籍,也许会编写一些原型,然后开始研究在你的领域有哪些公司,他们使用什么工具,你如何基本上让自己对他们有价值 顺便问一下,有没有人知道有没有类似于魔兽世界/激战在MMORPG游戏开发

有人知道如何从商业编程过渡到游戏编程吗?任何人如何开始游戏编程?它似乎更令人兴奋和有回报(报酬也更好?)。但似乎大部分的校外工作都是为了商业编程。关于如何做或是否可以做,有什么建议或见解吗?

我也在想同样的事情

我注意到Barnes&Nobles有很多不错的游戏编程书籍,这可能是一个不错的起点

但总的来说,我会开始阅读书籍,也许会编写一些原型,然后开始研究在你的领域有哪些公司,他们使用什么工具,你如何基本上让自己对他们有价值


顺便问一下,有没有人知道有没有类似于魔兽世界/激战在MMORPG游戏开发中使用的特定引擎(我的主要兴趣)?

一般来说,进入游戏编程的方法就是开始这样做。即使出现在游戏公司的门口,却没有演示你想让他们付钱给你做什么,这也没有任何意义


如果你是从商业编程中走出来的,那将对你不利,而且还会造成文化冲击。游戏行业依靠20多岁的单身男性运作,他们可以被教育每周工作120小时。如果你是一名优秀的程序员,你可以做到这一点,游戏编程需要更好地了解开发游戏所使用的平台和工具

我认为进入游戏编程行业比进入普通行业要困难得多

最好的选择是创建自己的游戏,获得曝光,如果你足够优秀,你会找到自己的方式


不过有很多真正优秀的竞争对手,只要看看那些提供免费flash游戏的网站,你就可以开始在这些网站上发布你的作品。

我认为这不是一个容易的转变。游戏编程不是一夜之间就能学会的。我想如果你想要的不仅仅是毕业生的薪水,那么入门级就相当高了

很久以前,我在一家从事在线赌博的公司工作。然后我决定要从事更严肃的活动

你真的需要回答一个问题——这是你想要的,因为你喜欢它,还是仅仅因为它现在看起来很有价值。在后一种情况下,你需要明白,你将迎头赶上,没有人能保证,当你获得高技能时,工资将达到你想要的水平

也许可以考虑一些认证/培训,这样你就可以提升你目前在商业计划中的职业地位了吗? 如果这是你真正想要的,那就跟着你的心走吧。表现出你的兴趣和承诺,潜在的雇主会注意到这一点,并且希望你比仅仅因为薪水看起来很吸引人而申请的人更喜欢你


另一方面,业务开发人员/顾问(例如SAP world)赚取了相当丰厚的赎金。

这是一个相当大的转变!思维方式上最大的不同是,从商业世界对抽象的依赖,转移到更加关注目标特定的硬件,并在严格的时间和内存预算内运行。游戏编程更像是嵌入式编程,而不是web编程——你必须考虑所有东西的确切内存占用,CPU时间是非常宝贵的

这甚至适用于MMO服务器程序员,因为a)服务器必须在80毫秒内响应每个客户端命令才能感觉到响应,而b)游戏在服务器上的占用空间越大,你需要购买的硬件越多,这就需要花很多钱

首先,如果你还没有,你就应该学习C++。几乎所有的游戏都是用C或C++写的。游戏机的内存受到严格限制,如果分配的字节超过512mb,速度不会减慢,就会崩溃;同时,通过主应用程序循环的每次行程必须在33毫秒或更短的时间内完成,因此我们不能依赖垃圾收集和智能指针。游戏开发世界是一个特殊的应用领域,你真的需要这样做,这里的人说你再也不需要这样做了

还有,好好学习你的数学。游戏是建立在线性代数和运动学的基础上的——不仅仅是图形,还有世界的状态以及每个角色和对象的行为。我喜欢游戏数学;这是我多年来的圣经(尽管还有很多其他好的)

你可以试着学习一些,但现在这是一种亚专业,通常只有游戏团队中的几个人真正在DirectX调用级别工作。我怀疑你更感兴趣的是游戏逻辑和服务器后端,这是不太专业


做游戏。有许多框架可以帮助您入门。与PyGame或SDL不同,PyGame或SDL可以快速启动和运行,但几乎没有商业支持。我建议您暂时保留当前工作,并找到一个需要帮助的mod团队或开源游戏。试着找到一个看起来很可能创造一个可玩的游戏而不是消失的游戏,我猜它在你的简历上会比一些测试演示看起来更好,因为你可能正在做一些比在家里更先进的事情,这表明你可以在游戏团队中工作

人们进入游戏行业的一个常见途径是从游戏开发团队开始

这些工具通常使用更高级的语言(如C#)编写,用于帮助开发游戏。例如,您可以帮助维护或修改团队内部地图级别编辑器,或者帮助开发转换工具