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

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

软件工程师中的
 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

Similar to 漫谈游戏编程

程序员与技术
程序员与技术程序员与技术
程序员与技术ligaoren
 
Overview of Game Design
Overview of Game DesignOverview of Game Design
Overview of Game DesignFAUST CHOU
 
Developer vs designer
Developer vs designerDeveloper vs designer
Developer vs designerRobert Luo
 
[光穹遊戲] 學生如何成為遊戲開發者
[光穹遊戲] 學生如何成為遊戲開發者[光穹遊戲] 學生如何成為遊戲開發者
[光穹遊戲] 學生如何成為遊戲開發者18Light
 
企劃提案概論 For students
企劃提案概論 For students企劃提案概論 For students
企劃提案概論 For studentsAlan Kuo
 
從教具設計看產品創新 - From UX in the Jungle to Innova Café
從教具設計看產品創新 - From UX in the Jungle to Innova Café從教具設計看產品創新 - From UX in the Jungle to Innova Café
從教具設計看產品創新 - From UX in the Jungle to Innova CaféDer-Jeng Lin
 
20130113 Web Conference - communicate
20130113 Web Conference - communicate20130113 Web Conference - communicate
20130113 Web Conference - communicateHitomi Yang
 
在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生Rick Hwang
 
Towards scrum of scrums
Towards scrum of scrumsTowards scrum of scrums
Towards scrum of scrumsPin-Ying Tu
 
App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0信宏 陳
 
MGD - Saturday Game Talks: Great Games vs. Successful Games
MGD - Saturday Game Talks: Great Games vs. Successful Games MGD - Saturday Game Talks: Great Games vs. Successful Games
MGD - Saturday Game Talks: Great Games vs. Successful Games MGDChina
 
遊戲設計實務工作坊 說明會簡報
遊戲設計實務工作坊 說明會簡報遊戲設計實務工作坊 說明會簡報
遊戲設計實務工作坊 說明會簡報Phoenix You
 
Scrum Gathering 2012 Shanghai_团队合作与团队指导分会场演讲话题:自组织?你开玩笑吧!(艾永亮)
Scrum Gathering 2012 Shanghai_团队合作与团队指导分会场演讲话题:自组织?你开玩笑吧!(艾永亮)Scrum Gathering 2012 Shanghai_团队合作与团队指导分会场演讲话题:自组织?你开玩笑吧!(艾永亮)
Scrum Gathering 2012 Shanghai_团队合作与团队指导分会场演讲话题:自组织?你开玩笑吧!(艾永亮)JoXuZi
 
Virtools游戏原型开发&脚本书写经验
Virtools游戏原型开发&脚本书写经验Virtools游戏原型开发&脚本书写经验
Virtools游戏原型开发&脚本书写经验Ming Gao
 
玩轉 Schematics - Modern Web 2018
玩轉 Schematics - Modern Web 2018玩轉 Schematics - Modern Web 2018
玩轉 Schematics - Modern Web 2018升煌 黃
 
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)Victor Alonso Lion
 
Introduction to python and programming
Introduction to python and programmingIntroduction to python and programming
Introduction to python and programmingimetliao
 
把握设计和开发的均衡
把握设计和开发的均衡把握设计和开发的均衡
把握设计和开发的均衡liujingbin
 
數位創業最好的技術顧問 - 技術社群
數位創業最好的技術顧問 - 技術社群數位創業最好的技術顧問 - 技術社群
數位創業最好的技術顧問 - 技術社群ericpi Bi
 
數學系的資訊人生
數學系的資訊人生數學系的資訊人生
數學系的資訊人生Jintin Lin
 

Similar to 漫谈游戏编程 (20)

程序员与技术
程序员与技术程序员与技术
程序员与技术
 
Overview of Game Design
Overview of Game DesignOverview of Game Design
Overview of Game Design
 
Developer vs designer
Developer vs designerDeveloper vs designer
Developer vs designer
 
[光穹遊戲] 學生如何成為遊戲開發者
[光穹遊戲] 學生如何成為遊戲開發者[光穹遊戲] 學生如何成為遊戲開發者
[光穹遊戲] 學生如何成為遊戲開發者
 
企劃提案概論 For students
企劃提案概論 For students企劃提案概論 For students
企劃提案概論 For students
 
從教具設計看產品創新 - From UX in the Jungle to Innova Café
從教具設計看產品創新 - From UX in the Jungle to Innova Café從教具設計看產品創新 - From UX in the Jungle to Innova Café
從教具設計看產品創新 - From UX in the Jungle to Innova Café
 
20130113 Web Conference - communicate
20130113 Web Conference - communicate20130113 Web Conference - communicate
20130113 Web Conference - communicate
 
在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生
 
Towards scrum of scrums
Towards scrum of scrumsTowards scrum of scrums
Towards scrum of scrums
 
App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0
 
MGD - Saturday Game Talks: Great Games vs. Successful Games
MGD - Saturday Game Talks: Great Games vs. Successful Games MGD - Saturday Game Talks: Great Games vs. Successful Games
MGD - Saturday Game Talks: Great Games vs. Successful Games
 
遊戲設計實務工作坊 說明會簡報
遊戲設計實務工作坊 說明會簡報遊戲設計實務工作坊 說明會簡報
遊戲設計實務工作坊 說明會簡報
 
Scrum Gathering 2012 Shanghai_团队合作与团队指导分会场演讲话题:自组织?你开玩笑吧!(艾永亮)
Scrum Gathering 2012 Shanghai_团队合作与团队指导分会场演讲话题:自组织?你开玩笑吧!(艾永亮)Scrum Gathering 2012 Shanghai_团队合作与团队指导分会场演讲话题:自组织?你开玩笑吧!(艾永亮)
Scrum Gathering 2012 Shanghai_团队合作与团队指导分会场演讲话题:自组织?你开玩笑吧!(艾永亮)
 
Virtools游戏原型开发&脚本书写经验
Virtools游戏原型开发&脚本书写经验Virtools游戏原型开发&脚本书写经验
Virtools游戏原型开发&脚本书写经验
 
玩轉 Schematics - Modern Web 2018
玩轉 Schematics - Modern Web 2018玩轉 Schematics - Modern Web 2018
玩轉 Schematics - Modern Web 2018
 
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
 
Introduction to python and programming
Introduction to python and programmingIntroduction to python and programming
Introduction to python and programming
 
把握设计和开发的均衡
把握设计和开发的均衡把握设计和开发的均衡
把握设计和开发的均衡
 
數位創業最好的技術顧問 - 技術社群
數位創業最好的技術顧問 - 技術社群數位創業最好的技術顧問 - 技術社群
數位創業最好的技術顧問 - 技術社群
 
數學系的資訊人生
數學系的資訊人生數學系的資訊人生
數學系的資訊人生
 

Recently uploaded

1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...微信 tytyqqww业务接单
 
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个michaelell902
 
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptxbusinesshealthwise
 
taibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdftaibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdfjhujyunjhang
 
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdftaibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdfjhujyunjhang
 
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习PUAXINYEEMoe
 

Recently uploaded (6)

1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
 
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
 
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
 
taibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdftaibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdf
 
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdftaibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
 
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
 

漫谈游戏编程