0 A.D.

内容:

Published: 10 July 2009

English 简体中文 Español Português Português Русский Français Deutsch Türkçe Polski Español de Chile Česky עברית Galego   Chinese translation by yanlsino.

Swamp Defense screenshot

什么是 0 A.D.?

0.A.D.是一款免费的,跨平台,以历史为题材的3D即时战略游戏。(目前已完成大部分开发)

你们正在做什么?

我们将闭源开发模式转变为开源开发模式:所有源代码以 GPL 许可证发布,所有的艺术作品将CC-BY-SA许可证发布并且欢迎每个人来协作开发,我们团队多年来利用业余的时间为0 A.D. 项目付出了许多努力,现在我们要为大家展示我们的工作成果并且希望能够鼓励更多的人参与其中。

0AD是一个非常复杂并且具有挑战性的项目,我们已经完成了很多的工作, 但是人有许多尚待完善,目前我们并没有发行一个可以供玩家游戏的版本。 如果玩家们对我们的游戏感兴趣的话,还要多等一些时日。 现在的游戏中还缺少很多重要的功能,存在一些BUG,并且还有些粗糙。 在项目进展中我们发行游戏的前内测版本 (Pre-alpha版),此版本用于向一些对此类项目感兴趣的开发者。 旨在与团队以外的大众分享资源。

在这个试验性的阶段,我们不确定怎样能够把工作做到最好。因此我们每一步都做的非常谨慎,并通过实践来尽力的自我完善。此文介绍了我们当前的计划,我们非常希望能够得到你们的建议,请在我们的 论坛上联系我们, 或者使用#0ad on QuakeNet IRC与我们即时聊天。

Discovery screenshot

为什么我们对此感兴趣?

对于我们来说我们可以利用这个绝佳的机会,制作一个像样的有特色的游戏,也许你们也希望一起来制作这个游戏。

也许你想从一个复杂的项目中学习一些经验,特别是制作游戏的经验。 一个游戏所涉及的领域很广,包括:声音与图像,人工智能和用户的图形操作界面, 文件管理和gameplay脚本,网络通讯,等等。游戏的框架已经基本就位, 其中的一部分已经非常的坚固。但是还有一些细化的工作和各种功能有待完善。

或许你想提高游戏在你喜爱的工作平台上的支持度, 或许你也想给我们提一些建议告诉我们某些有失水准, 而你可以写出比这更高质量的代码。(我们离完美的目标还很远!)

或许你也想将我们的一部分代码或者艺术作品结合到你自己的项目中去。 也可能你想将我们的游戏作为游戏开发的实战课程。或许你还有其他的想法。

Gaugamela screenshot

为什么你们要做这个游戏?

2001年起我们便以某种形式致力于这个游戏。从那时起我们已经走过了漫长的道路,但是制作这样一个游戏实在是既艰苦又困难的。 创始之初,绝大多数团队成员都是学生,令人遗憾的是他们都先后进入职业生涯,因而不能过多的参与到这个游戏中来。 而吸引新的队员加入既费时又费力,只有少数人能够有时间和能力来学习现有的代码,并且做出一些成绩来, 当然如此庞大的代码群确实很难读懂。因此我们想降低加入的门槛。以便来让人们先对项目的有一个初步的认识, 看看是否有参与的兴趣,然后再做决定。

另外,我们有些自认为不错的想法,工具以及代码并且想拿出来与大家分享。 我们应该整理好这些文件,以便能够给人们提供更多的方便,但是能够将代码执行起来只是第一步, 尤其在linux系统上,开源简化了一系列的问题,包括发行和调试。因此给我们和使用者提供了便利。

虽然我们致力于开发的是一个非商业化的游戏,然而截止到目前,仅仅只有团队内部成员才有权访问项目,之前人们对开放源代码并不感兴趣,但是随着时代的变化,这一感念已成为我们项目发展的必然趋势。

Magna Graecia screenshot

如何组织开发?

项目一经启动,我们将以尊重彼此的利益为前提,尽其所能提供信息交流和支持协作,从而一方面使参与者都能通过这个项目获益(当然我们也希望获得相应的回报!),一方面,实现我们的期望,完成一个高标准的游戏 并突破之前组织的局限,

以前,所有的开发者都是正式团队的一部分:任何人都可以申请加入,我们将通过IRC来做一个简短的面试以便对申请者进行了解, 只要他有足够的时间和有益的技能,我们将允许他们加入团队。我们需要保证我们的核心开发团队和私人的交流方式—我们不想冒任何风险来破坏我们已有的团队, 我们将保持独特的设计理念,保证始终不偏离-如果与我们的目标相悖的理念,我们宁愿不用也罢。我们正在为两个游戏的六个文明发行艺术作品和gameplay的数据。 但是我们将在项目的进展中将其日臻完善以保证其完整性和实用性。

除了这些限制,我们开放了访问源代码控制服务器(Subversion), 以及文档和问题跟踪系统(Trac),并且以一个公开的论坛来推动我们的技术讨论, 任何人都可下载,编译并运行最新版本的游戏。我们的初步贡献方式是非常简单及基本的, 如果你做出一些改动,必须创建一个补丁程序提交给我们,经过讨论我们将对你提供一些改进建议或者直接通过把它放到SVN.

贡献成果的归属权是一个悬而未决的问题,一方面,接受GPL许可证将保护贡献者, 保证我们不会滥用他们的工作成果。另一方面,我们只能依靠BSD授权许可证来保证我们的开放源代码。 或许与专有作弊软件联合做出一个特殊的版本,来阻止对多人游戏地图的破解,这一点对于开放源代码的游戏来说是没有太大意义的。 或者联合专有的数字发行系统来获得更广泛的发布。理想的解决方案还没有确定,我们对讨论这个问题很有兴趣。

Savanna Biome screenshot

程序源代码是怎样的?

游戏的引擎由C++编写大概有15万行,再有2万5千行的编辑器工具的代码,使用javascript来做gameplay的脚本。我们用底层的库文件来编写(OpenGL,OpenAL,ENet ...),不是现在已经存在的引擎(比如说OGRE)。

代码并不是非常的规整,并非极其的模块化, 也不是写的非常好,因为这是由很多不用类型的程序员制作的, 所以我们还不能说他是一个“完整的”基础代码,我们将把清理代码作为开发过程的一部分。 如果写一个子系统是解决现有需求行之有效的办法那么我们将尝试完成它,但是在一些功能上代码还是很稳固的。

哪些是可以重复利用的代码?

大部分的代码都是为游戏创建的,而在外部这些代码不是非常有用,但是或许有些部分可能会让开发人员感兴趣,比如说;

相比其他游戏如何?

我们知道其他的几个开源的即时战略游戏, Glest 已经处于一个稳定的地位,它定位为一个中世纪和幻想世界, 拥有不是很复杂的gameplay和图形但是有人工智能的对手(在0ad里面还没有实施), ORTS注重于一个强大人工智能研究的框架,远胜于游戏的可玩性。 Spring 是另一个RTS 引擎似乎为模拟全部歼灭的游戏而设计。0AD正在脱颖而出,提供新的游戏理念,图形细节和一个准确的历史背景。

我该如何开始?

更多的游戏相关信息请参阅使用入门指南 ,论坛的讨论,编译和运行游戏的说明,来得到更多的详细内容。