游戏程序员的工作是怎样的？
谢邀。 1.现在编那些动辄几十个G的游戏和以前编DOS游戏的方法是一样的吗？是原理不同还是原理相同只是工作量变大？ 没有写过DOS游戏；现在游戏大主要是因为美术资源量大：模型复杂，贴图精度高，动作丰富，特效绚丽等。代码量再多也不会导致游戏包大到哪里去；现在游戏和以前的游戏有一些不同，现在游戏基本上都基于一款引擎来制作（例如OGRE，寒霜，CRY，虚幻，U3D等引擎），也就是说已经有一些常用、公用的东西（渲染，物理，动作等）被从游戏逻辑里抽离出来了。这样游戏写起来反而更容易一些，生产力一直都在提高嘛。想了解引擎的话，推荐看一看《游戏引擎架构》 @Milo Yip。 2.从事这行在现在的高等教育中最对口的专业是哪些？程序猿当然是计算机最好了，另外通信，自动化也可以，也有很多学生物化学的同学凭借毅力转到这条路上来，当然那更辛苦了。最重要的相关知识有：用到的计算机语言，算法与数据结构，设计模式，图形学等…当然要增强内力的话要学的更多更深。技术美术的话，还需要一些懂一些美术工具，例如3dmax，Maya等，ps会的话更好。 3.具体工作个人先按自己的经验分一下游戏前端的工种（同行请轻拍）：引擎程序，游戏底层程序，战斗程序，上层逻辑程序； 引擎程序：主要有3大主要业务：渲染，物理，动画。几个分支业务：音效，地形等……例如渲染来说，从像素开始，向量，矩阵，导入模型，摄像机各种矩阵计算（旋转，位移，缩放），各种模型填充方式，材质，光照模型等等。——这一部分的工作大部分都被商业引擎做完了，少数大厂会养一些大牛来维护自研引擎。 左图是你眼中的游戏；右图是引擎程序眼中的游戏； 游戏底层程序：具体业务具体办——例如实现前端数据的存储，需要研究xml，binary，excel表等东西怎么读，怎么写（核心3~5千行），读写工具最好自动生成（代码生成代码）；例如实现与服务器通信的逻辑，需要知道TCP/IP，协议最好自动化生成（代码生成代码），怎么加密解密等（核心3~5千行）；例如实现资源打包，需要思考怎么压缩资源，怎么解压资源，怎么从服务器下载资源，存放在哪里等（核心3千行）。——一般是主程做这些工作。 看见右下角的24%(7103.3kb/40759.0kb)没有？资源的打包，压缩，下载，存储，以及版本管理，可能就是一位底层程序大叔好几个月的心血。 战斗程序：和策划讨论好需求后，写角色的身体控制，特效控制，动作控制，封装出技能，然后实现AI；然后从角色派生出主角，NPC，怪物，宠物以及各种小物件等东西，然后写一下摄像机的镜头控制（共3~8万行）。当然，最好写一些编辑器让策划去使用，或者指定好表格结构告诉策划怎么配置，以达到他们的需求。——一般是核心元老程序做这些工作。 流畅的动作，顺滑的操作，这样的高水准战斗控制没有一位战斗程序大牛是不可想象的。 上层逻辑程序：与策划讨论需求，确定需求后消化之，然后确定表格结构，确定数据存储结构，确定网络协议，用已经写好的工具生成一些基础代码，然后就是编码实现各种逻辑（普通功能3-5千行），再把相关的UI的按键，效果写完（普通功能1-2千行）。例如实现一个铁匠铺，定好哪些是材料（铁锭），哪些是产品（铁锤），然后按什么逻辑从材料到产品，向服务器要哪些数据并告诉它存哪些东西，最后把UI的按钮以及效果写完。——界面可能改动量非常大，仔细认真的工作态度很重要。 国内大多数游戏，尤其是策略型网页游戏，都有着复杂的游戏界面，像这样一个繁杂的界面，玩起来觉得容易，但是做起来是不简单的。 以上工作统称为游戏前端，仅是大型网络游戏的1/2的工作量，除此以外还有一半是后端程序员，后端本人不熟，还是让有经验的同学来回答吧。