梦日记中文论坛

 找回密码
 注册

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

搜索
查看: 1211|回复: 0

[资料文献] ynoproject 代码考据与分析

[复制链接]
发表于 2022-2-11 17:05 | 显示全部楼层 |阅读模式
# 关于 EasyRPG

首先一切的一切来自 Rpgmaker 的一个开源版本 —— EasyRPG。
虽然我印象中 RM 的开源版本有很多,但是这个显然是目前最完善的一个,
缺点是只支持 RM2000 和 RM2003 的游戏,因为 RMXP 的代码做了大幅度的更新,几乎是两个项目了。
[网上似乎有一个专门做 RMXP 的开源版 —— MKXP,但是目前社区处于不活跃的状态](https://gist.github.com/Ancurio/fc568571eaf7dd62c550dc3a08c0d08f)。

这类开源重置的程序的一大优势就是大为改善了对设备的兼容性,除了手机、网页、甚至还支持主机。
由于可供支持的设备十分多,社区专门提供了一个 buildScripts 来进行整理。
- [https://github.com/EasyRPG/buildscripts](https://github.com/EasyRPG/buildscripts)

这次的主角就是里面的 emscripten,用来把 cpp 代码编译成 WebAssembly 以支持在网页中运行。

# 版本考古

## Original

根据作者 [在 reddit 上的帖子](https://www.reddit.com/r/yumenik ... me_nikki_come_play/),

早期版本大概长这样:


随后作者在 Github 上留下了客户端和服务器的代码。

- [Client](hhttps://github.com/twig33/ynoclient)
- [Server](https://github.com/twig33/orbs)

这里的客户端可以看作时 easyrpg player 的直接修改,在其基础上同步并渲染了其他玩家的位置。
而 orbs fork 的代码 go 语言的 websocket 聊天室,为 rm 游戏中的每一个场景都建立了一个独立的聊天室,
并且还增加了一个 file server 用于导入导出玩家存档。

随后作者选择将代码留给了社区并进行了神隐,根据目前查阅的资料,由原始版本随后衍生出 ynoproject 和 yumeboo 两个分支。

## ynoproject

- [官网](https://ynoproject.net/)
- [Client](https://github.com/ynoproject/ynoclient)
- [Server](https://github.com/ynoproject/ynoserver)

这份版本直接继承自 twig33 的版本,其中服务端对原来的 orbs 进行了细化,将服务器模块和网页模块进行了分离,
把外面那个框独立了出来,取名 Forest Orb ...(不知道是什么梗)

- [Forest Orb](https://github.com/ynoproject/forest-orb)

另外还做了一个非常酷的门世界的主页,用来在不同的派生之间进行导航。。。

- [Yno Front](https://github.com/ynoproject/yno-front)

## yumeboo

- [官网](https://gaming.yumeboo.ru/)
- [Client](https://github.com/CataractJustice/ynoclient)
- [Server](https://gitlab.com/CataractJustice/YNOnline/)

Yumeboo 是一个来自俄罗斯的梦日记同人图床,维护者为 hujle,(对,她还出现在了上面的截图中)
随着 twig33 的神隐,Yumeboo 也几乎和 ynoproject 同时进行了二次开发,两边的版本各具特色,当然最主要的两点修改是:

1 - Yumeboo 的服务器使用了 nodejs(妈妈再也不用担心我编译不起来 Go 语言了)。
2 - Yumeboo 对客户端进行了更多魔改,将聊天室、网络版设置菜单等功能也一并封装在了客户端里。

所以你进去之后会发现游戏里多了一组菜单,可以用于进行调整。



Easyrpg 里的菜单选项是存储在 vector 里,所以上面多出来的菜单并不需要修改游戏的原代码,和之前一样都是在解释阶段加进去的。
这样的好处和坏处我觉得一样多,首先额外多出来的菜单的风格可以自动同步游戏内部的 UI,比如当你在 y2k 里切换菜单主题的时候,外面聊天框的主题也会随之变化。
但是对于像对于对菜单进行了魔改的游戏,比如 ib 来说,就会出现额外的兼容问题,同时也需要额外的代码来进行本地化。

除此之外两边都处在活跃更新的状态,都加入了对音效的同步,但是都还没有同步其它的 npc。
(例如 y2k 的卧室里开关柜子,其他人就看不到。)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

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

本版积分规则

UI designed by c020109703|Archiver|手机版|小黑屋|

GMT+8, 2024-4-25 23:55 , Processed in 0.218400 second(s), 7 queries , Gzip On, File On.

梦日记中文论坛 ( 闽ICP备17019489号-2 )

© 2021-2025 yumenikki.cc All Rights Reserved.

快速回复 返回顶部 返回列表