Project1

标题: 【已找到合作方】新RPG引擎开发计划 [打印本页]

作者: Admenri    时间: 2024-6-6 16:11
标题: 【已找到合作方】新RPG引擎开发计划
本帖最后由 Admenri 于 2024-7-19 22:53 编辑

太长不看省流版:RGD跨平台开源版

- 当前进度(24.7.19更):
已找到同能RPG网站作为合作方 (rpg.rgss.cn),目前正在移植WEB端并重写XP编辑器实现一键打包。
由于使用人数太少,暂停开放交流QQ群,有事可以在上面的同能论坛的RGU板块发帖求助。

======================================================
给还在坚持使用RGSS系的Maker的福利,
花了半年用Ruby 3 + SDL 3 + OGL ES 2.0重写的引擎,
虽然发过帖子但还是没人用,不过还是坚持更完了全部的RGSS1/2/3的内容
这套Game.exe的重要特性:(图先欠着之后补.png)
- Bitmap非软渲染,图像部分大量使用显卡代替原版的绘图工作
XP也能用VA的功能(截图,播视频)

- 画面帧数的极大提升
RGM > RGU > RGD >> 原版

- 极佳的跨平台可移植特性:
已完成安卓端移植和适配

- 充分利用现代CPU的多核特性:
音频解码播放部分和视频解码部分已与逻辑线程分离

- 其他没用的东西:
能播AV1编码的视频并解码成Bitmap
批量三角形绘制+支持OGL的着色器(WebGL同款)
移动端触屏,支持10指输入
内置全键盘+鼠标
输入法输入,但是无需外部DLL
F1菜单,但是不限制绑定的按键
特制游戏数据加密,支持字体,图片,音频,视频打包加密
(是的,引擎内部的设计是能读取的文件都可以走加密文件)





目前还在想办法改进性能和添加功能
业余程序编写,源码写的不好别喷>_<
写引擎真的很费时间精力,但是看到开始有人用后也就有了动力更新
希望RGSS系用户都能摆脱软渲染的噩梦

- 注意事项:
Q:如何判断自己的游戏适不适合这个引擎?
A:打开脚本编辑器搜索Win32API,没有的话可以直接替换使用
Q:很多脚本不兼容怎么办
A:引擎内置不少功能,完全可以平替,就是需要做适配,但是比起原版的帧数是很值得的
Q:有使用教程吗
A:教程没有,但是有扩展功能的说明文档(压缩包自带)

有疑问可在此贴提问,希望各位Maker都能做出自己想要的游戏
后续更新也会发到这里

==============================================================

源码仓库(持续更新,欢迎贡献):
https://github.com/Admenri/rguplayer
开箱即用exe下载:
https://admenri.lanzout.com/b0d6tmbbi 密码:cbx6








作者: 烁灵    时间: 2024-6-6 16:53
期待画多边形功能
作者: kangxi0109    时间: 2024-6-6 19:53
支持!作为一个XP的拥护者,看到这个就滚进来了
话说搜索win32api出来了外挂脚本也可以吗?

作者: Admenri    时间: 2024-6-6 20:08
kangxi0109 发表于 2024-6-6 19:53
支持!作为一个XP的拥护者,看到这个就滚进来了
话说搜索win32api出来了外挂脚本也可以吗?
...

引擎为了跨平台砍掉了win32api,这部分需要用户用引擎提供的功能实现
坏处是麻烦,好处是移植手机的时候非常简单
作者: Admenri    时间: 2024-6-6 22:29
kangxi0109 发表于 2024-6-6 19:53
支持!作为一个XP的拥护者,看到这个就滚进来了
话说搜索win32api出来了外挂脚本也可以吗?
...

RUBY 代码复制
  1. class Font
  2.   def marshal_dump
  3.   end
  4.   def marshal_load(obj)
  5.   end
  6. end
  7. class Bitmap
  8.   def _dump(limit)
  9.     data = "\0" * width * height * 4
  10.     process_pixel { |pixels| pixels.save_data(data) }
  11.     [width, height, Zlib::Deflate.deflate(data)].pack("LLa*")
  12.   end
  13.   def self._load(str)
  14.     w, h, zdata = str.unpack("LLa*")
  15.     data = Zlib::Inflate.inflate(zdata)
  16.     bmp = self.new(w, h)
  17.     bmp.process_pixel { |pixels| pixels.load_data(data) }
  18.     return bmp
  19.   end
  20. end


可直接替换截图存档的核心
作者: 哇哇哇啊叭叭    时间: 2024-6-7 21:04
  
  感谢楼主慷慨分享!
  感觉完全没明白为什么,va和之前的版本就被淘汰了。看起来跟win32、openGL有关,是意味着跟操作系统的位数、网页图像渲染有关吗?
  
作者: Admenri    时间: 2024-6-7 21:49
kangxi0109 发表于 2024-6-6 19:53
支持!作为一个XP的拥护者,看到这个就滚进来了
话说搜索win32api出来了外挂脚本也可以吗?
...

截图功能忘说了,这个引擎把va的功能下放给xp了,现在截图可以直接Graphics.snap_to_bitmap
也可以取Viewport的截图:Viewport.snap_to_bitmap(target)
Bitmap对象也有Bitmap#save_png(path) 功能可以直接把位图保存为png
作者: Admenri    时间: 2024-6-7 21:56
本帖最后由 Admenri 于 2024-6-7 22:01 编辑
哇哇哇啊叭叭 发表于 2024-6-7 21:04
感谢楼主慷慨分享!
  感觉完全没明白为什么,va和之前的版本就被淘汰了。看起来跟win32、openGL有关 ...

原版RGSS的运行时(Game.exe)基本就是和Windows绑定的,
目前研究来看,XP,VX这两代的引擎在渲染时是一点GPU也没用的(软渲染)
VA有些GPU使用但是效率依然拉垮,
后来者RGD虽然提升了绘图效率,但脚本引擎还是原版的1.9,要知道这个版本是2010年的了
而且依然和Windows绑死了
目前认为RGSS衰落原因之一就是绑死Windows平台和效率底下以及不开源的特性
所以我也把3年前的RGU拉出来全部重写开源了,
Ruby用的是3x3升级的3.0版本
绘制也用OGL分担了大量CPU的工作,
比MVMZ的浏览器环境轻量,且引擎是开源的,可以自己随便加功能
(顺便一提,MV以后的48x48图块我的引擎也是支持的)

目前引擎的功能都是经过跨平台论证后才加入的,
理论上用户游戏如果只用了RGSS的接口和引擎提供的功能是可以无障碍移植到各个平台的(Android Windows Linux ...)

作者: 凯琳·赛拉菲姆    时间: 2024-6-11 22:10
内置功能怎么使用啊
作者: Admenri    时间: 2024-6-11 22:56
凯琳·赛拉菲姆 发表于 2024-6-11 22:10
内置功能怎么使用啊

自带了扩展API的说明文档(脚本)
如果你不懂脚本可以进群了解已经编写好的脚本:794325843
作者: 零教授    时间: 2024-8-15 15:48
楼主能帮咱尝试一下RGU的工程适配嘛…… 游戏工程目前是RGD
因为最近发了游戏正式版预告所以一堆人入手发现游戏不支持steam deck
想解决一下兼容性问题。

游戏除了输入和steam api就没有用过win32api
但是因为内部鼠标、手柄等输入模块用的RGD的内部方法
播放视频、sprite和viewport类的shader也是用的RGD的对应方法
虽然数量不多但是底层的东西自己适配起来还是很苦手。

不知道能否支援咱一下呢o(╥﹏╥)o
游戏9月30就要上线了现在人手真的不足。 有偿外包而且还有预算留给程序外包。并且一定会上制作人员表(制作人员表还蛮大的,欢迎加入!)

如果有空的话可以加一下咱QQ:854923362
我发给您工程您评估一下工作量




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1