Skip to content

Latest commit

 

History

History
1519 lines (1346 loc) · 63.1 KB

README.md

File metadata and controls

1519 lines (1346 loc) · 63.1 KB

wmt_vn_study

My visual novel game engine study projects (or something about...).
I want to find the similarity among too many visual novel engines (see vndb, more than 400),
like how to transform scripts into binary to protect the game.
DO NOT waste time to unpack them, there's no sense.

昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否,知否?应是绿肥红瘦。  
——李清照《如梦令·昨夜雨疏风骤》  
Nothing seek, nothing find

TODO

Old index / References

nscripter

http://suzakura.noblog.net/blog/e/10556440.html
http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html
http://ginnie.kntware.net/
http://www.k-collect.net/pe/index.htm

onscripter

[unofficial] cn.natdon.onscripter 20111124: 
	onscripter.rar  
[unofficial] jp.katane.onscripter 20120712: 
	onscripter_android_src_20120712-katane2.tbz2
[official] jp.ogapee.onscripter 20120824: 
	onscripter_android_v1.7z  
[unofficial] cn.natdon.onscripterv2 20150802 (3.0.3 include xclannad and xsystem35): 
	ONScripter-CN_v1.7z
[closed source unofficial] 小鸡模拟器的ONS:cn/natdon/onscripterv2
	感觉好像多了一些类,可能做了改动或者基于别的分支代码
	xiaoji_android_v1.8.9-A028.apk
	https://github.com/natdon/ONScripter-CN/tree/master/src/cn/natdon  

onscripter-en

onscripter by insani (see http://dev.haeleth.net/onscripter.shtml after 2007.04.08)

ONSlaught - An ONScripter clone with Unicode support.

onscripter-jh SDL2 branch (also include SDL 1.2 branch)

john-he onscripter Chinese version, for Windows / PSP / Pocket PC

面包工坊ONScripter-CN的一部分代码应该是来源于早期的john-he中文化版本,见onslocale.h的头部。
当然我手头上存有的john-he源码版本都是2009年以前的,而ONScripter-CN的版本是2013年,
应该是重新又整合进去(已经改得面目全非)——所以可能只有两种中文化GBK版,
一个是john-he,一个是jh,也可能这俩其实本质上都是同一个源头同一个人搞出来的  
  • onscripter-20080121-zh04.tar.gz

psv-OnscripterJH / ONScripter-jh-PSVita

MiNE, ONScripter-CN (chonscripter ???), branch of ONScripter

月猫 (tukineko), for Java PDA (SHARP ZAURUS E21, KYOCERA PocketCosmo), closed source

mscripter, for Java midlet (closed source, like nscripter)

xnscripchan

onscripter-libretro

LONS

C&D Tools Win GUI

Nspire上的类ONS游戏引擎KuroScripter (with vc6 / win32 port)

onscripter-navy

fnscripter

onscripter-vita

吉里吉里2, kirikiri2

我找到用bcb6编译kirikiri2的tvpwin32.exe的方法了,
之前我编译它的核心代码tjs的时候发现它的tjsregexp是可以裁剪的,
所以bcb6在链接期报错时,只要添加TJS_NO_REGEXP定义
和删除TVP_REPORT_HW_EXCEPTION定义,跳过tjsRegExp.cpp的编译
(我的做法是用预编译注释掉),即可回避链接错误了 ​​​

吉里吉里Z, krkrz, kirikiriz

krkrsdl2

krkrsdl2的作者给了一个示例(基于网页版),用了一个data.xp3,
但我无论如何都解包不了里面的脚本文本(可以解出来,但乱码),
用krkrsdl2的linux版程序却可以正常显示。今天我查出原因,
可能是因为tjs和某些后缀文件是经过压缩的;tjs使用了
unicode而非utf8。所以如果要解包,就要走两步:
需要用一个支持xp3文本解压缩的解包器
(ExtractData不行,只能用cr);
接出来的文本需要用特殊的支持Unicode字符集的阅读器
(Notepad++也不行,我用的是bcomp)
吉里吉里とKAGの紹介, data same as krkrsdl2_v14_crash_fix.rar  
我看过krkrsdl2的官方发布版exe(现在发布包含了windows版),
但似乎还是跑不了它自己demo里面那个xp3,如果换其他xp3会出现字符集问题(它应该只支持unicode字符集)——好想自己编译一下。
我以前试过自己移植它到windows下(使用vs2013),如果能自己编译的话我希望顺便把它的安卓版也编译出来。当然目前只是打算,
应该没具体计划
(data same as krkrsdl2/krkrsdl2-kag3-demo) 
我看过krkrsdl2的官方发布版exe(现在发布包含了windows版),但似乎还是跑不了它自己demo里面那个xp3
(注:后来发现可以,需要解压Android同版本内的xp3文件),如果换其他xp3会出现字符集问题
(它应该只支持unicode字符集,也许有办法绕过去,或者改代码)——好想自己编译一下。我以前试过自己移植它到windows下
(使用vs2013),如果能自己编译的话我希望顺便把它的安卓版也编译出来。当然目前只是打算,应该没具体计划
krkrsdl2的android版运行效果如下。不可以直接安装,需要先用JDK命令行程序签名打包(我用的是keystore文件签名,也可以用jks文件),
例如这样:jarsigner -verbose -keystore mysign.keystore -signedjar krkrsdl2_o.apk krkrsdl2.apk mysign。
不能指定xp3文件,只能运行内置的xp3文件资源。应该安卓4以上的机器都支持
  • (TODO)cmake编译
我测试过xubuntu20下可以很顺利地用cmake编译krkrsdl2/krkrsdl2这个项目的linux版。方法类似于qmake:
(1)git clone --recursive(2)mkdir build; cd build; cmake ..; (3) make,
如果开8个线程编译的话需要4分钟左右,编译前900M,压缩360M(包括git本地),编译输出73M,从apk中提取的data.xp3是4.5M,
可以正常运行./krkrsdl2(我这里先复制到外面后再执行:
cp ./krkrsdl2 ../../krkrsdl2_releases; cd ../../krkrsdl2_releases;
然后下载releases页面里apk解压得到data.xp3,gh上的releases页面是隐藏的,
需要根据windows发布链接截取前面得到,发布链接在About右上角进入文档主页)
那么android版的krkrsdl2如何编译呢?我测试过xubuntu20也可以顺利编译出so动态库,方法和linux版类似
(1)先安装ndk,ndk的linux版可以单独下载解压,不需要装android studio或android sdk,
另外ndk不带cmake,所以我选择用xubuntu编译(2)也是类似qmake的用法,
和编译linux版的区别是需要加上一个-D开关指向一个cmake工具链文件,例如这样:
mkdir build; cd build; cmake -DCMAKE_TOOLCHAIN_FILE=/home/wmt/work_krkrsdl2/android-ndk-r26d/build/cmake/android.toolchain.cmake ..
(3)然后make,如果8线程编译,大概需要3分钟左右,如果遇到一个declaration-after-statment错误,
你需要修改external/SDL/CMakeList.txt,把里面的-Werror=declaration-after-statment注释掉,
这个错误是因为旧的标准C不支持声明放在语句后面,但新版支持(4)最后可以获得libmain.so和external/SDL/libSDL2.so这两个动态库,
未测试是否有问题
我测试过,用ADT编译krkrsdl2的Java部分,加入之前用cmake构建的so动态库文件两个,产生的apk包可以正常安装运行。
只是因为krkrsdl2使用的SDL2代码的Java部分对旧安卓是会编译失败的,所以我去除了这部分代码
  • search baiduapn, krkrsdl2_20240518_v1.tar.gz,linux版,krkrsdl2_releases_20240518_v1.tar.gz
  • search baidupan, krkrsdl2_20240518_v2.tar.gz,安卓版(也可以编译linux版),krkrsdl2_releases_20240518_v2.tar.gz
  • jarsigner, see krkrsdl2_o.apk
  • (data same as krkrsdl2/krkrsdl2-kag3-demo) extracted data (unicode script) and vs2013 self mod build, see krkrsdl2_v14_crash_fix.rar
  • linux (xubuntu) host cmake android build and linux build, android_ndk_build, krkrsdl2_20240518_v2.tar.gz, krkrsdl2_20240518_v1.tar.gz
  • linux host meson linux build (?not sure), see krkrsdl2_github_20220221_full.tar.gz, krkrsdl2_github_20220221_min.tar.gz
  • (dead) 教学 krkrz多平台 Kirikiri SDL2
    (dead) https://www.bilibili.com/read/cv25481294/

kirikiri3-legacy

KKDE

克里的KRKR脚本助手

  • ksa.demo.express.rar

habakiri, kirikirij, kirikiri2 java (for Android and PC)

kirikiroid2 (for Android and iOS)

KAS, KAS4PC (for Java and Android and PC, like kirikiri)

almight, html5 (like kirikiri, closed source)

NVLMaker

Artemis Engine, closed source

Artroid+

  • https://myskrpatch.tistory.com/82
  • search Artroid+_2.0.apk
  • remove all other files (if use Tyranor to patch, but it will make game broken),
  • only need root.pfs and root.pfs.000 two files (rename .pfs to root.pfs, and .pfs.000)
  • search morning.rar (only pfs)
  • search Tyranor.rar (only extract files, see Tyranor)

Tyranor

  • search Tyranor.apk
  • put game upder /mnt/sdcard/Tyranor, like /mnt/sdcard/Tyranor/morning
  • see Artroid+

KCDDP KAGeXpress 3.0

  • search 吉里吉里v2.0.exe
  • 吉里吉里v2.0.exe解压后:
    汉化版,仅汉化了krkr.eXe,其余打包工具没有汉化
    Wizard.exe: KCDPP KAGeXpress新工程向导

fantasydr/krkr-cs

RealLiveMax (closed source)

xclannad (originally for NetBSD/dreamcast?)

xkanon (originally for NetBSD/dreamcast?)

rlvm

planetarian ~the reverie of a little planet~_jp.7z  
planetarian ~the reverie of a little planet~.7z  
planetarian_steam_japanese.rar
planetarian_steam_english.rar
kanon_se_ori.rar  

waffle, わっふる, for powerpc (for very old powerpc mac osx os)

これはなに?  
よーするに、Visual Art's系のゲームで使われているAVG32用のスクリプトを、そのままMacintosh上で動かしてしまおーというものです。  
現在は、これを使うより、改良/Carbon化版の「くろこげ」などを使うほうが良いでしょう。  
通称「わっふる」 AVG32-like scriptor
ppc mac
https://github.com/search?q=PBSetEOFAsync+InitWindows&type=code
解压结果:avg32_all.zip
使用解压命令unar解压.sit.hqx文件
waffle引擎
(x) https://stuffit.com/#downloads
我考据过,实际上waffle引擎(AVG32)的源代码avg32-src-010701.sit.hqx可以用linux的unar命令解压(不需要额外参数,直接传双后缀的文件名),
应该和gh上的代码一致。而且这份开源代码似乎是对应ppc mac的,所以里面提到的API是特定于ppc mac平台的(类似于WIN32 API那样),
除非有类似的linux实现(应该没有)
sudo apt install macutils unar
macunpack  
hexbin
unar avg32-src-010701.sit.hqx  
  AVG32-like scriptor for Macintosh
  AVG32 for Mac (AVG32-like scriptor for Macintosh) document
  Copyright 2000-01, K.Takagi(Kenjo)
  use IDE CodeWarrior6
  MacOS 8.5 以上, MacOS 8.6 か OS 9, PowerPC G4を搭載したMacintosh
 - Kanonデモ(Key)
 - Kanon(Key)
 - Kanon全年齢対象版(Key)
 - AIRデモ(Key)
 - AIR(Key)
  - and etc  

AKANE, あかね, for PSP (?)

あかね for PSP Lite 20050729版 公開。  
 2005/07/30 /  2015/05/27  
PSPでTacticsのPCゲーム「ONE」をプレイする為の  
ソフト「あかね for PSP」がバージョンアップ。  
「ぼくだけのちいさな世界」
http://kimatten.hp.infoseek.co.jp/  

kurokoge, くろこげ (former name わっふる, use Carbon.framework instead)

avg2nsc
https://nyanonon.hatenablog.com/entries/2008/02/19#p2
https://nyanonon.hatenablog.com/entries/2006/04/18#p2
https://sirius10.net/blog/wordpress/index.php/2021/03/14/259/
asc016.zip
avg2nsc04.zip
可能有用的:测试游戏:参考:https://yun.cup.com/lggdemolist4.html
恋愛CHU!デモ(see baidupan)
https://sagapla.net/works/usoten/demo_rcxp.htm
https://sagapla.net/works/renchu/renchu_demo.htm
rcxp_demo.lzh
(see 115):
ススキノハラの約束
http://kur-mar-ter.product.co.jp/
ススキノハラの約束 GAME DISC.cue

ONScripter Launcher and Binary for Mac OS X  
https://tmkk.undo.jp/onscripter/  

BLESS on AVG32

patch -p1 < ../bless_avg32-rpi.patch  

rldev

RLdev is a basic RealLive development kit, containing an archiver/disassembler, a compiler, and a graphics conversion tool.  
Latest version: 1.40 (2006-6-22) - changelog.  
WARNING: this program is not really ready for public consumption. Proceed at your own risk.  

haeleth

  • haeleth.rar
  • Kurokoge
  • Majiro stuff
  • ONScripter
  • rldev
  • xclannad
  • xkanon

hkuczc (RealLive or something about, not sure)

(NOT FOUND and dead) th2wconv, wlk2ht.avd

aquaplus-sources, ToHeart 2 XRATED

http://e.ys168.com/?john-he
http://www.mint.la/aquaplus/browse/
http://neo-eclipse.forumotion.com/computer-s-zone-f19/source-code-game-game-leaf-aqua-plus-t86.htm
http://mcn.oops.jp/wiki/index.php?Software%20License%2FGPL%2FGPL%B0%E3%C8%BF
http://blog.yam.com/kctsang/article/5507230

xlvns, Leaf Visual Novel System for X (XLVNS)

mglvns (Leaf Visual Novel System for MGL2)

PS2版『ToHeart2』をP/ECE用にコンバートして実行『好き好きタマお姉ちゃん』

XMulti, X11 mascot based on gal-game "To Heart"

xsystem35, System35, System3

http://sidealice.blogbus.com/logs/144618.html
http://ms.mblogger.cn/af
http://sidealice.blogbus.com/logs/346778.html
http://sidealice.com/

System4 (closed source)

OpenRGSS (for Ruby)

2016-8-19 15:31 来自 微博 weibo.com,
昨天研究openrgss, 看代码以为可以运行rpgmaker xp的工程,但实际上最好运行vx的工程,
因为有个接口有区别(这个项目没有实现Tilemap的tileset属性,导致Spriteset_Map报错)。
更神奇的是,在网上找到某些版本的vx创建的工程会导致sdl报错,
只有某个版本的可以正常运行。
其实这个项目可以简单理解为把官方文档的接口描述用开源的方式实现出来。  

rpg2k, rpgmaker (for java)

  • search baidupan, rpg2kemu.7z

RPGMaker XP demo

  • search baidupan, AVG半精装版(修改版).rar
  • search baidupan, RPG制作大师XP V1.rar

openrpgmaker

Visual Novel Maker, VNMaker (for CoffeeScript and NW.js, like RPG Maker)

(TODO) OpenGame.exe (for CSharp)

rmxp4droid

Ancurio/mkxp

https://github.com/Ancurio/mkxp

weimingtom/rpg2kemuMod

https://github.com/weimingtom/rpg2kemuMod

rm20xx-android

https://code.google.com/archive/p/rm20xx-android/
https://github.com/weimingtom/rm20xx-android

zh99998/OpenRGSS-RPGMaker

https://github.com/zh99998/OpenRGSS-RPGMaker

rpg2kemu / rpg2k

EasyRPG/Player
https://github.com/EasyRPG/Player

take-cheeze/rpg2kemu

https://github.com/take-cheeze/rpg2kemu

take-cheeze/librpg2k

https://github.com/take-cheeze/librpg2k

take-cheeze/rpgtukuru-iphone

https://github.com/take-cheeze/rpgtukuru-iphone

cjv123/RPG

https://github.com/cjv123/RPG

nokscript

PSSSDK OpenTK

qixi2016 (for HTML5 and Unity)

novel-press, NovelPress (for Android, and PC???)

PGM, Pocket Game Maker (closed source, for Android ?)

Maid2

gocha (Lua, LuaBookSupport)

ADV-PROGRAM (for Cocos2d-x)

marika, FastFireFrame (for Java)

MyChar (for ActionScript3)

lanovee, らのべえ

tyranoscript

NovelEngine

erica (for C#)

NVList (for Java)

lip (for Flash, eye animation)

  • search baidupan, lip

etc (for flash, as3)

CatSystem2

ADV+++, adv_ppp

BKEngine

追忆 (closed source, for android)

crass

ExtractData

  • search baidupan, ExtractData120_src.7z

decompyle

ponkan (for js)

AVGMaker Portable, AMP, 白枫AMP, using NGE2 by 白枫, closed source

(TODO) GalgameDemo (for Unity)

恋愛シミュレーションツクール2, 恋爱游戏制作大师2

  • search baidupan and 115, 恋爱游戏制作大师2, 恋爱游戏创作大师2

Nova (for Unity)

Ren'Py (for Python)

Reitsuki

LemoNovel (for AS3, Flash)

AINE (for flash)

YU-RIS, yuris

引擎就是一个单文件,可换图标,自带打包工具,相当方便。  
并且一同提供 ERIS 脚本系统,包含很多默认脚本,比如 LOGO 显示,标题画面等等。  
YU-RIS 支持多项目,每个项目占用一个新文件夹。
除了脚本文件必须放在 script 目录下,cg、bgm 和 voice 目录可以自由设定。
另外 config 目录下的 projectconfig.txt 是项目配置文件,
用来设置游戏窗口标题、屏幕大小等等。
设置 SYSTEMMODE 为 DEBUGMODE=0 将会自动编译所有脚本并保存到 ysbin 目录。
而多个项目切换则由 yu-ris 下 system 目录的 ysconfig.txt 控制,
PROJECTFOLDER[PROJECTFOLDER="./sample"] 指定当前项目。
system 目录下,YSCom 脚本编译器会由引擎自动调用,DEBUG 时只会在内存中编译脚本。
YSArc 是打包工具。
yu-ris 会自动打开游戏目录下所有包,所以游戏数据可以分目录打包,也可以全部打成一个包。
脚本源代码不能在打包状态编译运行,只能编译到 ysbin 后将 ysbin 目录打包。
另外 YSIcon 工具可以给引擎程序更换图标。
YSOne 可以将数据包和引擎程序一体化。
至于 yu-ris 的中文汉化,大致分析了引擎代码,实现 GB2312 字符显示并不难。
但是 YSCom 脚本编译器只支持 Shift-JIS 编码,相当麻烦。
软件作者:たくみ 官网:http://yu-ris.net/
教程作者:御宅男(おたく/otaku)官网:http://larryli.yo2.cn/

EntisGLS

  • (origin) http://www.entis.jp/gls/
  • (TODO) download
  • (old) gls309a.lzh
  • (old etc) cotopha308f.lzh, eglmdv108.lzh, erisacvt105.lzh, in_mio.lzh, noa32v109.lzh, noaskin102e.lzh

Novelty

Monogatari

renjs

橙光

LiveMaker

PlaygroundOSS

sketch / ExHIBIT, retouch, sketchFE

Suika2

pymo (for Android / Symbian(S60) / Windows)

dxlib script_free.exe

avg-plus

kipgba (for GBA), 希望入りパン菓子

  • (origin) http://kaoriha.org/kip/
  • Visual Reading Story『希望入りパン菓子』はWindows用ソフトウェアです。体験版がGameBoy Advance上に移植されました。

yanSDK (yaneurao game script), YaneuraoGameSDK.NET, ygs2k (this is IMP?)

Yaneurao Game Script 2000 is a kind of language like a C.
But this is easy to learn, easy to program,faster than Visual Basic.
No development tool is necessary for making Game,without this script.
This is a FREEWARE, and a ROYALTIES FREE!!

vnds

INSTEAD - Simple Text Adventure Interpreter (with Lua)

Novelsphere

ISM

SYSTEM-NNN

KrkrExtract

KrkrzExtract

xp3viewer

xp3dumper

GARbro

web_maker

mjdev, tools for Majiro Engine

Majiro is yet another visual-novel-oriented scripting engine,  
used by companies such as SIESTA, NekoNeko Soft,  
and the R18 group (Beenyan, Candle, Haoh).  
MJDEV, an unofficial development toolkit for the Majiro virtual machine
  • mjdev.rar
    mjarc.exe, mjasm.exe, mjcrypt.exe, mjdisasm.exe, vaconv.exe and their src
  • majirospi.zip

VisualNovelUpscaler

galgametools

galgametools

Textractor

MisakaTranslator

yotsukiGameTextTools

LunaTranslator

ビジュアルノベル作成サイト

gbabook

simple pixel render study for Windows

ITH

ITH和ITHVNR在windows xp下拦截galgame日语文本(复制到剪贴板
实现翻译功能)的效果。
以前很常用的一个钩子提取日语文本软件,不过现在估计很少人用,
win11下会运行失败。我几乎没用过。现在有很多更先进的工具,
我觉得截图翻译也是可行的。怀旧用。
ITH需要VC2010运行时,ITHVNR则需要VC2013运行时。
ITHVNR多了一个unhook按钮,而且按钮内的对话框内容不同

ITHVNR

TAHelper

AGTH and Cp2Tran and etc

我好像记错了,其实ITH还有一个前驱者,叫AGTH,那个比ITH有名气得多
——或者准确说ITH只是弥补了AGTH有些游戏不适用的缺点,
基本上以前的人只会提及AGTH。还有一个比较有名的工具叫cp2tran,
它应该算是很多galgame翻译工具的前身。这些工具都是时泪,
不过就算是以前,我也很少用 ​​​  

Translation Aggregator

SteamDB

SteamDB有个没什么用的功能是可以根据游戏查游戏引擎,或者根据游戏引擎反查相关的galgame,
例如我找到这些引擎:水仙1+2的NScripter,
亚托莉Atri的KiriKiri(其实是krkrz),
龙姬混日子的YU-RIS,
片轮少女的RenPy,
ISLAND的CatSystem2,
不过有些游戏的引擎没识别出来(没收录引擎),
例如星之梦planetarian

Susie, .spi plugin image converter

RPGViewer and Extractor

  • May be not good, only for fun (?)
  • Used to see images

UmierTools

  • my windows homebrew tool
  • binary, umier_tool.rar
  • source, UmierTools.7z

ADV+++, YOX-ADV, Yox-ADV

(most dead very long time before) あどべんちゃーげーむをつくろう! ScriptPlayer, and etc dead

ADVRUN

GameBookViewer

HSP3 (former name: HSP)

JAVA Novel, JAVA Novel アドベンチャー Ex

Live Maker

Malie

SNEC

Sutear(?)

Win Book Maker, SuiHac's OnlineSoft Gallery

XEVNIS

Yuuki! Novel

シナリオくん

TLWiki

rUGP

  • rUGP54010_beta_half.exe
  • (TODO, where???)

(?maybe should not put here) Ruby

RGSS

  • nockyzhqy新人学RGSS大集合114799195.rar
  • RMXP入门教学手册+RGSS入门.rar
  • RPGXP完全教学chm.rar
  • TutorialCicloGiorno-NotteperRPGMakerXP.zip

Comic Maker

BladeEngine