前言:在一篇零编程学习游戏编程的文章文章中提及此书,而且书评很不错,在当时反响很剧烈。因此下了个PDF版的慢慢学习。虽然接触游戏编程很久,玩的五花八门的游戏也有很多,但真正完成的游戏只有一个扫雷游戏。文章中建议学习游戏编程的入门游戏是:方块(拥有基本的游戏元素且不需要太多美术功底,只要会画方块就可以)弹球(需要进阶的处理物理碰撞,对碰撞要求提高了一层) PAC-MAN(比较高级的游戏,拥有敌人AI的设计,其中四种不同的AI类型无论在当时还是在我觉的都是令人振奋的想法,给人很多启发) 马里奥(横版过关的小游戏,其中有关卡设计,敌人AI设计及BOSS设计等等,很值得尝试)。 可惜方块游戏我还没完成,做到一半就被自己的想法卡住了。其中放弃的原因很多,有想法不完善,逻辑不清楚,还有就是目的不纯,出于想炫耀的目的(在任何事情上这都是大忌)。很多有经验的人都提及,编写程序要有始有终,不管你的IDEA是多么臃肿,烂,都应该至少完成个大概,能实现你最初的想法。我觉得说的不错。 现在就再根据自己的想法边读书边慢慢完成上面的入门游戏吧。 后面完成后会附上代码。我由于水平和时间有限,只能翻译个大概,望看到的人见谅,读个大体意思就可以。大部分凭个人语感,有错的地方欢迎指正!

真正的文章前言翻译(^ ^):

  我记得第一次和计算机互生情愫要追溯到1983年在Apple IIe上编程Logo(thanks,Woz!). 我在这次经历中获取的力量的感觉让我很着迷并且让我神经为之一怔。 电脑无论你想要它做什么它都会听之任之(PS:要说是第二女友也不为过)。它不会因为不断重复的做同一件事情而和你闹翻,而且它会完成任何特定的任务却不会问你为什么。它只会默默的完成这一切。我把我事业的成功归功于电影《War Games》以及一个名为ANDRE LAMOTHE(后面简称A.L.) 的作家。我买的第一本书就是A.L.写的,叫《Sams Teach Yourself Game Programming in 21 Days》,出版于1994年。之前我决没有想过以视频游戏编程为业。但这本书让我看到了编程的热恋与视频游戏的沉迷之间的共通点。一个无时无刻都想着怎么玩Galaga(日本Namco推出的射击游戏,就是街机上的飞机打小蜜蜂)也能够成为一名NB的研发人员?A.L.的写作和教学风格激励着我,让我有信心相信我也能够做一款视频游戏。我记得我曾和他再电话上聊过(真不敢相信他真的和其他人在交流,并且共享了他的电话号码)并在一个简单程序上向他寻求帮助,这个程序是我根据他的gas模型Demo实现的physics类。我怎么搞程序都跑不动。他直接检查了我的程序并像这样很快答复我:“Rich,你这不是坑爹嘛,你每句后都没有分号!”好吧,这就是我的第一次。之后我的第一个编程杰作通过编译并顺利运行。

几年后,我有幸能和A.L.共同制作一款视频游戏Rex Blade(DOS游戏).我在其中担当工具编程员及关卡设计员。这对我来说真是一笔巨大的财富。我们工作的出奇艰难(A.L.是个很严厉的上司),但也乐趣非凡(看电影,打枪,滑雪,还有很多类似--有人能说出“沙鹰51的口径”?《大笑》)。我们最终完成了这个3D交互视频游戏三部曲。我们从Rex Blade只是仅仅有个概念到最终上架销售仅花费了六个月的时间(如果以后回忆起Rex,肯定能获取很多的乐趣)。Rex的制作让我知道做一款实实在在的视频游戏需要投入什么,和A.L.工作真的是夜以继日--我也确实是夜以继日的在奋斗。当时他说他一周工作100小时,我以为他在开玩笑,看来我错了。

有几项软件工程技术打破了硬件的限制,其中有软件,程序员自己还有游戏编程。在游戏编程中有很多错综复杂的模块需要完美的共同协作:算法,物理效应,AI,图形图像,声音,音乐,GUI,数据结构以及等等之类的东西。这就是Tricks of the Windows Game Programming Gurus不管是现在还是将来在视频游戏编程艺术上展现自己魅力的原因。

这本书带你进入游戏编程技术的一个新境界。相信单单人工智能就能让你垂涎欲滴了(Make your mouth water ,原来想译为口吐白沫,哈哈)--但Demo能让你痛不欲生。除此之外你还能在哪里学到包含模糊逻辑,神经网络及通用算法的详细信息,并把它们应用到你的游戏中?这本书也会带你领略DX的所有主要组件(DirectDraw,DirectInput(with forc feedback coverage:不知其意--Yes!),DirectSound,以及最新最伟大的技术DirectMusic。)

之后是物理模型封装。知道自己所想的人都花时间去钻研完全碰撞相应,动量传递,前向运动学(Foward Kinematics)以及如何对它们进行实时仿真。 想象一下,游戏中的生物能够学习,物体能够碰撞就像现实世界一样,还有你的敌人甚至能够记得和你的最后一次遭遇中他是如何败于你的剑下。这些都是创造一款在明日受欢迎的游戏的基本功。

我必须把这本书的写作交给Andre,他总说如果他不做,谁还会做?这倒是真的:一个愿意将自己20年内辛劳工作,秘密,技巧拿来帮助别人的人真的很COOL。

随着技术的突飞猛进,我觉得能够活在当代真是一件很幸运的事,尤其你还是一个游戏程序员。似乎每隔几个月就有新的CPU,显卡以及其他硬件打破我们以前认为的技术极限(我的意思是说,很难想象Voodoo III 能够在一秒内完成700亿次运算)。然而,这项伟大的技术也是很昂贵。我们期望我们创造的游戏中能够使用这一技术。这也对将来的游戏发展提出了更高的要求。如此看来,也许在不久的将来,游戏将会仅仅受限于我们的知识和想象力。

一想到下一代的游戏程序员会用这本书来激发灵感和学习知识,我就非常激动。并且我认为A.L.也希望21世纪在某地的某人能够取代他的位置,继续散布这个神奇的Black Magic 给其他人,因为他实在需要休息一下。

签名

Richard Benson
3D Game Programmer
DreamWorks Interactive

转载于:https://www.cnblogs.com/daweixj/archive/2011/11/15/2249498.html

(翻译)Tricks of the windows game programming Gurus(Windows游戏大师之路) --- 前言(作者:ANDRE LAMOTHE 1999)...相关推荐

  1. windows调整窗口大小_175 Windows 7调整,提示和操作方法文章

    windows调整窗口大小 Windows 7 is being officially released on October 22nd, which also happens to be today ...

  2. windows桌面应用_现代Windows 8应用与Windows桌面应用不同的7种方式

    windows桌面应用 Windows 8 apps – originally known as Metro-style apps and now known as Windows 8 style, ...

  3. windows rt_如何在Windows RT上轻松将网站添加到Flash白名单

    windows rt Microsoft's Surface RT and other Windows RT-based machines include the Flash browser plug ...

  4. 现在Windows Server 2012在Windows Azure 虚拟机库中可用

    就像我们过去谈论过,结合基础设施和平台服务非常适合您的业务需求,它能提供灵活的架构. 开发和部署您的应用程序和IT解决方案,这是非常适合您的业务的一种方法.不用说,我们很荣幸地向我们的 Windows ...

  5. 为什么要从 Windows 7 升级到 Windows 10?

    2009年,Windows 7呱呱坠地,至今已经十年. 因易用.简单.使用高效,Windows 7成为Windows XP之后的又一"常青树".但世间没有不散的宴席,技术总在不断更 ...

  6. 已解决At least Windows 8.1 or Windows Server 2012 are required to install Python 3.9.4(64-bit)

    已解决(window7安装Python失败)One or more issues caused the setup to fail.Please fix the issues and then ret ...

  7. 全面了解Windows Server 2003 和 Windows XP 附带的系统服务

    简介   系统服务的处理不同于其他设置,因为所有服务的漏洞.对策及潜在影响在本质上都一样.第一次安装 Microsoft Windows Server 2003 时,系统将在启动时创建并配置默认服务. ...

  8. windows管理右键菜单_在Windows 8中使用Windows 7开始菜单,资源管理器和任务管理器...

    windows管理右键菜单 If you've tried the Windows 8 Developer Preview and found you don't like the new Start ...

  9. 如何立即将Windows Phone升级到Windows 10

    Microsoft is technically selling  two phones with Windows 10 built-in, but it hasn't released the up ...

最新文章

  1. DockerSwarm 微服务部署
  2. alibaba cloud 打包_阿里也上VS Code船了,发布Alibaba Cloud Toolkit插件
  3. AWK增强的文本处理shell特征--AWK完全手册
  4. JSP 标准标签库(JSTL)
  5. wxWidgets随笔(7)-utf8中文(3)
  6. for循环执行 mybatis_mybatis sql循环的使用
  7. 基于嵌入式操作系统VxWorks的多任务并发程序设计――中断与任务
  8. 车联网大数据框架_大数据基础:ORM框架入门简介
  9. ubuntu下定时执行工具cron开启关闭重启
  10. Matlab中出现“无法打开电子表格,MATLAB报告了以下错误;错误:服务器出现意外情况”
  11. DFS(深度优先遍历)走迷宫算法
  12. Unity3D基础23:TrailRenderer特效
  13. 异域linux内核漏洞,Linux内核再现漏洞!这次11年后才发现
  14. joomla 1.5 笔记
  15. A星(A*、A Star)路径规划算法详解(附MATLAB代码)
  16. 2022最新淘客三合一cms商城优惠券系统搭建教程
  17. Alpha、Beta、RC、GA、LTS等软件各个版本号的含义
  18. LeetCode刷题记录
  19. Linux centOS如何配置网络
  20. Multisim仿真——二极管开关电路

热门文章

  1. linux下的RPC
  2. wpf将文字转化为图形_将创新转化为实际应用
  3. 深入理解Solidity 二
  4. 哪些人不能要 哪些人不能留
  5. 文件系统:使用 yum 安装软件包
  6. IPC 中 LPC、RPC 的区别和联系
  7. 前端布局神器display:flex
  8. php 一些个 常用 函数
  9. 自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
  10. Mantle--国外程序员最常用的iOS模型字典转换框架