在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. Mysql压缩包版本安装

    之前一直使用的是安装包,今天懒得去下载了,直接用压缩包安装,记录一下. 1.先去官网下载压缩包.https://dev.mysql.com/downloads/mysql/8.0.html 2.将文件 ...

  2. React.CreateContext

    跨组件传递的内容组件,该组件导出两个对象Provider 提供数据, Consumer, 消费数据 Context被翻译为上下文,在React的官方文档中归类于高级部分,属于React的高级API,但 ...

  3. Python爬虫抓取图片(re模块处理正则表达式)

    import os.path import re import requests if __name__ == '__main__': # 如果不存在该文件夹则进行创建 if not os.path. ...

  4. K8S部署之kubeadm

    K8S部署笔记 一.集群环境说明 主机名 IP地址 说明 k8s-master01 192.168.1.107 master节点 k8s-master02 192.168.1.108 master节点 ...

  5. Java-Java调用mysqldump进行数据库备份

    1 public ResultData backupDatabase(Integer type) { 2 // 构建备份sql的文件名 3 String sqlFileName = "tes ...

  6. (已解决)用phpstudy8创建个数据库(非root),结果没有访问权限。

    1. 问题 用phpstudy_pro,即最新版本,创建非root用户的数据库,然后后台访问它却提示没有权限. 2. 解决办法 进入系统自带的user表,修改权限.具体操作如下: a. 首先找到自己用 ...

  7. python随机数模拟

    `#随机数 import random red = range(1,36,1) red_target_list=[] i=1 while i< 6: red_ran_index=random.r ...

  8. uni-app 声音/震动提示,播放系统默认消息声音 安卓(Android)测试通过

    可以跟据自己需求使用,有不足的地方希望大家帮忙补充 参数 type Options vibrate:震动 othre:铃声 1 msg_remind(type) 2 { 3 if(type=='vib ...

  9. 关于SQLsever2012报错的一些经验总结

    问题描述:数据库连接实例时出现报错情况: 问题截图: 故障软件:SQL sever2012 操作系统:windows sever 2022R2数据中心 期望结果:可以打开之前的实例 总结经验: 上面这 ...

  10. debian安装mate桌面环境的方法(图)

    debian安装mate桌面环境的方法(图) 2018年11月11日   |   浏览: 5199   |  来源:www.yangshengliang.com   debian安装时是可以选择桌面环 ...