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 ...
随机推荐
- C# 调用Web Api通用方法
1.通用方法 public class GetDataByWebApi { /// <summary> /// 通过web api获取数据的方法 /// </summary> ...
- JQUERY动态的修改<div>样式
首先需要引入JQUERY <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> & ...
- 深度剖析生产工厂用ERP系统进行管理有哪些优势
对于生产制造企业而言,生产现场管理永远是其得以健康发展的重要环节.现场是产品开发和生产的场所,企业要降低成本.按期交付产品,以及产品质量要达到客户所期望的要求和水平,这一切都要在现场实现,企业也正是从 ...
- GNN学习(一):基础知识
1 # !usr/bin/env python 2 # -*- coding:utf-8 _*- 3 # @Time :2022/8/20 10:46 4 # @Author: VVZ 5 # @Fi ...
- 【Hive】元数据库部署的三种方式和选择【metaStore server】
一.Derby 元数据使用之前,要在hive目录下执行schematool命令,进行初始化设置 bin/schematool -dbType derby -initSchema 启动hive后,可以用 ...
- Twenty-six
条件渲染指令 v-if:动态移除或创建元素(如果刚进入页面的时候,某些元素默认不需要被显示,而且后期这个元素很可能也不需要被展示出来) v-show: 添加或移除display:none的样式(频繁切 ...
- 微信小程序JS遇到【object object 】怎么打印?js如何打印object对象
console.log(JSON.stringify(user)):或者打印的时候直接 console.log(user):不要出现'""'+这些符号
- 【RUNOOB】C语言学习之指针
资料来源: (1) runoob; (2) C语言程序设计; 注1:Runoob中对于指针的讲述比较清晰简单,摘录出来(后续补充指针与结构体,指针与函数参数); 1.指针与变量的内存位置 (1) 每个 ...
- pycharm永久激活码(亲测好用)
引用自某不知名大佬,在此致谢,获取激活码链接如下: https://www.ajihuo.com/pycharm/4197.html
- 安装oracle出现环境不满足最低要求
安装win64_11gR2_database_1of2的时候出现这个,百度了下解决方法 在oracle安装包找到stage文件夹 然后找到cvu 然后在cvu里面找到cvu_prereq,用记事本打开 ...