CSOL大灾变移植记录
在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大灾变移植记录的更多相关文章
- MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意
32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...
- canconfig 移植记录
can 在Linux 里面是作为一个网络设备存在的,记录一下 canconfig 移植过程. 一. 下载 canutils 和 libsocketcan libsocketcan 地址: http:/ ...
- dhcp server 移植记录
这次移植 WIFI ,需要做成 AP 模式,所以,需要移植 dhcp 服务端 busybox 里面自带 udhcpd 选项. 打开buildroot , make busybox-menuconfig ...
- MySql 数据库移植记录
在使用长文本时,SqlServer 在以下情况下工作正常 [Property("CContent", ColumnType = "StringClob", Le ...
- android5.1移植记录
应用能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的frameworks/base/packages/Setting ...
- ssh 移植记录
利用buildroot 先编译一个 sshd cd buildroot-2016.05/ make menuconfig Target packages ---> Networking appl ...
- vim 移植记录
下载两个源码包: vim : ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2\ ncurses-5.8.tar.gz http://ftp.gnu.org ...
- 移植 libuv 至 Visual C++ 6.0 并支持 Windows XP 编译系统
移植版本 libuv:https://github.com/liigo/libuv-vc6 (支持VC6和XP.作者Liigo). 我从一年前(大概2013年6,7月份)開始在业余时间做这项移植工作, ...
- 移植Iperf到android 用来学习linux移植到安卓的例子
Iperf移植记录 1.生成arm编译需要的头文件config.h ./configure --host=arm如果需要make clean make distclean2.增加Android.mk文 ...
- 把php上传sae问题要使用IO
应用移植指南 一,为什么要移植应用 SAE禁止IO写操作,代码目录不能写入.这意味着普通程序的上传图片.生成缓存等操作都不能在SAE上正常运行,这时候你需要对这些代码进行修改后才能让你的程序运行在SA ...
随机推荐
- Angular单页应用程式 (SPA)+Azure AD重新导向登入
一.app.module.ts中设定应用程式 1.将MSAL Angular相关设置封装为auth.module.ts import { NgModule } from '@angular/core' ...
- Jenkins Pipeline(一) - 创建一个新的pipeline
jenkins pipeline: 使用Goovy语法,以代码形式更自由地编写jenkins job. 代码文本被称为Jenkinsfile IDE: vscode 推荐安装vscode插件: jen ...
- 对于AF、RI、Safety from rep exposure、spec的归纳总结
每次写实验时,在写代码之前都要进行AFRISafety from rep exposure spec的编写,过程十分繁琐,但是也非常有用.根据他们写代码,不仅可以找到切入点,而且思路更加清晰了,避免了 ...
- Kubernetes--容器重启策略和Pod终止过程
容器的重启策略 容器程序发生崩溃或容器申请超出限制的资源等原因都可能会导致Pod对象的终止,此时是否应该重建该Pod对象则取决于其重启策咯(restartPolicy)属性的定义. 1)Always: ...
- 微信小程序隐私指引完整填写范本(开发者收集你选中的照片或视频信息,用于?)
为了分辨用户,开发者将在获取你的明示同意后,收集你的微信昵称.头像.为了显示距离,开发者将在获取你的明示同意后,收集你的位置信息.开发者收集你的地址,用于获取位置信息.开发者收集你的发票信息,用于维护 ...
- Docker 安装 PHP+Nginx
安装Nginx docker pull nginx 安装PHP docker pull php:7.3.5-fpm 启动PHP-FPM docker run --name myphpfpm -v /d ...
- mybatis 数据搜索后参数显示乱码无法搜到
今天写作业的时候遇到的小问题 问题说明:搜索订单名中含有"香皂"的订单,显示订单的一系列属性.在搜索后,调试框中显示的东西很奇怪,也没有查找到答案: 觉得是编码问题,所以调试了编码 ...
- WPF检测设备变化
如果在构造函数中设置会出现为空 HwndSource source = PresentationSource.FromVisual(this) as HwndSource; 此时 source = n ...
- hive在执行简单的insert命令也会卡在kill command
终于解决了 我的配置有点问题,但在每次进入hive后,执行一遍 set hive.exec.mode.local.auto=true; 就可以用了 终于,困扰我三四天的问题解决了
- Java基础__05.网络编程
通信协议 即约定网络通信时的一些内容. TCP和UDP对比 TCP:类比打电话 连接稳定 三次握手.四次挥手 客户端.服务端 传输完成.释放连接,效率低 UDP:类比发短信 不连接.不稳定: 客户端. ...