View on GitHub

tutorial-for-beginners

jMonkeyEngine初学者教程(中文版)

序章:jME3的故事

起源

早在2003年的时候,那时的jME还不叫jMonkeyEngine,也不是一款游戏引擎。作者只是想要尝试一下Java的3D图形性能,于是启动了一个项目,只实现了最基本的场景图管理和图形渲染。

作者的名字叫做Mark Powell,他在论坛的昵称叫做MojoMonk。这个项目被命名为MojoMonkey,后来更名为jMonkeyEngine

Mark Powell在实现了一个基本的图形引擎(Display System)后,又逐步为这个引擎添加了:

等模块,将其发展成了一个完整的游戏引擎。并在2005年的游戏开发者大会(GDC)上首次将其公开介绍给整个Java社区。

关于这个名字

为什么这个引擎要叫做jMonkeyEngine?作者的原话是这么说的:

Yes, before jME existed I used MojoMonkey as my gamer tags. Early in my career I worked for a military contractor and started studying graphics engines for rendering some things they were working on. This was all done in C++ and became complex enough that I figured that it was an engine, so jokingly called it the Monkey Engine. Fast forward a few years and I am working in Java and again need to do some graphics. I dust off the Monkey Engine and start converting it to Java, so start calling it jMonkey Engine (j for Java obviously).

Then it sort of took off from there, Joshua Slack jumped on board, NCsoft hired us to build games with it, NCsoft started having failures and cutting teams, I moved on to other pursuits and handed it off to others, then this thread was written. The end.

译文:

早些时候我曾为一家军事承包商工作过,在那里初次接触、学习了图形引擎,主要工作就是开发程序,用于渲染他们需要的东西。那个程序是用纯C++开发的,其复杂度足以让我搞懂什么是“引擎”,我戏称它为“猴子引擎”。

几年后,我开始从事Java开发工作,同样需要搞一些图形化的东西。于是我把“猴子引擎”从尘埃中拾起,并且尝试把它转成Java程序,并开始称其为jMonkeyEngine(显然字母j代表Java)。

后来这个玩意就起飞了,Joshua Slack上了我的贼船,NCsoft公司雇佣我们俩来开发游戏,就用这个引擎。再后来NCsoft经历了失败和裁员,我的兴趣也转向了其他东西,并将jME交给了别人。当我写下这个帖子的时候,结束了。

注1:他提到的NCsoft公司,就是韩国那家开发了“永恒之塔”、“天堂”、“天堂II”以及“剑灵”的公司。

注2:我在官方论坛找到了2007年时NCsoft通过mojomonk在论坛招人的帖子: NCsoft looking for engineers

Logo和吉祥物

jMonkeyEngine3以猴子为名,它的吉祥物也是只小猴子,名叫Jaime。

Jaime

Nehon使用Blender制作一个Jaime的3D动画模型,它现在是jME3-testdata中的一部分。

Jaime2

不知道你有没有注意到,Jaime的名字是一个双关语。它的发音就是 Jaime = ‘J’ ‘M’ ‘E’三个字母连读。

我知道jME3,那jME1和jME2去哪了?

从2003年到2008年的这段时间,jME的主要开发工作是由Mark Powel来完成的。jME的版本从0.1一直升级到了2.0,最后不再更新。在他放弃这个项目之后,jME改由社区团队来接手,经过重新设计,在2007年愚人节那天推出了jME3的第一个预览版本。

总的来说,jME2和jME3是完全不同的两个东西。原作者在jME2时期之后就不再参与这个项目,目前的jME3完全是另一伙极客组成的核心团队在开发。在有了jME3之后,核心团队就放弃了jME2。jME2的源代码应该还留存在GoogleCode的代码仓库中,但是在2.0之后就没有继续维护下去了。

Ardor3D

Joshua SlackMark Powell在jMonkeyEngine项目上的合作人,也是这个项目的核心开发者,他在论坛的昵称是Renanse

当jME2项目被社区放弃之后,Joshua SlackRikard Herlitz在2008年9月23日发起了由jME2衍生而来的另一个项目,Ardor3D。

这个项目在2009年1月2日首次发布,此后几乎每个月都会有一次版本更新发布,直到2014年3月11日,Joshua Slack宣布放弃这个项目。

JogAmp’s Ardor3D Continuation

当Ardor3D被宣布废弃之后不久,一位名为Julien Gouesse的开发者宣布自己不愿放弃这个他倾注了大量心血的引擎,打算自行维护这个项目。他fork了Ardor3D的一个分支,称其为JogAmp's Ardor3D Continuation

下面是作者为这个项目编写的手册: https://gouessej.wordpress.com/2014/11/22/ardor3d-est-mort-vive-jogamps-ardor3d-continuation-ardor3d-is-dead-long-life-to-jogamps-ardor3d-continuation/

这个项目的一直处于活动状态,代码仓库位于Github:https://github.com/gouessej/Ardor3D

Github上最后一次提交是2016年8月份。

jME编年史

jMonkeyEngine的历史分为2个时期:jME时期和jME3时期。

jME 0.1 ~ 2.0

jME 3.0 ~ 现在