狠狠撸

狠狠撸Share a Scribd company logo
漫谈游戏编程
游戏 = 一种软件
游戏   最复杂的交互软件
什么是游戏编程
? 游戏编程是任何视频游戏与电脑游戏内
  部核心的程序代码,它是令游戏运转起
  来的数学与逻辑。
数学
程序代码 表   里
             逻辑
游戏编程印象
?   最难
?   最具有挑战性
?   回报最高
?   最酷
?   之一
难在哪里?
难题:视角问题
漫谈游戏编程
艺术问题——没有正确的答案
难题:联网问题
依靠不可信的       第三方通信设
         备
将什么数据存储在服务器端
联网对战的同步问题
难题:物理世界
将什么东西物理化?
物
理
属
性
的
精
确
程
度
?
如何优化物理碰撞检测?
挑战性在哪里?
不断面对新的未知的领域
回报多在哪里?
在一个游戏研发团队中
     工资待遇高
      地位高
      高门槛
      高负荷
特别是在中国

游戏研发:从无到有阶段
无形的回报

软件工程师中的
 Rock star
游戏编程人员需要何种


   技能
    ?
基础体系知识
? 线性代数、微积分、计算机科学
  线性代数
线性代数
微积分
计算机科学
图形学 人工智能   数据库
程序语言
? C++ , C , Java
? 汇编
? Perl , Lua , Ruby , Python
C++ ( C )
游戏编程语言中的英语
    面向对象
     速度快
大量 API 和 SDK 支持
Java

    跨平台
更完善的面向对象支持
  开发成本低廉
汇编




   能将汇编语言编好的都不是凡人
但汇编语言大师们从来不将自己归为那一类
Perl , Lua , Ruby , Python…
    游戏编程中的“高级”语言
English


Skills a Game Programmer Needs
Use English

as MUCH as

 you can.
素   质
你是问题的终结者与解决者
? 学习
? Deadline 之内学习
? 永不停息地开拓新的领域




独立学习能力
传统的程序员形象
? 隐居
? 寡言
? 科学怪人…
你不是一个人在战斗 ~ !
? 每天需要打交道的人
 – 策划、美工、关卡设计、音效设计、游戏测
   试、其他程序员、项目总监……
? 游戏编程人员
 – 不断与他人交流
 – 耐心、谦和、友好
积极面对未知的挑战
? 不断更新自己(主动的学习)
从面试官的角度考虑…
?   团队观念
?   主动积极
?   有始有终
?   交流能力
?   责任感
原动力
? 对游戏研发的热情与执着
? 特别是在中国
可能的称谓
称谓
?   Junior programmer (初级)
?   Game programmer (游戏)
?   Lead programmer (首席)
?   Technical director (技术指导)
?   AI programmer (人工智能)
?   Engine programmer (引擎)
?   Tools engineer or programmer (辅助工具研发)
?   Network engineer or programmer (网络)
?   Graphics programmer (图形图像)
Junior programmer
Game programmer
Lead programmer
Technical director
AI programmer
Engine programmer
Tools engineer or programmer
Network engineer or programmer
Graphics programmer
艺术设计还是工程科学?
混合体
如果想做些课外功课……
BMP 位图或 WAV 音乐文件的载
         入
地砖( Tile )引擎
基于状态机的 AI 引擎
模拟一些最基本的牛顿定律
写个简单的 RPG 游戏
学习 Windows MFC 和 Win32 编
            程
简单的汇编语言
? 汇编语言要会编
DirectX
3D 图形学
尝试使用一个现有的叁维引擎
与同学共同完成一个大项目
?   制定计划
?   竭尽所能按照计划行事
?   总结项目成功与失败的地方
?   找出避免再犯同样错误的方法
如果已经有比较丰富的经验
强化程序设计的鲁棒性
? 在不损害运行速度的前提下
  尽量让代码更灵活健壮
? 只要不是系统禁止,尽量使
  用面向对象的编程方式
? 学习设计模式( Design
  Patterns )
提高团队协作能力
? 你不是一个人在战斗!
尽可能多的了解游戏行业以及其背后的技术
?   Gamasutra
?   GameDev
?   GameDeveloper
?   GameRes (中文)
书写干净的代码

? 找朋友来读读看
谢谢

?问题?

More Related Content

漫谈游戏编程