楼主: guoxiaomi

[讨论] 设计一个简单的游戏引擎

[复制链接]
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

 楼主| 发表于 2022-7-10 01:00:12 | 显示全部楼层
V0.5.2版本

度盘链接:https://pan.baidu.com/s/1TGnar4v72MSPuMv7hD-doQ?pwd=e9ux
提取码: e9ux

主要把默认的directx9更换成了directx11,解决了大量的兼容性bug,目前Bitmap除去字体外的功能,Sprite和Viewport的全部功能都已经实现。

此外,加载程序也有一些区别,现在不再内置main.rb文件,而是直接读取load.rb并执行,release版本则会读取压缩包内的load.rb。

代码分布情况,其中scripts是ruby代码,shader可以忽略,core/base/rmxp是C++代码:
Screenshot 2022-07-10 005754.png

评分

参与人数 1赞 +1 收起 理由
b565185756 + 1 先占个一楼!郭兄大人是最强的神中神!!!.

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

 楼主| 发表于 2022-7-21 23:06:56 | 显示全部楼层
本帖最后由 guoxiaomi 于 2022-7-21 23:17 编辑

V0.6.1版本

度盘链接: https://pan.baidu.com/s/1GrMgYQh0b3pp-du4SKzQaQ?pwd=pxfv
提取码: pxfv

现在打包时会附上测试的工程,内含RTP。

实现了除了 Graphics.freeze 和 transition 以外全部的绘制功能。tilemap是工作的重点,实现了:
1. 支持修改z值(我想没人会需要这个)
2. 允许任意多的优先级和图层(虽然编辑器做不到,但是可以用脚本修改map_data和priorities)
3. 可以取消默认的周期性绘制(是不是今天才知道tilemap跟plane一样是平铺的)
4. 一些绘制上的优化处理(可把我累坏了)

优先级遮挡测试,保证跟RMXP一模一样~
Screenshot 2022-07-21 231247.png

代码量统计:
Screenshot 2022-07-21 230146.png

评分

参与人数 1赞 +1 收起 理由
wynn111 + 1 塞糖

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
7306
在线时间
471 小时
注册时间
2018-5-3
回帖
116
发表于 2022-7-22 00:04:16 | 显示全部楼层
大佬!小白默默膜拜、观望!!!

点评

欢迎下载测试,反馈bug~  发表于 2022-7-22 00:35
云中探月
               河边弄柳
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

 楼主| 发表于 2022-7-30 00:55:39 | 显示全部楼层
V0.7.0版本

度盘链接: https://pan.baidu.com/s/1ERxmrI2I9cz3EH2-o0zPXA?pwd=v2bu
提取码: v2bu

已经实现了RMXP的全部功能。音频部分使用SDL_Mixer完成,所以有一些功能限制:
1. 无法修改bgm和me的音调(pitch)
2. mid格式的循环标记无法识别,循环播放时会衔接不上。
3. mid格式的音乐作为bgm被me打断后,只能从头播放。
4. 001-System01.ogg,无法正常播放,可能因为太短了,实测转换成wav就可以。

此外添加了基于Fiddle实现的Win32API类,不过RGM是64位的程序,而原版RMXP是32位的,dll显然不兼容。这里只是提供了一种动态扩展的手段。

代码量统计:
Screenshot 2022-07-30 005441.png
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

 楼主| 发表于 2022-8-16 22:57:36 | 显示全部楼层
V0.7.2版本

度盘链接: https://pan.baidu.com/s/1lHGJKm8uIqbrX9nbYU9LLQ?pwd=3bk3
提取码: 3bk3

1. 重写了music和sound的实现,修复了音频的一些bug,目前切换me还是偶有爆破音,有待进一步调整。
2. 非release版本现在可以读取命令行里的debug,btest和-v。
3. 添加了宏RGMLOAD,用来将ruby的VALUE转换成特定类型的变量。

接下来会添加输入法的功能,然后加上F1菜单。

但是接下来的更新速度就不能保证了,因为从明天开始我就要上班赚钱了XD,我的计划是10月完成alpha版本供测试,年底修复完反馈的bug发布正式版。
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
2319
在线时间
124 小时
注册时间
2017-2-26
回帖
32
发表于 2022-8-16 23:45:22 | 显示全部楼层
xp的好时代,来临力

评分

参与人数 1赞 +1 收起 理由
guoxiaomi + 1 我很赞同

查看全部评分

RM水友群号   917854767  欢迎加入
回复

使用道具 举报

梦石
1
星屑
175
在线时间
17 小时
注册时间
2017-4-24
回帖
9
发表于 2022-8-22 01:45:27 | 显示全部楼层
太秀了,狠狠膜拜

评分

参与人数 1赞 +1 收起 理由
guoxiaomi + 1 塞糖

查看全部评分

回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

 楼主| 发表于 2022-9-4 19:28:11 | 显示全部楼层
本帖最后由 guoxiaomi 于 2022-9-5 12:29 编辑

最近写这个引擎烧掉了我大量的脑细胞,不过终于写完了!

给大家一个demo供测试吧: RGModern-Project1.zip (5.77 MB, 下载次数: 23)

与前面的版本不同,这个demo是32位的程序(ruby也是32位的),工程是默认的空工程,附带了001-system01.wav文件。

差不多就是这样了,等到10月份我会把项目整理好,开源到github上。

已知bug:
1. 战斗测试无渐变效果
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
341
在线时间
27 小时
注册时间
2022-9-10
回帖
34
发表于 2022-9-13 20:38:02 | 显示全部楼层
本帖最后由 heipai 于 2022-9-15 08:03 编辑

可以直接为您开一个新版块,然后版块内全是大家用您的引擎做的游戏
想想就牛了,膜拜一波
可惜我64位

点评

发布32位程序是因为要兼容一些旧的dll,它仍然可以在64位系统使用。最终发布和测试还是以64位程序为主。  发表于 2022-9-15 11:41
做出来有人用就谢天谢地了  发表于 2022-9-15 00:11

评分

参与人数 1赞 +1 收起 理由
guoxiaomi + 1 欢迎试用

查看全部评分

哟西,前方一片广阔的领域!
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

 楼主| 发表于 2022-10-30 20:58:14 | 显示全部楼层
因为三次元的一些事情,发布推迟到12月。
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部