游戏开发入门

1. 游戏开发概述

大纲

  • 游戏技术发展
  • 游戏开发流程
  • 游戏程序员

目标

  • 游戏开发入门者的指路人

内容

  • 游戏是如何开发的
  • 开发游戏需要掌握的那些技术
  • 如何学习技术

成果

  • 游戏开发知识体系
  • 游戏开发方法与开发流程
  • 自身定位与提升

游戏技术的发展

  1. 原始阶段
游戏开发入门
pong
  1. 红白机


    游戏开发入门
    红白机
  2. PS,XBOX

游戏开发入门
PS
  1. PC单机游戏
游戏开发入门
PC单机游戏

4.局域网对战游戏

游戏开发入门
局域网对战游戏

5.大型多人游戏

游戏开发入门
大型多人游戏
  1. 页游
游戏开发入门
页游
  1. 手游
游戏开发入门
手游
  1. VR ?AR?

游戏的发展对技术的要求

  • 原始的游戏:编程能力和对游戏的认识
  • 游戏逐渐复杂,需求多变:程序设计能力、脚本编程技术、引擎技术
  • 大型3D游戏:图形图像编程、物理计算技术、动画技术、特效技术、场景及场景管理技术
  • 网络游戏:网络通讯技术、下载升级技术、同步技术

游戏开发流程

职业分工

在原始阶段,游戏都是一两个人开发的,即做程序也做美术,同时自己设计游戏。

随着游戏越来越复杂,团队规模越来越庞大,分工逐渐精细,并且对各自领域的专业性研究更加深入。典型如策划、程序、美术...

  • 策划

主要工作是编写游戏背景故事,制定游戏规则,设计i游戏交互环节,计算游戏公式,以及整个游戏世界的一切细节等。如剧情、关卡、玩法、数值、系统...

  • 美术

负责游戏中一些看得见的事物的表现力,如模型、特效、动画、场景、UI...

  • 程序

根据策划设定的规则,驱动美术的表现资源,将游戏实实在在实现在电子设备上的人。具体工作包括实现需求、提供团队内的工具、修复程序中存在的问题、优化基础体验...

程序员只是程序员的吗?不是,我们是游戏程序员,是先有游戏人才有程序员。

游戏开发流程

  • 需求产生
  • 设计选项
  • 程序实现,美术制作,策划配置
  • 循环调优

"好游戏是改出来的"

游戏程序员是怎样炼成的

  • 编程基础C/C++,数据结构及算法
  • 操作系统
  • 网络编程原理
  • 图形学原理
  • 程序设计基础

”一万小时定律,一千小时规律。“

理解原理而不是停留在使用的层面,保持好奇心,了解技术背后的原理,掌握技术的优缺点,而不仅仅是如何使用。

多动手,从小目标到大目标。

想办法把每个技术运用到实际的小demo中尝试和理解。不要一次性提出无法完成的大目标,量力而为,逐步完成。想办法进入业界,从正式项目中吸取经验。

试着理解自己做的每一个工作对游戏的影响。

2. 游戏中的设计模式

大纲

  • 设计模式的意义
  • 案例开发与分析

为什么要使用设计模式呢?

  • 封装和复用:更容易地传承和复用
  • 解耦合:更好地与他人配合
  • 灵活且避免过度设计:更加灵活地应对需求变化

案例:

有一个炮台会发射炮弹攻击飞机,炮台的炮弹每秒可发射1个,假设目前发射的是激光炮,没有中间的飞行距离的考虑,有50%的几率命中,飞机每3秒钟产生一架。当炮弹命中飞机时,飞机爆炸并消失。整个世界在30秒后结束。

  • 在炮台发射炮弹,炮弹命中飞机,炮弹没有命中飞机,飞机产生,飞机杯命中爆炸这些时间点上,在控制台打印信息。
  • 可以用定时器,可用一个死循环,不断计算当前时间来计时。

需求变更

在上个世界中战斗变得更加激烈,飞机每分钟会产生2架,飞机在位置(0,100)以及(100,100)的坐标位置上产生,激光炮的位置在(50,0),飞机在y轴上以每秒20的速度向y:0的方向飞行,一旦有飞机飞到y:0则世界终结。提示一下,机关破应该首先射击高y:0更近的飞机而不是更远的。