欢迎光临【多玩游戏注册登陆】-首页网站!
公司名称:多玩游戏开发注册公司
公司地址:辽宁省鞍山市多玩游戏注册集团
公司邮箱:679596@qq.com
公司电话:400-123-3356
招商QQ: 679596
公司网址:http://www.hlxlzsm.com
新闻动态您当前的位置:【多玩游戏注册登陆】-首页 > 新闻动态 >

摩登注册登陆

更新时间:2020-04-26 15:40

  

  摩登注册登陆大主管:【QQ679596】【微信kcwl996】各位前辈您们好!我是大一计算机专业的学生,对游戏开发比较有兴趣,最近刚看完《c++ primer 5th》,希望通过实践进一步学习编程。 提问之前查阅了知乎上一些关于游戏开发的问题,对游戏开发有一些模糊的认识。准备从directx和cocos2d入门,学习《游戏引擎架构》和《introduction to 3d game programming with directx11》。在这里想向前辈们问以下几个问题: 1.如何系统地自学游戏开发? 2.自学游戏开发应该自上而下还是自下而上…

  学计算机的并且玩游戏的同学都或多或少的想过这个问题, 我个人也是从大三才开始下决心去做游戏, 在学校里这个选择绝对算是个非主流. 当时正好在学习图形学, 就课余自学了Win32+DirectX9来做课后作业, 后来选修了数字图像处理, 这对之后我做引擎相关的开发帮助挺大的. 进入游戏行业是靠一个前辈的内部推荐, 得到一个实习机会, 在工作中边学边做, 剩下的时间就自己看书学习, 并把一些心得写在了个人博客上. 我的博客已经持续更新了近十年了(之前不在CSDN), 可以说记录了我从学生时代到一个合格的游戏程序员的过程, 题主可以参考一下:

  如果现在再去反思一下, 其实一直以来是靠摸索着前进的, 而且走的路严格来说并不是偏游戏, 而偏是技术, 或者说我在玩技术的同时顺便做游戏. 每个人兴趣和经历都不一样, 我的经历并不能当成参考书, 下面理性的提供一些分析.

  游戏开发其实也是分成几种的, 很多人都是身兼多项角色, 大概分一下类:

  1. 玩法程序员: 这类程序员更加接近游戏的本质: 好玩. 所以, 需要对游戏玩法本身有着比较深刻的了解. 平时工作与策划(游戏设计师)紧密相关, 如果连他们的需求都看不懂或者理解错误的话, 做出来的东西很可能要返工. 当然, 鉴于游戏设计是一个不断打磨优化的过程, 所以玩法需求会经常变动, 导致程序也要不断地调试重构甚至重写. 另外, 不同游戏玩法在程序实现上的差异巨大, 所以针对不同需求进行建模的程序设计能力是需要长时间的积累和学习的, 所以建议尽量主修一种玩法.

  2. 引擎程序员: 这类程序员更加喜欢技术, 而游戏引擎涉及的计算机技术非常广泛, 几乎能覆盖所有你能接触到计算机学科. 所以说, 这方面对于理论基础要求非常高, 需要不断地去学习. 图形, AI, 动画, 物理, 特效, 交互, 网络等, 每一部分能精通已是不易, 所以一个人写一个引擎是不现实的. 卡马克都说了, 造火箭比写引擎容易多了-_-但是这些技术能够掌握一两种, 就可以成为游戏程序员的核心竞争力, 所以看个人兴趣选择性的深入学习是一个比较好的方式.

  3. 后台程序员: 国内的游戏都是以网络多人游戏为主, 所以游戏服务器技术说是世界领先也不为过. 由于很多网络游戏的开发分工比较专业化, 通常会分化为前台程序员和后台程序员. 后台服务员通常都是命令行式的工作界面, 以linux, 数据库, 网络, 分布式, AI, 安全等做为技术基础, 技术的更新没有前端变化快, 可以不断地积累经验, 但是与游戏制作的关联相对少一些.

  4. 工具程序员: 其实就是把游戏开发过程中的各种浪费时间的, 重复性的劳动工具化, 提高制作和开发的效率. 很多工具是游戏引擎的一部分, 但是引擎提供的功能一般是通用的, 针对特定游戏玩法会有特性的工具. 这类程序员需要对游戏的制作流水管线比较了解, 善于发现制作瓶颈, 并使用程序制作工具来优化制作流程.

  5. 技术美术: 其实一般会把TA(Technical Artist)划入美术分类中, 但我也见过一些喜欢图形和美术的程序员转职成技术美术. 这个角色在3D游戏项目中非常重要, 因为很多玩法程序员对美术制作和3D引擎并不是很熟悉, TA相当于两者之间的桥梁, 能够在理性与感性之间做出平衡. 所以技术美术不但需要了解图形渲染和引擎技术, 更需要掌握制作流水线, 动画特效, 概念设计等, 基本上算是综合能力的一种体现 .

  6. 主程序: 一般会把主程序视为所有游戏程序员的Leader, 都是经验丰富的程序员担任. 通常会设计程序的架构, 并兼一定量的项目管理. 技术上不一定是最强的, 但一定是让大家信服的. 更详细的介绍可以参考顾老大写的:

  7. 还有一些更加专业化的分类, 如测试开发, 运营开发, 国际化开发等, 不做展开了.

  相信上面的介绍能让题主了解到一些游戏开发所需要的技能, 那么回到正题:

  我的建议是先学习使用成熟的游戏引擎, 自己或者组队制作几款小游戏, 把游戏开发所涉及的各种知识有个概念上的了解, 再选择自己感兴趣的深入学习. 当然, 主修游戏玩法也可以, 在不断地优化和提升的过程中, 肯定会遇到技术瓶颈, 那时候就有学习和改进的动力了.

  虽然我自己是自下而上的, 但是我更建议自上而下. 因为自下而上的话, 更多的是在学习底层技术, 却与游戏相关性不大. 很多人可能很想做游戏引擎, 但是不了解游戏的人做出来的引擎是没人用的, 建议还是先对游戏制作的各方面做一下了解, 再去学习会少走很多弯路.

  3. 建立在有足够的耐心逐步学习的基础上,应该先打好图形学基础再开始游戏开发吗?

  图形只是游戏的一部分, 不是游戏的全部, 而决定游戏画面好坏更多的是美术而不是程序. 而且图形做到后来会极大地依赖数学, 我个人就是因为这个限制住了提升空间. 不只是图形, 计算机的各科课程在游戏开发中都会用到, 理论基础都很重要, 这决定了你之后能够达到的高度.

  4. 最重要的一点: 对游戏有爱. 我很崇尚兴趣是最好的导师, 只要有热情, 其它都是可以克服的.

  所以, 建议题主好好学习课程理论, 课余再自学游戏开发. 大公司会比较倾向于理论基础好的毕业生, 小公司会更看重作品. 有几个出色的小游戏的话, 在找工作时会有不少的加分.

  基础的程序算法和原理,然后学习dx的2d编程,写个小程序,包含一些简单的图像处理的函数,从放大缩小到旋转到色相处理等等,能将多个图像系统的组合处理的。例如控制一个小人在屏幕上移动,能发射直线的子弹,子弹打到墙上会消失等等。

  之后找一个小游戏,例如网上各种flash小游戏(因为可以直接反编译里面的资源出来用,方便),防照一个写出来。写的时候可以先用暴力方法写,然后再转换成面向对象的写。例如我当时就抄了一款打地鼠游戏来练手了,里面有20多个关卡,有不同ai的地鼠和boss,还有道具商店和秘籍等等,都全部完完整整的写了一遍。简单点的话不妨写一个flappy bird也不错啊。

  最后咯,就开始进军3d了,当年有两本很出名的书的,不过名字我忘记了,叫什么windows游戏编程啥的,一本是2d一本是3d的,其中3d那本是从3d图像基础原理开始教起的,挺有意思的,现在很多3d开发教程都只是直接教你用api。

  之后同样也是自己动手写一个游戏,不过这次可以自己去想一个简单的游戏去写了。途中可以考虑一下某些游戏的玩法是怎么写的,因为我当时写的是一个很挫的格斗游戏,但里面思考怎样去写两个技能碰撞的,写拳王式的搓技能,dnf式的技能中断,都是很有趣的事情啊。

  以上都谈不上很系统的学习,都是些很笨的学习过程,毕竟是自学的,身边也没有学习编程的朋友,仅当经历而谈。

  不过话说现在都是各种引擎了,这种费时费功夫的基础活估计都没多少人会去做了。

  ps,做游戏首要的是真的实践了做出来,别像最近知乎上某个说做了独立游戏两年未果怎么办的问题,连游戏都拿不出手就喊可怜的就好了。

【返回列表页】

地址:辽宁省鞍山市多玩游戏注册集团   电话:400-123-3356    传真:+86-123-4444
Copyright © 2002-2025 【多玩游戏注册登陆】-首页 版权所有 TXT地图 HTML地图 XML地图 招商QQ:679596