在2019年,我玩u3d把玩了一段时间,并制作了一些Demo,其中包括FPSDemo,RPG动作游戏Demo,一些截图如下:

  时间到了2020年5月底,我开始玩之前大学研究过的jMonkeyEngine,不知不觉,jMonkeyEngine已经发展到了3.x版本,在最初的几个星期里,我用3天时间移植了Unity3D制作的一个《僵尸小镇》的游戏原型,如下:

  这期间也尝试给jMonkey社区贡献一些东西,比如MobilePBRLighting:

  当然,还有很多其他的东西,不过跟今天这个主题无关,某个时间点,我突然想起来初中时期和朋友去网吧打CSOL的情节,那时候CSOL刚出大灾变模式不久,第三季的迪欧斯BOSS刚出来,那段时间经常通宵打那几个占据整个服务器的地图——异乱之战,生化魔方还有剧毒之伤。时至今日,我们都长大了,而CSOL仍然在运营中,可是却大大减低了难度,已经没有以前的感觉了(或许为了迎合新人,也或许是我们老了)。

  今年是我工作的第三个年头,我最初打算用ue4移植csol大灾变——异乱之战到Android平台上,但为了多使用不同的引擎,所以这次选用了开源的jMonkeyEngine3.x,以下是一些开发进度图:

  这个游戏并没有使用复杂的光照技术(原因是CSOL的模型太古老了,连法线纹理都没有,谈何去制作什么光照,更别说PBR材质了)。经过这次开发和重新把玩jMonkey,我发现大部分人低估了这个引擎的性能,事实上,如果你去下载这个引擎开发的游戏,比如无限世界《崛起的世界》,还有类似《我的世界》的《Mythruna》等等,你会发现,在集成显卡上依旧60帧率。

  关于渲染表现,下面是一些我测试的截图:

  好吧,简而言之,不夸大其优势。jMonkey绝对是java里最好的3D游戏引擎,当然,它和流行的u3d,unrealEngine相比,有很长一段距离,甚至跟Godot相比,都有很长一段距离,原因是jMonkey没有一个商用化成熟的所见所得编辑器(SDK虽然能用,但是远不及前面几个引擎的开发套件)。

  但是作为过来人,如果你不以游戏作为职业,或者你只是业余爱好,那么大可尝试下,当然,也可多试试其他几个引擎。你会发现各个引擎都有自己的特点。

  目前...Android大灾变仍然移植中,原本打算2020年12月底完成的,没想到又拖延了哈哈,只能怪我太懒了。原计划2个月完成的,一而再再而三拖到现在。

CSOL大灾变移植记录的更多相关文章

  1. MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意

    32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...

  2. canconfig 移植记录

    can 在Linux 里面是作为一个网络设备存在的,记录一下 canconfig 移植过程. 一. 下载 canutils 和 libsocketcan libsocketcan 地址: http:/ ...

  3. dhcp server 移植记录

    这次移植 WIFI ,需要做成 AP 模式,所以,需要移植 dhcp 服务端 busybox 里面自带 udhcpd 选项. 打开buildroot , make busybox-menuconfig ...

  4. MySql 数据库移植记录

    在使用长文本时,SqlServer 在以下情况下工作正常 [Property("CContent", ColumnType = "StringClob", Le ...

  5. android5.1移植记录

    应用能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的frameworks/base/packages/Setting ...

  6. ssh 移植记录

    利用buildroot 先编译一个 sshd cd buildroot-2016.05/ make menuconfig Target packages ---> Networking appl ...

  7. vim 移植记录

    下载两个源码包: vim : ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2\ ncurses-5.8.tar.gz http://ftp.gnu.org ...

  8. 移植 libuv 至 Visual C++ 6.0 并支持 Windows XP 编译系统

    移植版本 libuv:https://github.com/liigo/libuv-vc6 (支持VC6和XP.作者Liigo). 我从一年前(大概2013年6,7月份)開始在业余时间做这项移植工作, ...

  9. 移植Iperf到android 用来学习linux移植到安卓的例子

    Iperf移植记录 1.生成arm编译需要的头文件config.h ./configure --host=arm如果需要make clean make distclean2.增加Android.mk文 ...

  10. 把php上传sae问题要使用IO

    应用移植指南 一,为什么要移植应用 SAE禁止IO写操作,代码目录不能写入.这意味着普通程序的上传图片.生成缓存等操作都不能在SAE上正常运行,这时候你需要对这些代码进行修改后才能让你的程序运行在SA ...

随机推荐

  1. 《CSOL大灾变》Mobile移植记录——购买区域

    在CSOL大灾变模式中,购买武器只能出现在特定区域,如下:    这里可以通过添加一些不渲染的BOX(如图中的蓝色BOX)作为触发器,然后检测玩家与之触发后才能弹出购买菜单. 在JmonkeyEngi ...

  2. netmiko批量操作网络设备_pandas版

    from concurrent.futures import ThreadPoolExecutor import netmiko import os from threading import Loc ...

  3. 【SSO单点系列】(5):CAS4.0 之JDBC

    deployerConfigContext.xml 修改对应添加以下代码 <bean id="SearchModeSearchDatabaseAuthenticationHandler ...

  4. 【windows】 进程间通信 WM_COPYDATA消息

    WM_COPYDATA消息可以实现window应用程序之间的数据传输,是同步传输方式. 需要用到结构体 COPYDATASTRUCT typedef struct tagCOPYDATASTRUCT ...

  5. 前端js校验小数点

    let result = (value.toString()).indexOf("."); if (result != -1 && value.toString() ...

  6. 5. nginx跨域配置

    1.跨域问题处理:在nginx相关接口上配置如下: 如接口有自己的请求头,则加上:如接口自带请求头pubacc-buid if ($request_method = "OPTIONS&quo ...

  7. C++知识整理

    整理进度 1_ C++(31)中有很多没有整理的,找出来整理. 1.C++语言基础 C++中的头文件(.h) STL基本使用总结 C++里的花括号{},块:{}中的变量只在{}中有效 C++类型转换: ...

  8. java 之 UncaughtExceptionHandler异常处理机制

    1.java 1.5版本出现的 UncaughtExceptionHandler 当线程由于未捕获异常突然终止时调用的处理程序的接口. 当一个线程由于未捕获异常即将终止时,Java虚拟机将使用thre ...

  9. 230219 Business 31-48

    31.  31: Maternity LeaveVeronica, when is your baby due?Next month.Are you going on maternity leave? ...

  10. 【记录】Linux Mint Cinnamon Desktop Enviroment使用记录

    之前使用的系统是Kali Linux,并不是看上了一堆工具,工具的话上虚拟机不好吗,会折腾的docker更好阿,主要是 1. 用习惯了gnome的桌面环境 2. 开箱即用 很多配置他都已经做好了 我都 ...