新项目 - 来自实验室的新鲜成果

作者:John Knight
0 A.D.—令人惊叹的实时战略游戏 (www.wildfiregames.com/0ad)

在探索这些项目时,有时我不得不深入挖掘才能找到能引起我的读者兴趣的东西,但有时,我会立刻被迷住,需要自律,以免写作用尽空间!这次就是其中之一。根据该游戏的网站

0 A.D.(发音为“zero ey-dee”)是一款免费、开源、跨平台的古代战争实时战略 (RTS) 游戏。简而言之,这是一款基于历史的战争/经济游戏,玩家可以在其中重温或改写西方文明的历史,重点关注公元前 500 年至公元 500 年之间的岁月。该项目雄心勃勃,涉及最先进的 3D 图形、精细的艺术作品、声音以及灵活而强大的定制游戏引擎。

自 2001 年以来,该游戏一直由 Wildfire Games (WFG) 开发,WFG 是一个由志愿者、业余游戏开发者组成的团体……简而言之,我们认为 0 A.D. 是对游戏开发和古代历史的教育性庆典。

New Projects - Fresh from the Labs

0 A.D. 网站上的史诗般的战斗

New Projects - Fresh from the Labs

这款游戏的一些令人惊叹的风景

New Projects - Fresh from the Labs

0 A.D. 展示了一些古典建筑,旁边是一片绿洲

安装

在撰写本文时,该游戏处于早期测试版本(版本:Jul 29 2010—7732-release)。据称,定制的软件包以各种形式提供,适用于 Gentoo、Arch Linux、Debian、OpenSUSE、Fedora 和 Mandriva。如果可以,请相信我,下载一个二进制文件!本应在 PlayDeb.net 网站上提供适用于 Ubuntu 的软件包,但当我尝试下载时遇到了错误。如果您像我一样不幸,则可以获得源代码包,并且由于这是通常的“发行版中立”选项,因此我将在此处使用它。这个项目还处于起步阶段,编译将在未来更加简化(可能在本文印刷时),但现在,请做好准备——这将是一个漫长的过程!

就库要求而言,文档指出您需要以下内容

  • GCC(至少 4.0,最好是 4.3)。

  • Subversion。

  • NASM—x86_64 上的 NASM 2.06 中存在一个错误,因此如果遇到错误,您可能需要尝试其他版本。

  • SDL。

  • Boost。

  • zlib。

  • libpng。

  • libxml2。

  • OpenGL。

  • OpenAL。

  • libogg。

  • libvorbis。

  • wxWidgets(在 Linux 上可能称为 wxgtk;可选,但编辑器工具需要)。

  • Gamin(FAM 也应该可以工作;仅限 Linux)。

  • BFD(通常称为 binutils-dev 之类的名称;仅限 Linux)。

  • ENet 1.2.x(不是 1.3.x)。

  • DevIL。

当然,这不包括您需要编译它的“-dev”库,我需要为我的 Kubuntu 机器抓取一些库。文档非常有用,足以推荐以下命令用于 Ubuntu 或 Debian(至少是不稳定和测试版)

sudo apt-get install build-essential libsdl1.2-dev zlib1g-dev 
 ↪libpng12-dev libjpeg62-dev libgamin-dev nasm 
 ↪libwxgtk2.8-dev libboost-dev libboost-signals-dev 
 ↪libboost-filesystem-dev libopenal-dev libalut-dev 
 ↪libvorbis-dev libogg-dev libcrypto++-dev binutils-dev 
 ↪libdevil-dev libenet-dev libxml2-dev 

抱歉,我没有空间帮助其他发行版,但软件包名称至少应该为您自己的系统提供提示。

软件包整理完毕后,从网站抓取最新的 tarball 文件,特别是 0ad 构建和数据文件。现在,这一点很重要:将这两个文件复制到同一个文件夹中,并在那里解压缩它们。

接下来,在 (0ad main directory)/build/workspaces/ 文件夹中打开一个终端,并运行命令

$ ./update-workspaces.sh

一系列文件将下载几分钟。完成后,继续执行以下命令

$ cd gcc
$ make
$ cd ../../../binaries/system

使用以下命令运行游戏

$ ./pyrogenesis_dbg

用法

这款游戏仍处于早期 alpha 阶段,因此还没有单人 AI,但您至少可以测试游戏机制。目前,您可以通过局域网进行多人游戏——至少我认为可以,我没有机会尝试。现在,启动一个单人地图并四处看看。我建议首先选择默认选项。

进入游戏画面后,您会看到一个村庄,这是您的起始基地,拥有一定数量的单位(人)。要滚动浏览您的世界,请单击鼠标中键并拖动鼠标。左键单击单位或对象以选择它,右键单击地图以告诉它去哪里或做什么。

单位似乎能够超越简单的类别,例如收割木材或战斗。相反,一个单位似乎能够进行战斗、收割木材、狩猎、磨石等等。例如,将鼠标悬停在一块石头上,鼠标指针将变为石匠图标。将鼠标指针悬停在敌方单位上,将出现攻击标志。将其悬停在一些牲畜上,将出现肉类图标。

令人无法逃避的是华丽的图形,具有精美的 3D 渲染,尤其是在您滚动浏览地图时。特别是,我注意到一些照片般映射的岩石,树木郁郁葱葱,以非常雅致和复杂的 3D 渲染。周围明显缺乏精灵,以防止游戏感觉俗气。

海洋随着波纹水动态移动,海滩从鹅卵石过渡到沙子,并轻轻移动到看似随机但令人信服的海滩植被,而海滩植被本身又过渡到更茂密的内陆灌木丛。一切都如此自然。没有任何那种尖叫着基本级别设计师的块状方形映射——您不妨看着更令人信服的谷歌地球!

配乐柔和而雅致,带有可以播放 100 多次而不会变得烦人的声音循环,也不会变成平淡的背景音乐。单位动画也非常流畅,每秒帧数很多,并且具有阴影渲染。

还包括一个场景编辑器,供那些想要制作自己的关卡的人使用。在线查看一些绝对令人惊叹的作品画廊。但是,那是另一天的事情了。

我不是实时战略游戏的爱好者,自从 Command and Conquer: Red Alert! 以来,我对 RTS 游戏就一直没有兴奋过。然而,这是我实际上感兴趣的第一款 RTS,我将在未来密切关注它。图形很容易与商业作品相媲美(甚至比很多作品更好)。我衷心希望,随着开发的继续,游戏玩法动态也同样扎实。免费的 0 A.D. 有朝一日能够主导局域网聚会和咖啡馆,超越其商业竞争对手,成为免费软件游戏经典。

Videoporama—幻灯片视频序列制作器 (www.videoporama.tuxfamily.org)

如果您正在寻找一款具有体面界面的图片和音乐幻灯片制作器,您可能会在 Videoporama 中找到归宿。根据该网站的说法:“Videoporama 是一款用于创建由图像或照片、固定或生动化的视频序列的应用程序。这些序列通过序列之间的过渡组装成幻灯片,以生成完整的视频。”

New Projects - Fresh from the Labs

在这里,我正在使用 Videoporama 在 Alice in Chains 的配乐下复习我的假名。

New Projects - Fresh from the Labs

您可以向幻灯片的任何帧添加标题。

New Projects - Fresh from the Labs

我的假名视频独立于 Videoporama 工作。

安装

为使用 Debian 或 Ubuntu 的用户提供了二进制软件包,但请注意,当我下载它时,该软件包已损坏。我这个月软件包运气真差!不过,通用的源代码包可用,值得庆幸的是,使用起来并不痛苦。当安装 Videoporama 时,我很幸运,因为我已经安装了所有需要的库,并且没有遇到错误。然而,您不太可能拥有同样的运气。文档说您需要以下库

  • Python:版本 >= 2.5 但尚未达到 3.x。

  • Qt:版本 >= 4.4(最好使用 Qt 4.6 及以上版本)。

  • pyqt:版本 >= 4.x。

  • pil:版本 >= ? (Python 图像库)。

  • mjpegtools:版本 >= 1.8。

Videoporama 还使用了以下外部程序:ffmpeg、sox、ppmtoy4m 和 mplayer。

前往网站并抓取最新的源代码 tarball。解压缩它,并在新文件夹中打开一个终端。如果您的发行版使用 sudo,请输入命令

$ sudo python setup.py install

否则,输入命令

$ su
# python setup.py install

要运行该程序,请输入

$ videoporama

用法

启动后,会出现一个状态屏幕,告诉您哪些功能将可用,哪些功能将不可用,尤其是在使用某些编解码器方面。如果缺少任何关键编解码器,您仍然可以在编译后添加它们,额外的 sox 库是一个很好的起点,尤其是 MP3 输出和 sox ffmpeg 软件包。

进入主屏幕后,如果您看向右侧,会有一个包含三个选项卡的部分。这是您进行大部分文件调整的地方——您可以选择宽高比、要使用的音轨、叠加文本、缩放选项等等。默认输出格式是 VCD/SVCD,但您可能想要更改它。我自己选择了 AVI (XVid/MP3)。

让我们制作一个幻灯片。如果您查看主菜单下方的图标,会有一个绿色框,其右下角带有一个 + 号。这将添加一个图像,一旦添加了内容,只需重复该过程即可添加更多图像。

要添加声音文件,请查看“Montage options”选项卡,其中有一个声音文件字段。下面是输出部分,您可以在其中选择前面提到的编解码器,以及指定视频文件的最终位置。

对于幻灯片/音乐组合,时间安排始终是一个问题,如果您想编辑单个帧的时间安排,请查看“Zoom and travel”选项卡,其中有一个名为“Time display fixe”(可能是拼写错误)的选项。

我只有空间介绍最后一个功能,所以我将介绍文本。“Montage Options”的“Overlaid text”部分将文本应用于整个文件。如果您想向单个帧添加文本,则“Image”选项卡的“Background text”按钮将完全做到这一点,并且两者都具有放置、字体大小等功能选项。

最终,这是一个相当直观的程序,在使用了大约五分钟后。该项目可以增加一些功能,例如将帧的时间安排与音轨的长度自动同步。就我个人而言,我会更改一些 GUI 方法,但这是一个新项目,并且在您阅读本文时,情况可能会发生变化。归根结底,我仍然推荐 Videoporama,到目前为止,它的使用过程非常顺利,这对于 OSS 项目来说是一个好兆头。

作者 Jon Rafkind 关于 Paintown 的注释

Jon Rafkind 是 Paintown 的作者,Paintown 是 2010 年 8 月号 LJ 的本专栏中介绍的项目之一 (www.linuxjournal.com/article/10765)。他写信给我们,内容是关于他和那篇文章中提到的 Beats of Rage 项目之间的争议

2004 年,我在互联网上搜索可以在 Linux 上运行的格斗游戏。我没有找到太多,但我确实找到了 Beats of Rage (BoR)。我尝试将 BoR 移植到 Linux,但这很麻烦,所以我决定从头开始一个项目。我没有从 BoR 的代码开始并对其进行修改;我从一个空缓冲区开始编写第一个文件。

我确实从 BoR 中获取了大部分图形,这样我就可以快速启动并运行游戏。我在项目源代码的 LEGAL 文件中用以下几行注释了这一点

data/bgs/**/*.png - http://www.senileteam.com/games.php#bor.
data/chars/**/*.png - http://www.senileteam.com/games.php#bor.
data/sprites/**/*.png - http://www.senileteam.com/games.php#bor

我认为这足以赞扬 BoR 团队,因为那是我从该项目中使用的全部内容。Paintown 和 BoR 引擎看起来相似并不奇怪,因为它们使用相同的图形(目前),但共享的程度仅限于此。我一直在尝试替换 Paintown 中的主要图形一段时间了(我甚至启动了一个赎金克隆河),但到目前为止,我仍然在使用 BoR 图形。

BoR 的人对我在“抄袭他们”感到不满,并对我窃取他们游戏的部分内容提出了各种指控。这是 BoR 论坛上的一个帖子,我在其中尝试澄清他们的投诉:www.senileteam.com/forum_thread(84).html

我以尊重的态度询问他们我抄袭了他们游戏的哪些元素,但不幸的是,BoR 的创建者 Roel 不想回应我的请求,反而侮辱了我。最终,我将“Senile”添加到了 Paintown 的致谢列表中,尽管我认为 BoR 社区中没有人知道这件事。BoR 社区中没有人向我提出具体的例子,说明我从他们那里偷了什么东西(除了图形,我并没有“偷”),尽管一些成员含糊地表示我“偷了东西”。

Paintown 从 PlayDeb.net 上被撤下是理所当然的,因为它使用了受版权保护的艺术作品。我从未要求 Paintown 托管在 PlayDeb.net 上,所以我并不介意这个决定。

正在酝酿新鲜、创新或令人脑洞大开的东西?发送电子邮件至 newprojects@linuxjournal.com

John Knight 是一位 26 岁的、沉迷于打鼓和攀岩的狂热分子,来自世界上最孤立的城市——西澳大利亚州珀斯。他通常要么埋头于 Audacity 屏幕,要么将大鼓敲击得面目全非。

加载 Disqus 评论