前言
针对游戏开发比较系统的讲解视频,以下是自身观看视频后的笔记。
视频链接:https://pan.baidu.com/s/1ToidEw8H1-o4WTP9LIltHA 提取码:axlg
开篇
- 举了几个腾讯例子:欢乐斗地主、QQ飞车、DNF、LOL、天天酷跑、王者荣耀
- 在学习游戏开发过程中,我们会遇到很多志同道合的人,大家聚集起来分享、交流
- 课程目的?
游戏开发入门的指路人。
- 课程内容:
what where when how
1.游戏如何开发的?
2.开发游戏需要掌握那些技术?
3.我们应该如何学习这些技术?
- 如何学习课程:
1.保持对游戏的浓厚兴趣和激情
2.主动自学所有细节
3.通过课程了解专业技能概况,掌握学习方法
4.通过实战磨练和验证学习成果
做MiniGame 、 Demo
- 学完我们的课程你应该得到什么?
1.一个粗略的游戏开发知识体系
2.对游戏开发方法,开发流程有了初步的了解
3.知道自己离真正的游戏开发者的差距,并且知道如何去提高
4.一堆练习(实战)、Demo、MineGame
(课堂练习、线下作业、Final作业)
- 不会讲什么?(你自己应该具备的能力)
1.语言入门到精通
2.引擎使用手册 或者IDE 工具使用方法
3.学校中、课堂中、书本中的基础内容。
游戏发展历史
- 原始阶段 :pong 电子游戏开始商业化
- 红白机 : 魂斗罗
- PS、XBOX
- PC单机游戏:仙剑奇侠传 英雄无敌
- 局域网对战游戏:魔兽1 Dota 红警 cs
- 大型多人游戏:魔力宝贝、传奇、御龙、魔兽、征途
- 页游:QQ农场 七雄争霸 (Unity)
- 手游:AngryBird 神庙逃亡
- VR、AR?
游戏发展对技术的要求
- 原始的游戏
编程能力和对游戏的认识 - 游戏逐渐复杂,需求多变
程序设计能力
脚本编程技术
引擎技术 - 大型3D引擎
图形图像编程
物理计算技术
动画技术
特效技术
场景及场景管理技术 - 网络游戏
网络通讯技术 怎么处理不丢包
下载升级技术 怎么无感知升级
同步技术 怎么去同步,让玩家感觉更舒服、更真实
职业分工
- 在原始阶段,游戏都是一两个人开发的
即做程序,也做美术,同时自己设计游戏(策划) - 随着游戏越来越复杂,团体越来越大,分工逐渐精细,并且对各自领域的专业性研究更加深入。
- 策划: 没有手的上帝 (编写游戏背景故事、指定游戏规则、设计游戏交互环节、计算游戏公式、以及整个游戏世界的一切细节等)
分类:剧情、关卡、玩法、数值、系统... - 程序: 上帝的手 (根据策划设定的规则、驱动美术的表现资源,将这游戏实实在在实现到电子设备上的人)
实现需求、提供团队内的工具、修复程序中存在的问题、优化基础体验(定位性能影响) - 美术: 颜值 (游戏中一些看得见的事物的表现力)
模型、特效、动画、场景、UI
- 策划: 没有手的上帝 (编写游戏背景故事、指定游戏规则、设计游戏交互环节、计算游戏公式、以及整个游戏世界的一切细节等)
我们是程序员吗?
不是,我们是游戏程序员,先是游戏人,才是程序员。
游戏开发流程
1.需求产生
2.设计选型
3.程序实现、美术制作、策划配置
4.循环调优(打磨期) 好游戏都是改出来的(手动滑稽)
游戏程序员是怎么炼成的?
- 夯实基础
1.编程基础C/C++,(C#) 数据结构及算法
2.操作系统
3.网络编程原理
4.图形学原理
5.程序设计基础
10000小时定律 与 1000小时定律
(基础知识会决定你进步的速度,以及技能的天花板)
为何TCP不能发超大的包?
为什么TCP连续1s发很多的包?
灵活性、耦合性、稳定性
- 理解原理而不是停留在使用
1.保持好奇心,了解技术背后的原理
2.掌握技术的优缺点,而不仅仅是如何使用
Unity3D做Demo很容易,但是需要的代码完全由程序员自己控制,代码执行顺序等。 其实表面的使用引擎是不够。
VR:无非就是挂两个摄像头
场景管理,为啥用八叉树,不用四叉树。
- 多动手,从小目标到大目标
1.想办法把每个技术运用到实际的小Demo中来尝试和理解。
2.不要一次性提出无法完成的大目标,量力而为,逐步完成。
3.想办法进入业界,从正式项目中汲取经验。
- 试着理解自己做的每一个工作对游戏的影响
总结
以上通过观看视频,再根据自身情况进行完善的笔记记录。
参考文章链接
https://blog.csdn.net/qq_34406755/article/details/82936973
https://blog.csdn.net/u012999985/article/details/78797928