- Joined
- Apr 20, 2014
- Messages
- 10
- Reaction score
- 11
- First Language
- English
- Primarily Uses
Hi all. I was googling around for ways to better support version control & collaboration of RPG Maker VX Ace projects (see http://forums.rpgmakerweb.com/index.php?/topic/2166-version-control-rpg-maker-boom/ for an example of why this is hard). For those of you with experience managing teams on software projects, you will know that RPG Maker's "binary blob" dataformat makes collaboration a real pain in the neck.
I then stumbled onto SiCrane's utility on the GameDev forums (http://www.gamedev.net/topic/646333-rpg-maker-vx-ace-data-conversion-utility/), which does exactly that. I hadn't seen anything like this packaged up nicely for RPG Maker yet (I was thrilled to find it at all - I was about to write my own). So I gave the tool's CLI a facelift, and put it up on github.
https://github.com/akesterson/rvpacker
From the readme:
--------
rvpacker
A tool to unpack & pack rvdata2 files into text so they can be version controlled & collaborated on
Credit to SiCrane
These are copied/lifted/modified from SiCrane's original YAML importer/exporter on the gamedev forums. I initially just put them in github so I wouldn't lose them, and added the rvpacker script frontend.
http://www.gamedev.net/topic/646333-rpg-maker-vx-ace-data-conversion-utility/
Usage
This is a command line utility written in ruby; it should run anywhere with Ruby 1.9 or higher with psych 2.0.0 and trollop gems.
$ ./rvpacker.rb --helpOptions: --action, -a <s>: Action to perform on project (unpack|pack) --project, -d <s>: RPG Maker Project directory --force, -f: Update target even when source is older than target --project-type, -t <s>: Project type (vx|ace|xp) --help, -h: Show this message
For example, to unpack a RPG Maker VX Ace project in ~/Documents/RPGVXAce/Project1:
rvpacker.rb --action unpack --project ~/Documents/RPGVXAce/Project1 --project-type ace... This will expand all Data/*rvdata2 files into (PROJECT)/YAML/ as YAML files (YAML is used because the object serialization data is retained, which ruby's YAML parser is very good at - otherwise I would have changed it to JSON). The Scripts will be unpacked as individual .rb files into (PROJECT)/Scripts/.
To take a previously unpacked project, and pack it back up:
rvpacker.rb --action pack --project ~/Documents/RPGVXAce/Project1 --project-type ace... This will take all of the yaml files in (PROJECT)/YAML and all the scripts in (PROJECT)/Scripts, and repack all of your (PROJECT)/*rvdata2 files. You can trust this to completely reassemble your Data/ directory, so long as the Scripts/ and YAML/ directories remain intact.
Workflow
This is great for teams that are collaborating on an RPG Maker project. Just add a few steps to your existing workflow:
I then stumbled onto SiCrane's utility on the GameDev forums (http://www.gamedev.net/topic/646333-rpg-maker-vx-ace-data-conversion-utility/), which does exactly that. I hadn't seen anything like this packaged up nicely for RPG Maker yet (I was thrilled to find it at all - I was about to write my own). So I gave the tool's CLI a facelift, and put it up on github.
https://github.com/akesterson/rvpacker
From the readme:
--------
rvpacker
A tool to unpack & pack rvdata2 files into text so they can be version controlled & collaborated on
Credit to SiCrane
These are copied/lifted/modified from SiCrane's original YAML importer/exporter on the gamedev forums. I initially just put them in github so I wouldn't lose them, and added the rvpacker script frontend.
http://www.gamedev.net/topic/646333-rpg-maker-vx-ace-data-conversion-utility/
Usage
This is a command line utility written in ruby; it should run anywhere with Ruby 1.9 or higher with psych 2.0.0 and trollop gems.
$ ./rvpacker.rb --helpOptions: --action, -a <s>: Action to perform on project (unpack|pack) --project, -d <s>: RPG Maker Project directory --force, -f: Update target even when source is older than target --project-type, -t <s>: Project type (vx|ace|xp) --help, -h: Show this message
For example, to unpack a RPG Maker VX Ace project in ~/Documents/RPGVXAce/Project1:
rvpacker.rb --action unpack --project ~/Documents/RPGVXAce/Project1 --project-type ace... This will expand all Data/*rvdata2 files into (PROJECT)/YAML/ as YAML files (YAML is used because the object serialization data is retained, which ruby's YAML parser is very good at - otherwise I would have changed it to JSON). The Scripts will be unpacked as individual .rb files into (PROJECT)/Scripts/.
To take a previously unpacked project, and pack it back up:
rvpacker.rb --action pack --project ~/Documents/RPGVXAce/Project1 --project-type ace... This will take all of the yaml files in (PROJECT)/YAML and all the scripts in (PROJECT)/Scripts, and repack all of your (PROJECT)/*rvdata2 files. You can trust this to completely reassemble your Data/ directory, so long as the Scripts/ and YAML/ directories remain intact.
Workflow
This is great for teams that are collaborating on an RPG Maker project. Just add a few steps to your existing workflow:
- Checkout the project from version control
- Run 'rvpacker.rb --action pack' on the project to repack it for the RPG Maker tool
- Load up RPG Maker and do whatever you're going to do; save the project
- Run 'rvpacker.rb --action unpack' on the project
- Commit everything to version control (ignore the Data directory since you don't need it anymore; use .gitignore or .hgignore or whatever)
Last edited by a moderator:


