最近烧哥发现个宝藏项目,竟然用Java开发了暗黑2出来。

众所周知,暗黑2是暴雪开发的一款经典游戏,距今虽有20多年,仍然有很多粉丝。

粉丝延续热情的方式有很多,一种是做Mod,比如魔电,对怪物、技能、物品、场景、甚至游戏机制都有大改,目前还在定期更新,并有战网提供。

另一种是纯怀旧,用另外的编程语言重新制作,没想到竟然有Java出场。

暴雪原版是C++开发,商业游戏,没有源码,但国外大佬早已破译90%以上的逻辑,为各种重制提供了可能。

首先是OpenDiablo2,最开始用golang,后面因为性能问题改为C++、Lua。

然后是devilution,基于Unity、C#。

接下来就到了riiablo,基于Java、LibGDX。

还是看下界面:

是不是原汁原味,还带点现代感?里面的资源都是从原版MPQ里提取,运行时也需要用户手动提供。

而且还提供了安卓版,第一次启动挺慢,要解压很多资源:

模拟器上运行的,可能有点失真,白球可以触摸控制走动,下面一排分别为角色、任务、物品、技能等。

据调查,Java的游戏引擎主要有以下几种:

  • 基于Box2D和LiquidFun的JBox2D
  • 基于pybullet的Bullet
  • 基于bump.lua的jbump
  • 基于JavaFX的FXGL
  • LWJGL
  • JMonkeyEngine
  • libGDX

最后,Act4,谁能告诉我这是什么?