在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. win10安装双版本mysql的方法

    因为app作业缘故,之前装的mysql8.0版本无法兼容因此打算再装一个5.7版本的mysql,历经3,4天终于成功,现记录下这血一般的教训 首先官网下再mysql5.7.37的安装包 下载地址htt ...

  2. MSSQL执行超大.sql脚本

    1.打开mssql安装路径:找到Microsoft SQL Server Management Studio的图标,点击右键属性>打开文件位置 2.在安装路径下打开cmd控制台 3.输入命令: ...

  3. SQL server 去掉重复数据

    只要数据表"列名"数据相同,则说明是两条重复的数据(ID为数据表的主键自动增长). 推荐使用方法一 -- 方法一 select * from 表名 A where not exis ...

  4. C# 前台线程 后台线程区别

    前台线程 会随进程一起结束 不管是否完成,后台线程需要执行完毕,进程才能结束 例子: class Program { static void Main(string[] args) { Thread ...

  5. uniapp组件监听onShow

    在uniapp开发中,组件中需要监听页面onShow的方法 index.vue onShow() { uni.$emit('onShow', 1); //用于子组件监听onShow }, 子组件 be ...

  6. websphere+IHS+plugin集群搭建

    配置:wa1+was2 was1:Dmgr app01 oracle  ihs was2:Dmgr app02 原理:通过Dmgr管理下面两个agent,再通过agent去间接控制运行在节点上的ser ...

  7. http 1.0、2.0、3.0 之间的区别

    首先是HTTP协议: HTTP 是 HyperText Transfer Protocol(超文本传输协议)的缩写,它是互联网上应用最为广泛的一种网络协议,所有 WWW 文件都必须遵守这个标准.其他的 ...

  8. pyg安装

    pyg官网:pytorch_geometric documentation (pytorch-geometric.readthedocs.io) win安装pyg各种报错,原因在于pytorch和py ...

  9. Jenkins+Docker 实现一键自动化部署项目!

    博主分享的非常好:https://mp.weixin.qq.com/s/a0JOuiqLsUMcQSEjZ4uGTg 本文章实现最简单全面的Jenkins+docker+springboot 一键自动 ...

  10. AutoCAD专用卸载工具,完美彻底卸载清除干净AutoCAD各种残留注册表和文件。

    AutoCAD专用卸载工具,完全彻底卸载删除干净AutoCAD各种残留注册表和文件的方法和步骤.如何卸载AutoCAD呢?有很多同学想把AutoCAD卸载后重新安装,但是发现AutoCAD安装到一半就 ...