游戏开发需要具备那些知识或技能
Table of Contents
缘由:
今天想翻译 http://stackoverflow.com/questions/174830/learning-game-programming 这篇文章,是关于游戏开发的。 让我想起来之前在博客园的 一篇博客,我按照原文章的内容进行了整理(因为之前是帖子形式的),也就有了这篇文章。 希望可以给想从事游戏开发的朋友一点点启示。
1. 需要了解的一些知识点
- 游戏分客户端和服务器端。
- 基本的图形学,物理和数学基础。
- 精通一门高级语言(C++ 或者 C#)。
- 选择一门图形 API,一般就是 DirectX 或者 OpenGL 之间选一个。如果考虑到跨平台,那么 OGL 是首选;如果只在 ms 的平台,则 DX 是首选。
- 数据库、网络编程、脚本语言(目前常用的有Pathon、Lua)。
- 算法与数据结构。
- 良好的英语阅读能力(新技术永远是英文的,这是不争的事实)。
2. 好的学习网站
-
除了大量教程以外,论坛里多年累计下来的内容保罗万象。好好利用论坛搜索,你会发不管你多厉害, 那里总有一些比你强大的人在很久以前就遇到了和你同样的问题,并且给出了解决方案。
-
XNA官方网站(译者注:被重定向了,现在应该不是了)
-
与 GameDev 类似
-
这里的除了讨论软件以外,还能看到对硬件构架的分析
-
最好的 XNA 教程网站
-
国内唯一比较专业的游戏编程网站,可惜和GameDev相比就显得太寒碜了-_-#
3. 相关书籍
- Introduction to 3D Game Programming with DirectX 9.0 入门书籍
- Advanced 3D Game Programming With DirectX 9.0 入门书籍
- Real-Time-Rendering 计算机图形学
- 3D Math Primer for Graphics and Game Development 数学
- Mathematics for 3D Game Programming and Computer Graphics 数学
- Essential Mathematics Guide 2nd Edition 数学
- Cg_tutorialShader 入门
- The Complete Effect and HLSL Guide入门
- Shaders for Game Programmers and Artists
- Advanced Lighting And Materials With Shaders 光照模型和技术
- GPU Gems
- Programming Vertex, Geometry, and Pixel Shaders
- Real Time 3D Terrain Engines Using C++ And DX9 地形
- Advanced Animation with DirectX 模型导入和动画
- Game Physics,Game Physics Engine Development 物理
- Real-time Collision Detection 碰撞检测
- Level of Detail for 3D Graphics LOD
- Physical-Based Rendering - From Theory to Implementation Ray tracing
- 3D Game Engine Design, Second Edition 引擎
- Pro OGRE 3D Programming 引擎的设计和框架
- Programming Game AI by Example AI
- Artificial Intelligence for Games
- AI Programming Wisdom
- OpenGL Programming Guide
- OpenGL Shading Language Programming Guide
特别感谢 CSDN 的几名会员:freezezdj、hoya5121(老李)、wanggang999、xianglitian、zhangci226、buzaibeishang4617016、cliffbaby、 kim_jinye、zenny_chen、zhangweiit、zenny_chen、qwidget、sofa120、stilling2006
笔者注:一直以来在 IT 行业中我唯一喜欢的就是游戏了,因为我喜欢武侠,喜欢中国风,喜欢音乐。 虽然自己现在不从事这方面的工作,但是我相信总有一天我会干的,即便不是为别人,自己玩也要玩。嗯,就这么定了。