一个在游戏行业摸爬滚打了十几年的人,为何我对本书情有独钟?

2020-05-20 00:01:18

这是《游戏开发:世嘉新人培训教材》的译者序。

《游戏开发:世嘉新人培训教材》

2012年夏天,我在东京的书店里闲逛时偶然发现了这本《游戏开发:世嘉新人培训教材》,翻了几下就被吸引住了。当时就想如果能把它翻译成中文该多好。然而考虑到版权等问题,此事就搁浅了。机缘巧合,三年前得知图灵引进了这本书的中文版权,于是便自告奋勇,开始了本书的翻译。

作为一个在游戏行业摸爬滚打了十几年的人,为何我对本书情有独钟呢?

在我的日常工作中,除了游戏产品的研究开发,还负责公司新人的一些培训工作。如何帮助行业新人扎实地建立起一套知识体系,是我这些年一直思考的问题。游戏行业发展至今已经非常成熟。与此同时,游戏开发这棵“技能树”也可谓枝繁叶茂。编程语言、软件工程、计算机图形学、高等数学、物理模拟、游戏引擎架构、动画控制、人工智能、网络编程……初学者难免陷入一种不知从何开始的窘境。对于有志进入这个行业的人来说,太需要一本提纲挈领、鸟瞰全局的参考书了。

有些读者可能不同意——今时今日,任何一个新手经过短期的学习,都不难用Unity开发出一个简单的游戏,似乎并不需要掌握那样一堆东西。其实,这只是一种错觉。借助强大的现代游戏引擎,让一个游戏“跑起来”确实非常简单。然而要完成一款真正的商业作品,没有相当充分的知识积累是完全不可能的。

本书内容大致分为三个部分:2D游戏基础、3D游戏基础,以及游戏开发实用技术。本书从命令行游戏开发讲起,然后介绍如何开发简单的2D动作游戏,最后介绍如何开发包含模型和动画的3D游戏。全书不借助任何引擎,从无到有最终开发出一个3D游戏。准确地说,这本书是在教我们如何开发出一个简易的引擎,然后用这个引擎开发出一个3D游戏。光是这个过程就足以令人激动了。

事实上,著名的游戏公司世嘉曾长期使用本书作为新人培训教材。说到这里,就需要介绍一下原书的由来了。原书作者平山尚老师曾在世嘉游戏公司负责新人培训工作,整理教材时发现相关的必读图书竟达十几本之多。苦于这种状况,便结合自己的开发经验编写了本书。所以读者可以看到,本书涵盖了编程、物理、数学等知识。若想快速习得游戏开发的相关技术,阅读本书再合适不过了。

一些读者可能会担心:“既然是教材,岂不是非常枯燥?”相信读者翻阅几章后就没有这种担心了。平山老师原本就是一名资深程序员,讲解时非常擅长从设计思路切入,每一步都有明确的逻辑根据。为什么要这样处理碰撞检测?为什么要抽象出各个状态基类?为什么要用矩阵来处理旋转?甚至对找bug的思路也有理有据地列出了许多建议。喜欢刨根问底的读者请不要错过本书。

本书的代码采用C++编写,建议读者在阅读之前先大致了解一下C++的基础语法。在Unity和其他各类HTML 5引擎大行其道的今天,直接使用C++编写游戏的情况确实不常见。这是否意味着本书有些过时了呢?非也。Unity这些高级引擎内部都是用C++编写的,因此,学习本书之后会更容易理解这些引擎内部是如何工作的,以及引擎为什么要这样设计。这在优化游戏性能时会有很大帮助。

本书自翻译到付梓,大约用时三年。此间固然有工作繁忙之缘故,而更多的是理解原书、调试代码等耗时所致。为力求全书连贯通顺,译者已将原书熟读三遍。每想到若因词不达意而误人子弟,便诚惶诚恐。当然即便如此,疏漏之处也在所难免,还望读者朋友不吝赐教。

在翻译过程中,热心读者在社区里的留言,对我来说是最大的动力,感谢你们!我能做的唯有精益求精,回馈读者。同样,衷心感谢图灵的编辑老师们,没有你们耐心的指导与帮助,本书不可能问世。最后,借此机会我也要感谢我的妻子,没有她的支持,我想我很难完成这项巨大的工程。感谢所有人!

游戏行业是一个充满激情的行业。入行十几载,庆幸自己依旧斗志昂扬。我可以,你也一定可以。加油,朋友!

罗水东

2019年9月于大连​​​​

推荐文章
返回顶部小火箭